一文讀懂機(jī)器學(xué)習(xí)的常用模型評價(jià)指標(biāo)
我與評價(jià)指標(biāo)的首次交鋒是第一次實(shí)習(xí)面試時(shí),面試官開頭就問分類任務(wù)的評價(jià)指標(biāo)。我當(dāng)時(shí)TP,FP,FN,TN各種組合一頓上,回答得亂七八糟。后來經(jīng)歷多了,發(fā)現(xiàn)評價(jià)指標(biāo)的確是面試的高頻考點(diǎn)。
這次讓我們幾分鐘時(shí)間搞懂評價(jià)指標(biāo),尤其是較難理解的ROC、AUC、精確率、召回率,為之后的數(shù)據(jù)科學(xué)之路打下基礎(chǔ)。
分類任務(wù)
TP,TN,FN,FP
這是個(gè)很直覺的分類,T在開頭說明這個(gè)是完全正確的。F開頭就說明是完全錯(cuò)誤的。
真正例(True Positive, TP):被模型預(yù)測為正的正樣本; 假正例(False Positive, FP):被模型預(yù)測為正的負(fù)樣本; 假負(fù)例(False Negative, FN):被模型預(yù)測為負(fù)的正樣本; 真負(fù)例(True Negative, TN):被模型預(yù)測為負(fù)的負(fù)樣本;
ACC精確度
在精確度中,ACC是最直覺的一種方式:
這里是將所有的預(yù)算結(jié)果與預(yù)測正確的做比率,得到的結(jié)果。但同時(shí),這個(gè)評價(jià)指標(biāo)很容易受到樣本數(shù)量以及樣本是否均衡帶來的影響。
Precision精確率
對于精確率來說,關(guān)注點(diǎn)在于,對于所有預(yù)測為正的數(shù)據(jù)中(有預(yù)測正確的,也有預(yù)測錯(cuò)誤的)。其中預(yù)測正確的比率:
FP是假預(yù)測,TP是真的預(yù)測
召回率Recall
這里還是關(guān)注于正樣本。在樣本中的所有真正的正樣本里,有多少比率是預(yù)測對了,如同下圖:

同樣都是關(guān)注正樣本,怎么區(qū)分精確度和召回度?
這的確是很容易混淆的兩個(gè)概念,試想一個(gè)場景來區(qū)分:有一批零件,通過我們做出的機(jī)器學(xué)習(xí)算法,篩選出了一批需要的零件。其中,這批篩選出的零件中,我們的注意力只關(guān)注篩選結(jié)果為正的部分(只關(guān)注,其他結(jié)果壓根不看),那這樣篩選的零件就包含TP+FP。要看看這個(gè)被篩選的零件中有多少是需要的,那么這里的評價(jià)指標(biāo)就是精確度Precision=(TP)/(TP+FP)
那什么是召回呢?召回的意思就是說,我們還是想要好的零件。雖然機(jī)器學(xué)習(xí)已經(jīng)篩選出來了好的零件,但是理論上還是有一部分好的設(shè)備被遺漏了。我們需要默默的將遺漏的好設(shè)備撿回來(畢竟花了錢了,不能浪費(fèi)),這個(gè)行為叫做召回,那么我們需要用到召回率Rcall=(TP)/(TP+FN)
P-R曲線
若一個(gè)學(xué)習(xí)器A的P-R曲線被另一個(gè)學(xué)習(xí)器B的P-R曲線完全包住,則稱:B的性能優(yōu)于A。若A和B的曲線發(fā)生了交叉,則誰的曲線下的面積大,誰的性能更優(yōu)。但一般來說,曲線下的面積是很難進(jìn)行估算的,所以衍生出了“平衡點(diǎn)”(Break-Event Point,簡稱BEP),即當(dāng)P=R時(shí)的取值,平衡點(diǎn)的取值越高,性能更優(yōu)。
這里可以知道的是,P(精確率)與R(召回率)是此消彼長的,也就是說,一個(gè)高一個(gè)就會低。所有對于一個(gè)綜合的評價(jià)指標(biāo)來說,可以很直覺的想到,將兩個(gè)參數(shù)做加權(quán)調(diào)和平均數(shù)。這樣就成為了F1。
F1
F1就是精確率和召回率的加權(quán)調(diào)和平均數(shù)。
特別的,當(dāng)β=1的時(shí)候就是F1:

