1. 程式人生 > >常見的機器學習效能衡量方法

常見的機器學習效能衡量方法

在構建模型並調優時,關鍵的一步是確認模型的評估標準。對於常見的監督學習而言,主要有分類和迴歸兩類;1.迴歸的評價指標主要有MSE,RMSE,MAE。2.分類的評價指標有精確率、召回率、F1、AUC和ROC曲線。評價指標之間相互聯絡,同時而且相互之間是有關係的,只是側重點不同。下面對所有評價指標展開介紹。

1.迴歸

a. 均方誤差 (Mean Squared Error, MSE)

均方誤差是指引數估計值與引數真值之差平方的期望值; MSE可以評價資料的變化程度,MSE的值越小,說明預測模型描述實驗資料具有更好的精確度。

b. 均方根誤差 (Root Mean Squard Error, RMSE)

均方誤差:均方根誤差是均方誤差的算術平方根,和MSE比較,處於統一量級,易於模型結果的直觀描述(非平方值)。 

c. 平均絕對誤差(mean absolute error,MAE)

MSE對異常值敏感,因為它的懲罰是平方的,所以異常值的loss會非常大。 MAE對異常之不敏感,MAE不可導而且所有的導數的絕對值都相同,優化時無法確定更新速度。MSE可導,有closed-form解,只需要令偏導數為0即可。如果想要檢測異常值則使用MSE,如果想學習一個預測模型則建議使用MAE,或者先進行異常值處理再使用MSE


2.分類

分類器本質給出屬於某一類的概率,我們選定一個概率值作為閾值,將高於和低於閾值的概率值分為兩類。評價指標主要幫助我們決策選擇哪個哪個閾值更合理;給定一個閾值,我們可以定義出一個分類模型,

a. 準召&F1

對於一個二分類器,可以計算得到混淆矩陣如上所示;利用混淆矩陣,可以計算出兩個關鍵的評價指標,精確率(Precision)為TP/(TP+FP),召回率(Recall)為TP/(TP+FN),不同的場景會著重一個指標,而F1值是精確率和召回率的調和均值,即F1=2PR/(P+R),相當於精確率和召回率的綜合評價指標。

b. ROC

ROC曲線(Receiver operating characteristic curve),ROC曲線其實是多個混淆矩陣的結果組合,如果在上述模型中我們沒有定好閾值,而是將模型預測結果從高到低排序,將每個概率值依次作為閾值,那麼就有多個混淆矩陣。對於每個混淆矩陣,我們計算兩個指標TPR(True positive rate)和FPR(False positive rate),TPR=TP/(TP+FN),即召回率。FPR=FP/(FP+TN)。以FPR為x軸,TPR為y軸畫圖,就得到了ROC曲線。在畫ROC曲線的過程中,若有一個閾值,高於此閾值的均為壞人,低於此閾值的均為好人,則認為此模型已完美的區分開好壞使用者。此時壞使用者的預測準確率(TPR)為1,同時好使用者的預測錯誤率(FPR)為0,ROC曲線經過(0,1)點。

c. AUC

AUC(Area Under Curve)的值為ROC曲線下面的面積,若如上所述模型十分準確,則AUC為1。但現實生活中尤其是工業界不會有如此完美的模型,一般AUC均在0.5到1之間,AUC越高,模型的區分能力越好,上圖AUC為0.81。若AUC=0.5,即與上圖中紅線重合,表示模型的區分能力與隨機猜測沒有差別。

 


 

也有人會用Gini係數來評價模型,其實Gini係數與AUC所表示的意義相同,只是計算方式不同。Gini係數指ROC曲線與中線(上圖紅線)圍成的面積和中線(上圖紅線)之上的面積(0.5)的比例,兩者之間換算公式為Gini=2*AUC-1。

除此之外,在評價模型時還會用到KS(Kolmogorov-Smirnov)值,KS=max(TPR-FPR),即為TPR與FPR的差的最大值,KS值可以反映模型的最優區分效果,此時所取的閾值一般作為定義好壞使用者的最優閾值。

上圖ROC曲線的KS值為0.45,此時TPR=0.79,FPR=0.34。

當然,閾值的選取還要考慮應用場景及業務要求,對於FPR不敏感而對TPR敏感的場景,可以適當減少閾值以增加TPR。

如精準營銷領域的商品推薦模型,模型目的是儘量將商品推薦給感興趣的使用者,若使用者對推薦的商品不感興趣,也不會有很大損失,因此此時TPR相對FPR更重要。

再比如反欺詐領域的欺詐預測模型,由於模型結果會對識別的壞人進行一定的處置措施,FPR過高會對好人有一定干擾,造成誤殺,影響客戶體驗,因此模型需保證在低於一定FPR的基礎上儘量增加TPR。

瞭解了這些指標定義後可以發現,對於分類模型,AUC、KS、ROC曲線是綜合評價模型區分能力和排序能力的指標,而精確率、召回率和F1值是在確定最佳閾值之後計算得到的指標。

d. PR曲線(Precision-Recall curve)

當然,PR曲線(Precision-Recall curve)和ROC曲線類似,ROC曲線是FPR和TPR的點連成的線,PR曲線是準確率和召回率的點連成的線,如下圖所示。

我們又知道,Recall=TPR,因此PRC的橫座標為ROC的縱座標。

TPR、FPR、Precision、Recall的定義來對比,TPR、Recall的分母為樣本中壞客戶的個數,FPR的分母為樣本中好客戶的個數,樣本一旦確定分母即為定值,因此三個指標的變化隨分子增加單調遞增。

但是Precision的分母為預測為壞客戶的個數,會隨著閾值的變化而變化,因此Precision的變化受TP和FP的綜合影響,不單調,變化情況不可預測。

而且TP和FP的值分別受樣本中好壞客戶個數的制約,若樣本極不均衡,比如好客戶過多,則隨Recall的增加,FP會遠大於TP的值,Precision會變化很大。

e. 評價指標的特性和選擇

相對來講ROC曲線會穩定很多,在正負樣本量都足夠的情況下,ROC曲線足夠反映模型的判斷能力。

因此,對於同一模型,PRC和ROC曲線都可以說明一定的問題,而且二者有一定的相關性,如果想評測模型效果,也可以把兩條曲線都畫出來綜合評價。

對於有監督的二分類問題,在正負樣本都足夠的情況下,可以直接用ROC曲線、AUC、KS評價模型效果。在確定閾值過程中,可以根據Precision、Recall或者F1來評價模型的分類效果。


3.思考

對於多分類問題,可以對每一類分別計算Precision、Recall和F1,綜合作為模型評價指標。當然,評價模型的指標不止以上幾種,同時對於不同的應用場景及業務要求會有不同的側重,根本上需要根據建模目的進行具體分析。對於多分類模型而言,可以將其轉換成1對多的問題,因此可以同樣用2分類的效果進行效果評估