AI產(chǎn)品經(jīng)理的入門(mén)必修課(2)——實(shí)戰(zhàn)篇
導(dǎo)語(yǔ):上一篇文章里簡(jiǎn)單介紹了AI產(chǎn)品經(jīng)理需要具備的能力和對(duì)數(shù)據(jù)、算法需要理解的程度;本篇計(jì)劃介紹一下機(jī)器學(xué)習(xí)的實(shí)際訓(xùn)練過(guò)程,來(lái)進(jìn)一步的理解AI產(chǎn)品在日常工作中需要關(guān)注的內(nèi)容。我們一起來(lái)了解一下。
現(xiàn)簡(jiǎn)單的將訓(xùn)練流程劃分為:定位要解決的任務(wù)類(lèi)型 -> 選擇合適的算法模型 -> 準(zhǔn)備數(shù)據(jù)集 -> 訓(xùn)練模型 -> 調(diào)整參數(shù) -> 模型評(píng)估及驗(yàn)收。
一、根據(jù)場(chǎng)景定位要解決的任務(wù)類(lèi)型
結(jié)合不同的應(yīng)用場(chǎng)景,機(jī)器學(xué)習(xí)核心解決的任務(wù)類(lèi)型可以簡(jiǎn)單歸納為分類(lèi)問(wèn)題、回歸問(wèn)題、聚類(lèi)問(wèn)題、時(shí)間序列問(wèn)題。
1. 分類(lèi)問(wèn)題
原理:根據(jù)樣本特征提前定義好數(shù)據(jù)的分類(lèi),把具有相同特征的數(shù)據(jù)點(diǎn)落到提前定義好的類(lèi)別標(biāo)簽上完成分類(lèi)。
特點(diǎn):數(shù)據(jù)樣本有標(biāo)簽。
應(yīng)用場(chǎng)景:人臉識(shí)別、垃圾郵件檢測(cè)、圖像識(shí)別、信用卡評(píng)估…
2. 回歸問(wèn)題
原理:通過(guò)歷史數(shù)據(jù)的表現(xiàn),擬合成一個(gè)目標(biāo)函數(shù),利用誤差分析方法去確定擬合后表現(xiàn)最好的函數(shù)。
特點(diǎn):數(shù)據(jù)是相互獨(dú)立的點(diǎn),且有對(duì)應(yīng)標(biāo)簽。
應(yīng)用場(chǎng)景:預(yù)估業(yè)務(wù)增量、房?jī)r(jià)增長(zhǎng)、股票增長(zhǎng)…
3. 聚類(lèi)問(wèn)題
原理:不需要提前去定義期望的數(shù)據(jù)需要怎樣劃分,根據(jù)樣本特征的距離去決定分類(lèi),保持最小的組內(nèi)相似。
特點(diǎn):數(shù)據(jù)樣本無(wú)標(biāo)簽,不需要提前去定義期望的數(shù)據(jù)需要怎樣劃分,根據(jù)樣本特征的距離去決定分類(lèi),保持最小的組內(nèi)相似。
應(yīng)用場(chǎng)景:用戶(hù)分群、商品聚類(lèi)…
4. 時(shí)間序列問(wèn)題
原理:與回歸的邏輯相似,但對(duì)數(shù)據(jù)的要求不一樣,數(shù)據(jù)按照時(shí)間順序排列,根據(jù)相等間隔的時(shí)間段的數(shù)據(jù)表現(xiàn)規(guī)律去預(yù)估未來(lái)的表現(xiàn)。
特點(diǎn):數(shù)據(jù)點(diǎn)之間彼此相關(guān)。
應(yīng)用場(chǎng)景:需要進(jìn)行周期性預(yù)測(cè)類(lèi)的場(chǎng)景。
二、選擇合適的算法模型
根據(jù)不同任務(wù)類(lèi)型選擇合適的算法模型,如果要解決的是分類(lèi)問(wèn)題,即對(duì)應(yīng)的要選擇擅長(zhǎng)處理分類(lèi)問(wèn)題的算法模型,選擇合適的模型可以提高數(shù)據(jù)訓(xùn)練的效率。
通常選擇什么樣的算法是由算法工程師主導(dǎo)的,產(chǎn)品經(jīng)理只需要簡(jiǎn)單理解所解決的問(wèn)題范圍即可。
scikit-learn上支持的分類(lèi)算法:
- 樸素貝葉斯分類(lèi)器(Naive Bayes)
- K近鄰分類(lèi)器(KNeighbors Classifier)
- 決策樹(shù)(Decision Tree)
- 支持向量機(jī)(SVC)
- 線(xiàn)性支持向量機(jī)(Linear SVC)
- 隨機(jī)梯度下降分類(lèi)器(SGD Classifier)
- 核估計(jì)(kernel approximation)
- 集成分類(lèi)器(EnsembleClassifiers)
要解決聚類(lèi)的問(wèn)題,如用戶(hù)分群,可以選擇聚類(lèi)的算法模型。
scikit-learn上支持的聚類(lèi)算法:
- K均值(KMeans)
- 譜聚類(lèi)(Spectral Clustering)
- GMM – 高斯混合模型
- MeanShift
- VBGMM
- MiniBatch KMeans
如果要依賴(lài)趨勢(shì)做數(shù)值預(yù)測(cè),如業(yè)務(wù)量增長(zhǎng),可以選擇回歸算法模型。
scikit-learn上支持的回歸算法:
- 貝葉斯嶺回歸
- Logistic回歸
- 支持向量機(jī)回歸
- 決策樹(shù)回歸
- LASSO
- 隨機(jī)梯度下降回歸(SGD Regressor)
三、準(zhǔn)備數(shù)據(jù)集
準(zhǔn)備數(shù)據(jù)集包含了數(shù)據(jù)處理、特征提取、訓(xùn)練集、測(cè)試集的分割。
1. 數(shù)據(jù)預(yù)處理
通常來(lái)說(shuō),我們收集上來(lái)的數(shù)據(jù)來(lái)源比較多,可能會(huì)存在一些問(wèn)題,例如數(shù)據(jù)缺失、數(shù)據(jù)格式不一致、數(shù)據(jù)集分布不均勻、數(shù)據(jù)重復(fù)等問(wèn)題,因此需要進(jìn)行數(shù)據(jù)的預(yù)處理。
不同問(wèn)題的處理方式:
- 數(shù)據(jù)缺失:如果數(shù)據(jù)缺失占比不大,可以把有缺失的數(shù)據(jù)進(jìn)行刪除,若本身數(shù)據(jù)量級(jí)就不是很多,可以進(jìn)行人工填補(bǔ),通常經(jīng)過(guò)經(jīng)驗(yàn)填補(bǔ)或者均值填補(bǔ)。
- 數(shù)據(jù)格式不統(tǒng)一/量綱不統(tǒng)一:進(jìn)行格式轉(zhuǎn)化,數(shù)據(jù)歸一化處理。
- 數(shù)據(jù)分布不均勻:可以根據(jù)樣本分布特點(diǎn)進(jìn)行隨機(jī)重復(fù)采樣,以補(bǔ)充數(shù)據(jù)量少的分布,但容易丟失重要特征。
2. 特征提取
在機(jī)器學(xué)習(xí)的訓(xùn)練中,需要將業(yè)務(wù)維度相關(guān)的數(shù)據(jù)進(jìn)行向量轉(zhuǎn)化,解決部分復(fù)雜問(wèn)題時(shí),如果維度較多在轉(zhuǎn)化過(guò)程中很容易造成大量的計(jì)算資源的消耗,一般會(huì)先進(jìn)行特征的提取,也就是常說(shuō)的特征工程,來(lái)進(jìn)行維度的簡(jiǎn)化。
常用的方法是主成分分析,原理是將兩個(gè)或幾個(gè)獨(dú)立的特征組合到一起形成一個(gè)特征;利用這種方式進(jìn)行降維,使訓(xùn)練的維度減少,提高訓(xùn)練效率。
3. 訓(xùn)練集、測(cè)試集的分割
在機(jī)器學(xué)習(xí)模型訓(xùn)練之前,通常要進(jìn)行數(shù)據(jù)的分割,常用的有1/4分割、1/10分割,具體需要根據(jù)自己的數(shù)據(jù)樣本量去拆分。
四、訓(xùn)練模型 & 調(diào)整參數(shù)
準(zhǔn)備好數(shù)據(jù)集,確定了要使用的算法,下一步要進(jìn)行具體的模型訓(xùn)練;上一篇文章中我們提到機(jī)器學(xué)習(xí)模型訓(xùn)練中經(jīng)常遇到的兩個(gè)問(wèn)題,過(guò)擬合和欠擬合。
1. 過(guò)擬合
特點(diǎn):在訓(xùn)練集上表現(xiàn)非常好,但是在測(cè)試數(shù)據(jù)或者驗(yàn)證數(shù)據(jù)上表現(xiàn)很差,說(shuō)明模型缺失泛化能力。
原因:訓(xùn)練數(shù)據(jù)太少或者學(xué)習(xí)后的模型過(guò)于復(fù)雜。
解決方法:增加訓(xùn)練樣本,或者減少數(shù)據(jù)維度,或者為模型添加一個(gè)正則項(xiàng)來(lái)擴(kuò)大模型在訓(xùn)練上的誤差。
2. 欠擬合
特點(diǎn):在訓(xùn)練集上表現(xiàn)不好,在測(cè)試數(shù)據(jù)上表現(xiàn)也不好。
原因:維度較少擬合的函數(shù)不足以表達(dá)數(shù)據(jù)規(guī)律。
解決方法:補(bǔ)充維度增加模型的復(fù)雜程度。
圖上是線(xiàn)性回歸模型表現(xiàn)出的三種狀態(tài),中間圖為模型訓(xùn)練好后該具備的樣子;紫色線(xiàn)為模型訓(xùn)練好后擬合出的函數(shù),綠色線(xiàn)為真實(shí)數(shù)據(jù)該擬合出的函數(shù),點(diǎn)代表樣本數(shù)據(jù)。
3. 參數(shù)調(diào)整
針對(duì)調(diào)參的環(huán)節(jié),一般會(huì)通過(guò)交叉驗(yàn)證來(lái)確定最優(yōu)參數(shù)。當(dāng)然,一些對(duì)模型訓(xùn)練做的比較多的算法大牛,也會(huì)根據(jù)自己的經(jīng)驗(yàn)去指定參數(shù)進(jìn)行算法調(diào)優(yōu)。
以KNN算法為例:
最簡(jiǎn)單的方式:K=1、2、3,然后分別進(jìn)行實(shí)驗(yàn),對(duì)比結(jié)果,選擇最優(yōu)參數(shù)。
交叉驗(yàn)證:將一部分?jǐn)?shù)據(jù)從訓(xùn)練集上分割出來(lái),從這小部分?jǐn)?shù)據(jù)集中進(jìn)行驗(yàn)證;例如下圖,把訓(xùn)練集劃分為5份,分別采用每一小份當(dāng)作交叉實(shí)驗(yàn)的測(cè)試集,對(duì)比每一次實(shí)驗(yàn)的結(jié)果,去分別記錄預(yù)估的準(zhǔn)確率,最后選擇準(zhǔn)確率最高的參數(shù)作為模型最優(yōu)參數(shù)。
這里需要注意分組實(shí)驗(yàn)只是為了確定最優(yōu)參數(shù),在參數(shù)確認(rèn)后,還是需要將全部數(shù)據(jù)合并到一起進(jìn)行模型訓(xùn)練,得到目標(biāo)函數(shù),很多人在調(diào)參的環(huán)節(jié)容易忽視此步驟。
五、模型評(píng)估及驗(yàn)收
最常見(jiàn)的方法是看模型的準(zhǔn)確率,但模型整體準(zhǔn)確率高,不代表模型表現(xiàn)就好;因?yàn)樵谀承┤蝿?wù)場(chǎng)景下,更多關(guān)注的是某個(gè)類(lèi)別或者某個(gè)分布下的準(zhǔn)確率,而非整體的準(zhǔn)確率。
例如在圖像識(shí)別的場(chǎng)景下,首先會(huì)去關(guān)注模型對(duì)于圖像內(nèi)容識(shí)別的召回率,所謂召回率就是在所有要檢測(cè)的圖片樣本中,被預(yù)測(cè)正確的個(gè)數(shù),也叫做查全率;然后在去看模型的精準(zhǔn)度,也就是所有預(yù)測(cè)出的結(jié)果中,預(yù)估正確的個(gè)數(shù)。
二者的區(qū)別在于,前者關(guān)注的是在所有真實(shí)樣本中被正確檢測(cè)的情況,后者關(guān)注的是預(yù)測(cè)結(jié)果中被正確檢測(cè)的情況,下表是分類(lèi)問(wèn)題的混淆矩陣。
舉例:數(shù)據(jù)樣本中有貓和狗的圖片,我們用圖像識(shí)別來(lái)檢測(cè)是貓的圖片。
- 真正例(TP):圖片預(yù)測(cè)結(jié)果是貓,真實(shí)圖片結(jié)果是貓;
- 假正例(FP):圖片預(yù)測(cè)結(jié)果是貓,真實(shí)圖片結(jié)果是狗;
- 真反例(TN):圖片預(yù)測(cè)結(jié)果是狗,真實(shí)圖片結(jié)果是狗;
- 假返例(FN),圖片預(yù)測(cè)結(jié)果是狗,真實(shí)圖片結(jié)果是貓;
本次任務(wù)是“檢測(cè)出貓”的圖片,即使模型正確檢測(cè)出狗,也不滿(mǎn)足于我們當(dāng)前的分析任務(wù),因此基于任務(wù)而言,正確預(yù)測(cè)出是狗的情況為真返例。
真返利的數(shù)據(jù)在“檢測(cè)出貓”的任務(wù)中不會(huì)被算到準(zhǔn)確率中,基于“檢測(cè)出貓”這個(gè)任務(wù)的召回率和準(zhǔn)確率的計(jì)算為:
- 召回率TP/(TP+FP)
- 準(zhǔn)確率TP/(TP+FN)
另外一種評(píng)估模型準(zhǔn)確率的方法是觀(guān)察ROC、AUC和EER數(shù)據(jù),并進(jìn)行對(duì)比評(píng)估。
ROC曲線(xiàn)圖如下:
綠線(xiàn)為ROC曲線(xiàn)。
AUC代表了藍(lán)色面積,藍(lán)色面積越大,說(shuō)明模型預(yù)估越準(zhǔn)確。
EER為綠色線(xiàn)上的原點(diǎn),值越小代表了模型的誤差越小。
#專(zhuān)欄作家#
大鵬,公眾號(hào):一個(gè)數(shù)據(jù)人的自留地。人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家,《數(shù)據(jù)產(chǎn)品經(jīng)理修煉手冊(cè)》作者。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議。
感覺(jué)貓狗的召回率準(zhǔn)確率那塊有點(diǎn)疑問(wèn)
我也是,我也是,感覺(jué)2個(gè)數(shù)據(jù)之間的區(qū)別沒(méi)有很明顯