在機器學習領域,對模型的評估非常的重要,只有選擇與問題相匹配的評估方法,才能更好的模型訓練和模型選擇的時候出現的問題,才能更好的對模型進行迭代優化。
模型評估主要分為離線評估和在線評估。針對分類、排序、回歸、序列預測等不同類型的機器學習問題,模型評估指標的選擇也有所不同。知道每種評估指標的精確定義、有針對性的選擇合適的評估指標、根據評估指標的反饋進行模型的調整,這些都是機器學習在模型評估階段的關鍵問題,也是一名合格的算法工程師應該具備的基本功。
模型評估指標反映模型效果。在預測問題中,要評估模型的效果,就需要將模型預測結果f(X)和真實標註的Y進行比較,評估指標定義為f(X)和Y的函數:
score = metric(f(X),Y)
模型的好壞是相對的,在對比不同的模型效果時,使用不同評估指標往往會導致不同的結論。
通常離線評估使用的是機器學習評估指標,在線評估使用的是業務指標。如果離線指標和在線指標不同,則可能會出現離線指標變好而在線指標變差的現象。所以,在一個新的問題開始的初期,都會進行多輪模型迭代,來探索與線上業務指標一致的線下指標,儘可能是線下指標的變化趨勢與線上指標一致。沒有一個跟線上一致的線下指標,那麼這個線下指標沒有參考價值,想判斷模型是否有效,只能線上實驗,這樣就成本太高了。
1 分類問題模型評估指標:
我們先看混淆矩陣
其中,TP表示實際標籤為正,預測標籤也為正,FP表示實際標籤為負,預測標籤卻為正,TN表示實際標籤為負,預測標籤也為負,FN表示實際標籤為正,預測標籤卻為負,樣本總數=TP+FP+FN+TN
準確率(acc) = (TP+TN)/(TP+FP+FN+TN)
精確率(P)=TP/(TP+FP)
召回率(R)=TP/(TP+FN)
ROC與AUC:
ROC中文名稱接收者操作特徵(Receiver Operating Characteristic),ROC曲線不需要設定閾值,縱坐標是真正率,橫坐標是假正率
真正率(TPR)=TP/(TP+FN)
假正率(FPR)=FP/(FP+TN)
AUC是ROC曲線下的面積,取值越大說明模型越可能將正樣本排在負樣本前面。
對數損失(Logistics Loss,logloss)是對預測概率的似然估計:logloss = -logP(Y|X),對數損失最小化本質上是利用樣本中的已知分布,求解導致這種分布的最佳模型參數,使這種分布出現的概率最大。logloss衡量的是預測概率分布和真實概率分布的差異性,取值越小越好。與AUC不同,logloss對預測概率敏感。
2 回歸問題模型評估指標:
平均絕對誤差,也叫L1範數損失,公式:MAE = 1/N·Σ|Yi-Pi|,其中,N為樣本數,Yi為第i條樣本的真實值,Pi為第i條樣本的預測值。模型使用MAE作為損失函數是對數據分布的中值進行擬合。但某些模型如XGBoost必須要求損失函數有二階導數,所以不能直接優化MAE.
均方根誤差的公式:RMSE =√( 1/N·Σ|Yi-Pi|2),RMSE代表的是預測值與真實值差值的樣本標準差。和MAE對比,RMSE對大誤差樣本有更大的懲罰,但它對離群點敏感,健壯性不如MAE。模型使用RMSE作為損失函數是對數據分布的平均值進行擬合。
3 排序問題模型評估指標
平均準確率均值(MAP)和 歸一化貼現累計收益(NDCG),感興趣的可以查閱相關資料。