作者:howie楊 在生活中,我們會(huì)依靠經(jīng)驗(yàn)來(lái)處理大量的事情,而形成經(jīng)驗(yàn)就需要通過(guò)大量的實(shí)踐,總結(jié)出事物的重要特征和結(jié)果之間的規(guī)律。 比如,我們經(jīng)常會(huì)去超市,在選購(gòu)水果時(shí),會(huì)通過(guò)顏色、形狀等特征對(duì)水果口味進(jìn)行預(yù)判。 那么,我們是怎樣具備的這種預(yù)判經(jīng)驗(yàn)?zāi)兀?/span> 正是由于我們?cè)谏钪衅穱L水果時(shí),不斷積累與發(fā)現(xiàn)的水果的顏色、形狀等特征與口味之間的對(duì)應(yīng)規(guī)律——例如全紅色的蘋果會(huì)比半青色半紅色的要甜一些。 同樣,為了能夠更好的完成工作,我們也需要不斷從實(shí)踐中總結(jié)各種業(yè)務(wù)規(guī)律。 例如,在電商平臺(tái)的用戶購(gòu)物場(chǎng)景中,為了能夠增加用戶的購(gòu)買金額,運(yùn)營(yíng)人員需要設(shè)置為用戶推薦的關(guān)聯(lián)購(gòu)買商品。 此時(shí),為了使推薦出的商品得到最大的轉(zhuǎn)化率,需要運(yùn)營(yíng)人員分析歷史訂單數(shù)據(jù),從中找出商品關(guān)聯(lián)購(gòu)買的規(guī)律。 但是,人工尋找并分析出每一個(gè)商品的關(guān)聯(lián)規(guī)律,并不是一件容易的事情,需要消耗大量的時(shí)間與人力;并且隨著商品不斷推出新款,市場(chǎng)中商品流行趨勢(shì)的變化等因素影響,已經(jīng)形成的規(guī)律也需要不斷進(jìn)行及時(shí)的調(diào)整更新。 那有沒(méi)有辦法,讓計(jì)算機(jī)為我們做類似這樣的總結(jié)規(guī)律的工作呢? 這個(gè)答案正是機(jī)器學(xué)習(xí)技術(shù)。 一、機(jī)器學(xué)習(xí)是什么?可以將機(jī)器學(xué)習(xí)理解為:讓機(jī)器從大量的數(shù)據(jù)中自行尋找潛在規(guī)律,并應(yīng)用此規(guī)律來(lái)識(shí)別或預(yù)測(cè)新的數(shù)據(jù)。 機(jī)器學(xué)習(xí)所取得的成果稱為模型,這個(gè)模型類似于傳統(tǒng)產(chǎn)品開(kāi)發(fā)出的后臺(tái)服務(wù)程序,在實(shí)際使用中也是通過(guò)前端程序獲取輸入數(shù)據(jù),經(jīng)過(guò)模型處理后輸出結(jié)果。只不過(guò),研發(fā)這個(gè)模型的過(guò)程變化了。 研發(fā)模型并不是通過(guò)研發(fā)工程師編寫而成,也不需要提供嚴(yán)密的業(yè)務(wù)邏輯與判斷流程文檔,而是通過(guò)訓(xùn)練機(jī)器學(xué)習(xí)模型完成。 圖1 機(jī)器學(xué)習(xí)模型 在開(kāi)始訓(xùn)練機(jī)器模型前,必須先為模型準(zhǔn)備一個(gè)唯一的任務(wù)目標(biāo),因?yàn)橐粋€(gè)模型只能完成一個(gè)任務(wù)目標(biāo);然后進(jìn)入訓(xùn)練機(jī)器學(xué)習(xí)模型的三個(gè)步驟,如圖1。 第一步,根據(jù)任務(wù)目標(biāo)確定算法 關(guān)于算法方面,最為主要的算法類型有分類算法、回歸算法和聚類算法等,不同的算法類型可以解決不同的業(yè)務(wù)問(wèn)題。 例如:
算法類型下會(huì)很多種有不同的具體算法。 例如分類算法下會(huì)有K鄰近、樸素貝葉斯、隨機(jī)森林等,不同的算法在完成同一的任務(wù)目標(biāo)的訓(xùn)練和應(yīng)用時(shí),會(huì)體現(xiàn)出不同的特性——這里所說(shuō)的特性,包括訓(xùn)練與應(yīng)用需要消耗的計(jì)算資源/存儲(chǔ)資源、應(yīng)用的準(zhǔn)確性等方面。 第二步,根據(jù)算法的學(xué)習(xí)方式準(zhǔn)備好數(shù)據(jù) 這里所說(shuō)的學(xué)習(xí)方式主要有三類:有監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)。 但在講解學(xué)習(xí)方式之前,需要先了解幾個(gè)概念: 訓(xùn)練樣本 是指為訓(xùn)練機(jī)器學(xué)習(xí)模型所需要準(zhǔn)備的數(shù)據(jù),這里的數(shù)據(jù)可以是圖片、文本或是表格數(shù)據(jù)等。如圖2,是預(yù)測(cè)芒果口味的訓(xùn)練樣本數(shù)據(jù)。 特征 就是樣本數(shù)據(jù)的屬性,如圖2中包含兩個(gè)特征[顏色、大小]。 這里需要強(qiáng)調(diào)的是:在機(jī)器學(xué)習(xí)過(guò)程中,選擇特征是一項(xiàng)非常重要的工作,通常是由在目標(biāo)業(yè)務(wù)領(lǐng)域中有較多經(jīng)驗(yàn)的人參與,并且過(guò)程中需要發(fā)揮很多智力行為——因?yàn)樘卣鬟x擇的好壞直接決定最終模型的好壞。 例如上面的案例中,如果增加包裝類型的屬性,也許就與芒果口味的關(guān)系不大了。 類似增加這種無(wú)關(guān)或相關(guān)性非常低的特征,不但需要投入更多的計(jì)算資源,而且還可能對(duì)訓(xùn)練的模型產(chǎn)生干擾。 特征值 就是樣本數(shù)據(jù)對(duì)應(yīng)特征的參數(shù)值。 標(biāo)記 可以理解為樣本數(shù)據(jù)的結(jié)果,是機(jī)器學(xué)習(xí)模型將要預(yù)測(cè)的目標(biāo)數(shù)據(jù)。如圖2,口味便是標(biāo)記項(xiàng)。 圖2 樣本數(shù)據(jù) 接下來(lái)講解三種學(xué)習(xí)方式,這三種方式的區(qū)別在于訓(xùn)練樣本中是否會(huì)包含標(biāo)記值。 有監(jiān)督學(xué)習(xí) 是指訓(xùn)練樣本中的所有樣本數(shù)據(jù)都包含標(biāo)記值的學(xué)習(xí)方式。這種方式將學(xué)習(xí)到特征值與標(biāo)記值之間的對(duì)應(yīng)規(guī)律。 在很多情況下,樣本數(shù)據(jù)的標(biāo)記值是由人工標(biāo)記的,例如在準(zhǔn)備語(yǔ)音識(shí)別訓(xùn)練樣本時(shí),是由人工標(biāo)記的文本信息。 因此也不難看出,為了得到帶有標(biāo)記值的樣本數(shù)據(jù),是需要付出大量的人工處理工作。 無(wú)監(jiān)督學(xué)習(xí) 是指訓(xùn)練樣本中的所有樣本數(shù)據(jù)都不包含標(biāo)記值的學(xué)習(xí)方式。 當(dāng)需要了解一組數(shù)據(jù)存在的分組關(guān)系時(shí),便可以用到無(wú)監(jiān)督學(xué)習(xí)。 半監(jiān)督學(xué)習(xí) 是指訓(xùn)練樣本中只有部分樣本數(shù)據(jù)包含標(biāo)記值的學(xué)習(xí)方式。 當(dāng)沒(méi)有足夠人力標(biāo)記所有的樣本數(shù)據(jù),并且稍稍降低對(duì)模型預(yù)測(cè)精度的要求時(shí),便可以使用半監(jiān)督學(xué)習(xí)。 相比無(wú)監(jiān)督學(xué)習(xí)會(huì)有較高的精度,相比有監(jiān)督學(xué)習(xí)可以大幅降低人工標(biāo)記成本。 例如,在擁有上百萬(wàn)篇文章資訊類的網(wǎng)站中進(jìn)行文章分類標(biāo)記,便可以采用半監(jiān)督學(xué)習(xí),只需要對(duì)訓(xùn)練樣本進(jìn)行少量的人工標(biāo)注處理,便可以得到較高精度的分類結(jié)果。 第三步,使用訓(xùn)練樣本數(shù)據(jù)與算法進(jìn)行模型的訓(xùn)練 本步驟首先需要由AI工程師進(jìn)行算法的參數(shù)設(shè)置,之后進(jìn)入機(jī)器自我訓(xùn)練的過(guò)程;該過(guò)程可能會(huì)需要很長(zhǎng)時(shí)間,甚至是幾天時(shí)間。 這個(gè)步驟需要注意三點(diǎn):
到現(xiàn)在為止,我們通過(guò)訓(xùn)練得到了一個(gè)機(jī)器學(xué)習(xí)模型,該模型可以嵌入到前端程序中用于識(shí)別或預(yù)測(cè)任務(wù)。 上文說(shuō)過(guò),不同的算法類型能夠解決不同類型的問(wèn)題,而入門機(jī)器學(xué)習(xí)最多被提及的算法類型有分類算法、回歸算法與聚類算法,那么下面就詳細(xì)講解這三種算法類型。 二、機(jī)器學(xué)習(xí)中的分類、回歸與聚類1. 分類算法分類算法是一種有監(jiān)督學(xué)習(xí),目標(biāo)是學(xué)習(xí)到訓(xùn)練樣本數(shù)據(jù)中多個(gè)特征值與標(biāo)記值的對(duì)應(yīng)規(guī)律,訓(xùn)練出模型稱為分類器;使用訓(xùn)練好的分類器,輸入新數(shù)據(jù)的全部特征值時(shí),輸出識(shí)別或預(yù)測(cè)的結(jié)果。 這里所說(shuō)的識(shí)別與預(yù)測(cè),對(duì)于算法模型來(lái)說(shuō)并沒(méi)有實(shí)質(zhì)上的區(qū)別,僅是在實(shí)際使用分類器時(shí),描述業(yè)務(wù)目標(biāo)的方式不同——識(shí)別更強(qiáng)調(diào)對(duì)當(dāng)前信息的辨認(rèn),而預(yù)測(cè)更強(qiáng)調(diào)對(duì)尚未發(fā)生的事情的推測(cè)。 分類算法分為二分類與多分類。 二分類的意思是結(jié)果會(huì)包含正類與反類,比如當(dāng)前任務(wù)是識(shí)別出貓的圖片,那么貓的圖片就為正類,其他圖片就為反類。 多分類可以完成多種類型的識(shí)別,例如在識(shí)別新聞文章類型時(shí),多分類分類器可以識(shí)別出文章屬于經(jīng)濟(jì)、娛樂(lè)、體育等多種類型中的一個(gè)或多個(gè)類型。 通常情況下可以使用多個(gè)二分類分類器的方式實(shí)現(xiàn),這時(shí)先對(duì)問(wèn)題進(jìn)行拆分,然后為拆出的每個(gè)二分類任務(wù)訓(xùn)練一個(gè)分類器。 例如上面的新聞分類例子中,可以拆解為三個(gè)分類器:經(jīng)濟(jì)類型分類器、娛樂(lè)類型分類器、體育類型分類器,其中每一個(gè)分類器都包含一個(gè)正類與一個(gè)反類。 下面講解一個(gè)二分類在業(yè)務(wù)中的應(yīng)用示例。 案例: 一家汽車銷售公司,擁有完備的客戶歷史消費(fèi)和潛在客戶詳細(xì)資料數(shù)據(jù)庫(kù)?,F(xiàn)公司準(zhǔn)備舉辦一次汽車促銷活動(dòng)。為了能夠提升本次促銷活動(dòng)的銷售量,公司準(zhǔn)備為潛在客戶寄送一份精美的汽車銷售材料和一份禮品。但活動(dòng)經(jīng)費(fèi)有限,僅能寄送給1000名潛在客戶。 任務(wù)目標(biāo):選出1000名寄送資料與禮品的潛在客戶,并盡可能最大化這些潛在客戶的購(gòu)買轉(zhuǎn)化率。 應(yīng)用分類算法:
2. 回歸算法回歸算法是一種有監(jiān)督學(xué)習(xí),學(xué)習(xí)目標(biāo)與分類算法相同,也將學(xué)習(xí)到訓(xùn)練樣本數(shù)據(jù)中多個(gè)特征值與標(biāo)記值的對(duì)應(yīng)規(guī)律。 使用訓(xùn)練好的回歸模型,可以對(duì)已知數(shù)據(jù)的未知參數(shù)進(jìn)行估算,在業(yè)務(wù)上可用于對(duì)特定參數(shù)進(jìn)行預(yù)測(cè)。例如:預(yù)測(cè)電影票房、預(yù)測(cè)車流量、預(yù)測(cè)天氣污染指數(shù)、預(yù)測(cè)產(chǎn)品銷量等。 回歸算法與分類算法有一定區(qū)別: 分類算法可以對(duì)數(shù)據(jù)的某個(gè)屬性類別進(jìn)行預(yù)判,這個(gè)類別是由有限個(gè)類型組成。 而回歸可以對(duì)數(shù)據(jù)的某個(gè)參數(shù)值進(jìn)行預(yù)測(cè),這個(gè)參數(shù)值是連續(xù)型的數(shù)值,因此有無(wú)限可能性。 下面講解一個(gè)應(yīng)用回歸算法預(yù)測(cè)電影票房的示例。 案例: 一家媒體機(jī)構(gòu)希望對(duì)一部即將上映的電影進(jìn)行票房預(yù)測(cè)。該媒體已經(jīng)收集過(guò)眾多電影詳細(xì)資料與歷史的票房數(shù)據(jù),數(shù)據(jù)字段包括:電影名稱、題材、內(nèi)容、導(dǎo)演、演員、編輯、發(fā)行方、票房金額等等。 任務(wù)目標(biāo):收集相關(guān)信息并預(yù)測(cè)即將上映的電影票房數(shù)值。 應(yīng)用回歸算法:
3. 聚類算法聚類算法是一種無(wú)監(jiān)督學(xué)習(xí),可以挖掘到樣本數(shù)據(jù)的特征值的潛在相關(guān)性,將具有類似特征值的數(shù)據(jù)進(jìn)行分組。因此,聚類算法可以被用作知識(shí)發(fā)現(xiàn)使用,也被稱為探索性數(shù)據(jù)分析方法。 該算法常被用于市場(chǎng)研究、用戶分組、用戶畫像等分析過(guò)程。 聚類算法與前兩類算法不相同,訓(xùn)練模型時(shí)的樣本數(shù)據(jù)中并不包含標(biāo)記,所以就不能具備對(duì)特定屬性進(jìn)行預(yù)測(cè)的能力。 使用聚類算法時(shí),可以劃分為指定的分組數(shù)目,也可以不確定具體分組數(shù)目;如果不確定分組數(shù)量時(shí),算法會(huì)根據(jù)自身特性計(jì)算出最合適的分組數(shù)目。 劃分好分組后,使用者可以分析分組中的數(shù)據(jù),研究算法劃分的具體原因。 下面講解一個(gè)應(yīng)用聚類算法進(jìn)行市場(chǎng)研究的示例。 案例: 一家筆記本電腦制造公司,準(zhǔn)備研發(fā)一款新型筆記本電腦。現(xiàn)在進(jìn)行初期的市場(chǎng)研究工作,希望能夠根據(jù)市場(chǎng)中筆記本產(chǎn)品的配置、價(jià)格及銷售情況,指導(dǎo)新款筆記本的研發(fā)與市場(chǎng)定價(jià)。 任務(wù)目標(biāo):挖掘出市場(chǎng)中銷售量較高的筆記本產(chǎn)品具有配置特點(diǎn),并找出不同配置類型的定價(jià)情況。 應(yīng)用聚類算法:
三、小結(jié)本篇為讀者首先介紹了機(jī)器學(xué)習(xí)技術(shù),從大量的數(shù)據(jù)中自行尋找潛在規(guī)律,并應(yīng)用此規(guī)律來(lái)識(shí)別或預(yù)測(cè)新數(shù)據(jù)的技術(shù)。 第二,介紹了機(jī)器學(xué)習(xí)模型的訓(xùn)練過(guò)程:確定算法、準(zhǔn)備數(shù)據(jù)、訓(xùn)練模型。 第三,介紹了機(jī)器學(xué)習(xí)面向業(yè)務(wù)使用中最重要的三個(gè)算法:分類算法、回歸算法與聚類算法。 本文通過(guò)示例的方法幫助讀者入門機(jī)器學(xué)習(xí)算法。但真實(shí)案例中肯定不會(huì)這么簡(jiǎn)單,通常情況下特征項(xiàng)都會(huì)超過(guò)10萬(wàn)個(gè),還需要考慮樣本數(shù)據(jù)對(duì)最終模型可能產(chǎn)生的影響等。 因此,讀者首先要從示例中理解不同的算法能夠解決什么樣的問(wèn)題,然后在深入學(xué)習(xí)機(jī)器學(xué)習(xí)相關(guān)的數(shù)據(jù)預(yù)處理、特征工程、算法調(diào)參、性能評(píng)估等知識(shí)。 產(chǎn)品經(jīng)理需要深入學(xué)習(xí)相關(guān)技術(shù)知識(shí)么? 筆者認(rèn)為:需要根據(jù)實(shí)際應(yīng)用程度進(jìn)行一定程度的深入學(xué)習(xí),原因有以下三點(diǎn):
作者:howie楊 |
|