解決一個機(jī)器學(xué)習(xí)問題從建模開始,首先前期調(diào)研資料,將問題抽象成機(jī)器學(xué)習(xí)可預(yù)測問題。再這個過程中要明確業(yè)務(wù)指標(biāo)和模型預(yù)測目標(biāo),根據(jù)目標(biāo)選擇適當(dāng)?shù)迷u估指標(biāo)。然后從原始數(shù)據(jù)中選取相關(guān)子樣本集用于訓(xùn)練和測試。
完成第一步之后,就需要對選取得樣本集進(jìn)行特征抽取,即特征工程。特征工程是一項很重要又很困難得工作,尤其是在推薦系統(tǒng)等領(lǐng)域。不僅需要對算法模型得深入了解,還需要我們又很扎實得專業(yè)領(lǐng)域知識。成功得機(jī)器學(xué)習(xí)應(yīng)用一定是特征工程做的好的,當(dāng)然特征提取也有很多可以通用的技巧。
我們做特征是為了將特征輸入給模型,讓模型從中學(xué)習(xí)出普遍規(guī)律。但是模型很多,不同的模型使用天差地別,當(dāng)我們有一份高質(zhì)量的數(shù)據(jù)后,還需要選擇一個適合的模型,可以充分的學(xué)習(xí)到數(shù)據(jù)中規(guī)律,同時還需要在性能和部署方面考慮其實用性。
如上所言,不同的模型會有很大差別,可以從數(shù)據(jù)中學(xué)到的規(guī)律也會不同,所以我們經(jīng)常會使用多種模型來進(jìn)行學(xué)習(xí),然后將不同模型融合,充分利用各模型特點。多種模型可以使用同一份特征,也可以根據(jù)需求做多份特征。
評估指標(biāo)用于反映模型效果。在預(yù)測問題中,要評估模型效果,就需要將模型預(yù)測結(jié)果f(X)和真是結(jié)果Y進(jìn)行比較,評估指標(biāo)定義為f(X)和Y函數(shù):
score=metric(f(X),Y)
模型的好壞是相對的,使用不同的評估標(biāo)準(zhǔn)往往會導(dǎo)致不同結(jié)論,所以在選擇評估標(biāo)準(zhǔn)是要結(jié)合業(yè)務(wù)需求。
評估指標(biāo)根據(jù)任務(wù)類型可分類為:分類指標(biāo)、回歸指標(biāo)、聚類指標(biāo)和排序指標(biāo)。
精確率和召回率多用于二分類模型,可結(jié)合混淆矩陣來看。
表2-1 混淆矩陣
預(yù)測結(jié)果 | |||
真實結(jié)果 | 正(P) | 負(fù)(N) | |
正(P) | TP | FN | |
負(fù)(N) | FP | TN |
TP(真正,Ture Tositive):真實結(jié)果為正,預(yù)測結(jié)果也為真;
FP(假正,F(xiàn)alse Tosotive):真實結(jié)果為負(fù),預(yù)測結(jié)果為正;
FN(假負(fù),F(xiàn)alse Negative):真實結(jié)果為正,預(yù)測結(jié)果為負(fù);
TN(真負(fù),Ture Negative):真實結(jié)果為負(fù),預(yù)測結(jié)果也為負(fù)。
樣本總數(shù)=TP+FP+FN+TN
精確率(P)=TP/(TP+FP)
召回率(R)=TP/(TP+FN)
準(zhǔn)確率(accuracy)=(TP+TN)/(TP+FP+FN+TN)
錯誤率(error rate)=(FN+FP)/(TP+FP+FN+TN)
注:準(zhǔn)確率和精確率?;煜_率是一個二分類模型指標(biāo),準(zhǔn)確率可以應(yīng)用于多分類。
理想情況下,我們希望精確率和召回率兩者都越高越好,但一般情況下,精確率越高召回率越低,精確率越低召回率越高。因此需要結(jié)合使用場景判斷哪個指標(biāo)更為重要。
我們以召回率R為橫軸,精確率P為豎軸畫出P-R曲線:
圖2-1 P-R曲線
據(jù)圖可看到,P-R曲線越靠近右上角性能越好,曲線下的面積叫AP分?jǐn)?shù)(平均準(zhǔn)確率分?jǐn)?shù)),但這個值計算不方便,所以設(shè)計了綜合考慮精確率和召回率的指標(biāo)。
F1值就是這樣一個指標(biāo),F(xiàn)1是精確率和召回率的調(diào)和平均值:
2/F1=1/P+1/R
F值可泛化為對精確率和召回率賦不同權(quán)重調(diào)和:
接收者操作特征(Receiver Operating Characteristic,ROC),縱坐標(biāo)是真正率,橫坐標(biāo)是假正率,
真正率(TPR)=TP/(TP+FN)
假正率(FPR)=FP/(FP+TN)
圖2-2 ROC曲線
ROC與P-R曲線很相似,ROC曲線越靠近左上角性能越好,左上角坐標(biāo)(0,1),TPR=1,F(xiàn)PR=0,根據(jù)公式可知,F(xiàn)N=0,FP=0,模型對所有樣本分類正確。繪制ROC曲線,首先對所有樣本按預(yù)測概率排序,以每條樣本的預(yù)測概率為閾值,計算對應(yīng)的FPR、TPR,然后連線。數(shù)據(jù)量小時,曲線不平滑,數(shù)據(jù)量大時,曲線會趨于平滑。
AUC(Area Under Roc Curve)ROC曲線下面積,取值越大說明模型越可能將正樣本排在負(fù)樣本前面。AUC特性:AUC等于隨機(jī)挑選一個正樣本和一個負(fù)樣本時,分類器正樣本排前面的概率;AUC和Wilcoxon Test of Ranks等價;AUC還和基尼系數(shù)有聯(lián)系,Gini+1=2*AUC。
也叫L1范數(shù),
N為樣本數(shù),yi為第i條真實值,pi為第i條預(yù)測值。
加權(quán)平均絕對誤差:是基于MAE得變種指標(biāo)
wi是第i條樣本得權(quán)重。
均方根對數(shù)誤差:
從全量數(shù)據(jù)集種選擇相關(guān)性高的數(shù)據(jù)作為模型訓(xùn)練測試樣本集,最理想的樣本是用最少量的訓(xùn)練集S,而模型效果不會變差,滿足P(Algo s)=P(Algo T),P為模型評估函數(shù),Algo是模型。
樣本選擇的意義:
數(shù)據(jù)量過大時,程序會耗費大量計算資源和計算時間,減少數(shù)據(jù)量可以有效控制成本;
全部數(shù)據(jù)集包含豐富信息,但就每一個具體問題并不一定都需要,我們只取其中相關(guān)性高的一部分;
數(shù)據(jù)噪聲時所有數(shù)據(jù)集不可避免的,包括信息錯誤、標(biāo)簽錯誤、缺失值、重復(fù)等等,通過去除噪聲可以有效提高樣本質(zhì)量。
數(shù)據(jù)中噪聲是一個不可避免的問題,噪聲的存在會降低數(shù)據(jù)質(zhì)量,導(dǎo)致模型訓(xùn)練效果不佳。但是在訓(xùn)練集中加入適量噪聲能使模型更加健壯。
聯(lián)系客服