ROC
優(yōu)點(diǎn):在測試樣本中正負(fù)樣本分布不一樣的,ROC曲線可以保持不變。
ROC這個(gè)優(yōu)勢的來自于靈敏度和特異度這兩個(gè)評價(jià)標(biāo)準(zhǔn)
靈敏度(TPR):其實(shí)本質(zhì)上是正樣本召回率
特異度(TNR):本質(zhì)上是負(fù)樣本的召回率
計(jì)算ROC除了上面兩個(gè)指標(biāo)外,還有假負(fù)率和假正率。但是這兩個(gè)指標(biāo)的計(jì)算很簡單。假負(fù)率 = (1-靈敏度);假正率=(1-特異度)
其實(shí)可以這樣理解,如果一個(gè)驗(yàn)證的數(shù)據(jù)是不均衡的,那么這個(gè)在分類的時(shí)候,準(zhǔn)確率會考慮到不均衡的所有數(shù)據(jù)。但是如果是靈敏度和特異度,它只會考慮到正例或者負(fù)例,不考慮整體的數(shù)據(jù)分布。
那么回到ROC曲線,這個(gè)ROC曲線的兩個(gè)指標(biāo)分別為靈敏度和假正率,效果如圖:

兩個(gè)模型用這個(gè)指標(biāo)做評價(jià)的時(shí)候,如果一個(gè)模型A可以包裹住另一個(gè)模型B,那么這個(gè)模型A就優(yōu)于模型B。如果A和B兩個(gè)模型有交叉,那么這個(gè)就看它們曲線下的面積大了,面積大的模型性能更優(yōu)。
AUC
AUC說白了就是ROC曲線下面的面積大小。AUC越大,說明ROC曲線下面的面積越大,則這個(gè)模型的性能更好。一般來說,AUC的值介于0.5到1之間。因?yàn)?.5說明,二分類模型隨機(jī)猜測,有一半的幾率猜中。
回歸任務(wù)
回歸任務(wù)不同于分類任務(wù)。它是帶入輸入之后,返回一個(gè)value。其中回歸任務(wù)的評價(jià)指標(biāo)衡量的是,模型預(yù)測數(shù)值和標(biāo)簽提供數(shù)值之間的差距。其中對于評價(jià)指標(biāo)的優(yōu)劣其實(shí)并不好評價(jià),這里只列出常用的指標(biāo)。
MAE(Mean Absolute Error)平均絕對誤差

對差值的絕對值求平均。
MSE(Mean Squared Error)均方誤差

是對誤差平方的期望。
RMSE(Root Mean Squared Error)均方誤差根

對MSE指標(biāo)求平方根。
結(jié)尾
評價(jià)指標(biāo)學(xué)習(xí)完畢啦。對于比較難理解的ROC、AUC、精確率、召回率,文中都列舉了場景,希望可以幫助到大家。其實(shí)搞懂核心概念,之后都是它的衍生。
往期精彩:
Swin Transformer:基于Shifted Windows的層次化視覺Transformer設(shè)計(jì)
TransUNet:基于 Transformer 和 CNN 的混合編碼網(wǎng)絡(luò)
ViT:視覺Transformer backbone網(wǎng)絡(luò)ViT論文與代碼詳解
【原創(chuàng)首發(fā)】機(jī)器學(xué)習(xí)公式推導(dǎo)與代碼實(shí)現(xiàn)30講.pdf
【原創(chuàng)首發(fā)】深度學(xué)習(xí)語義分割理論與實(shí)戰(zhàn)指南.pdf
求個(gè)在看
