
作者 | 我的智慧生活
來源 | 咪付
在人工智能領域,機器學習的效果需要用各種指標來評價。本文將闡述機器學習中的常用性能評價指標,矢量卷積與神經網格的評價指標不包括在內。
訓練與識別
當一個機器學習模型建立好了之后,即模型訓練已經完成,我們就可以利用這個模型進行分類識別。
比如,給模型輸入一張電動車的照片,模型能夠識別出這是一輛電動車;輸入一輛摩托車的照片,模型能夠識別出這是一輛摩托車。前提是:在模型訓練過程中,進行了大量電動車照片、摩托車照片的反復識別訓練。
但即便模型具備了識別電動車、摩托車的能力,并不代表每次都能百分百正確識別。當然,我們肯定希望識別正確率越高越好。識別正確率越高,代表模型性能越良好。
具體有哪些指標可以評價模型性能的優良呢?我們從下面的例子來詳細了解。
例如,一個測試樣本集S總共有100張照片,其中,電動車的照片有60張,摩托車的照片是40張。給模型(二分類模型)輸入這100張照片進行分類識別,我們的目標是:要模型找出這100張照片中的所有電動車。這里所說的目標即為正例(Positives),非目標即為負例(Negatives)。
假設模型給出的識別結果如下圖:
從上表結果可以看出,在100張照片中,模型識別給出了50個電動車目標,剩下50個則是摩托車。這與實際的情況有出入(實際是:電動車60個,摩托車40個),因而有些識別是錯誤的。正確的識別數據體現在TP和TN(T代表True),錯誤的識別數據則體現在FP和FN(F代表False)。
在識別給出的50個電動車目標中,其中只有40個是對的(TP:真的電動車),另外10個則識別錯了(FP:假的電動車,實際是摩托車)。
以上四個識別結果數值(TP、FP 、TN、FN)就是常用的評估模型性能優良的基礎參數。在進一步詳細說明TP、FP 、TN、FN各符號的含義之前,我們先來了解正例(正樣本)、負例(負樣本)的概念。
正例與負例
正例(Positives):你所關注的識別目標就是正例。
負例(Negatives):正例以外的就是負例。
例如,在上面的例子中,我們關注的目標是電動車,那么電動車就是正例,剩下摩托車則是負例。
再如,假設在一個森林里,有羚羊、馴鹿、考拉三種動物,我們的目標是識別出羚羊,那么羚羊就是正例,馴鹿和考拉則是負例。
▲正例與負例圖示1
又如,有一堆數字卡片,我們的目標是要找出含有數字8的卡片,那么含有數字8的卡片就是正例,剩于其他的都是負例。
▲正例與負例圖示2
了解了正例(Positives)和負例(Negatives)的概念,我們就可以很好地理解TP、FN、TN、FP的各自含義(其中T代表True,F代表False,P即Positives,N即Negatives):
在以上四個基礎參數中,真正例與真負例就是模型給出的正確的識別結果,比如電動車識別成電動車(真正例),摩托車識別成摩托車(真負例);偽正例與偽負例則是模型給出的錯誤的識別結果,比如摩托車識別成電動車(偽正例),電動車識別成摩托車(偽負例)。其中,真正例(TP)是評價模型性能非常關鍵的參數,因為這是我們所關注的目標的有用結果,該值越高越好。
可以看出,在一個數據集里,模型給出的判斷結果關系如下:
接下來,我們就來了解模型性能的各類評價指標。
1 正確率(Accuracy)
正確率(Accuracy):也即準確率,識別對了的正例(TP)與負例(TN)占總識別樣本的比例。
即:
A=(TP+ TN)/S
在上述電動車的例子中,從上表可知,TP+ TN =70,S= 100,則正確率為:
A=70/100=0.7
通常來說,正確率越高,模型性能越好。
2 錯誤率(Error-rate)
錯誤率(Error-rate):識別錯了的正例(FP)與負例(FN)占總識別樣本的比例。
即:
E=( FP+FN)/S
在上述電動車的例子中,從上表可知,FP+ FN =30,S= 100,則錯誤率為:
E=30/100=0.3
可見,正確率與錯誤率是分別從正反兩方面進行評價的指標,兩者數值相加剛好等于1。正確率高,錯誤率就低;正確率低,錯誤率就高。
3 精度(Precision)
精度(Precision):識別對了的正例(TP)占識別出的正例的比例。其中,識別出的正例等于識別對了的正例加上識別錯了的正例。
即:
P=TP/(TP+ FP)
在上述電動車的例子中,TP=40,TP+ FP=50。也就是說,在100張照片識別結果中,模型總共給出了50個電動車的目標,但這50個目標當中只有40個是識別正確的,則精度為:
P=40/50=0.8
因此,精度即為識別目標正確的比例。精度也即查準率,好比電動車的例子來說,模型查出了50個目標,但這50個目標中準確的比率有多少。
4 召回率(Recall)
召回率(Recall):識別對了的正例(TP)占實際總正例的比例。其中,實際總正例等于識別對了的正例加上識別錯了的負例(真正例+偽負例)。
即:
R=TP/(TP+ FN)
同樣,在上述電動車的例子中,TP=40,TP+FN =60。則召回率為:
R=40/60=0.67
在一定意義上來說,召回率也可以說是“找回率”,也就是在實際的60個目標中,找回了40個,找回的比例即為:40/60。同時,召回率也即查全率,即在實際的60個目標中,有沒有查找完全,查找到的比率是多少。
從公式可以看出,精度與召回率都與TP值緊密相關,TP值越大,精度、召回率就越高。理想情況下,我們希望精度、召回率越高越好。但單獨的高精度或高召回率,都不足以體現模型的高性能。
例如下面的例子:
高精度模型
從上表可以看出,該模型識別結果給出正例50個,負例200個。在識別給出的50個正例當中全部都正確(都是真正例,沒有偽正例),因而精度P為100%,非常高。但是識別給出的200個負例全部都錯誤(都是偽負例),錯誤率非常高,這樣的模型性能其實非常低。
高召回率模型
上表可以看出,該模型識別結果給出正例110個,負例0個。在110個正例當中,其中10個是真正例(識別正確),100個卻是偽正例(識別錯誤)。在這個測試數據集中,計算的召回率R為100%,非常好,也就是說,在這個數據集里總共有10個目標,已全部找到(召回)。但同時,計算得出模型識別結果的錯誤率E也很高,高達91%,所以這個模型性能也很低,基本不可靠。
5 精度-召回率曲線(PR曲線)
實際中,精度與召回率是相互影響的。通常,精度高時,召回率就往往偏低,而召回率高時,精度則會偏低。這其實也很好理解,前面我們說了,精度即查準率,召回率即查全率,要想查得精準(一查一個準),即模型給出的目標都正確,那就得提高閾值門檻,閾值一提高,符合要求的目標就會減少,那必然會導致漏網之魚增多,召回率降低。
相反,若想召回率高,沒有漏網之魚(目標都找到),就要降低閾值門檻,才能把所有目標收入囊中,與此同時會攬入一些偽目標,從而導致精度降低。
例如,在不同的閾值下(分別為0.6和0.5),模型給出15張圖片的識別結果如下:
上表中1、0分別代表正例和負例。通過設定一個閾值(T),當置信度分數大于閾值則識別為正例,小于閾值則識別為負例。上表識別結果中當閾值T=0.6,模型給出的正例有8個,當閾值T=0.5,模型給出的正例則有10個。
通過與真實屬性值核對,我們可以得出這兩個閾值下的各個參數(TP、FP、FN)以及計算得出召回率(R)和精度(P)如下:
可以看出,設定的閾值不同,得出的召回率(R)和精度(P)也不相同。因此,對于每一個閾值可得到對應的一組(R,P),例如,上述的兩個閾值可得出兩組(R,P),分別為:(0.86,0.75)和(1,0.7)。如果取多個不同的閾值,就可以得到多組(R,P)。將這些坐標點(R,P)繪制在坐標上,然后將各坐標點用曲線連起來,即可得到PR曲線。
因此,PR曲線即是以召回率R為橫軸,精度P為縱軸畫出的曲線,如下圖:
6 AP(Average Precision)值
PR曲線下的面積稱為AP(Average Precision),表示召回率從0-1的平均精度值。如何計算AP呢?很顯然,根據數學知識,可用積分進行計算,公式如下:
顯然,這個面積的數值不會大于1。PR曲線下的面積越大,模型性能則越好。性能優的模型應是在召回率(R)增長的同時保持精度(P)值都在一個較高的水平,而性能較低的模型往往需要犧牲很多P值才能換來R值的提高。如下圖所示,有兩條PR曲線,可以看出,PR1曲線為性能較優的模型表現形式,PR1曲線下的面積明顯大于PR2曲線下的面積。對于PR1曲線,隨著R值的增長,P值仍能保持在一個較高的水平;而對于PR2曲線,隨著R值的增長,P值則不斷下降,因此是通過犧牲P值才能換得R值的提高。
除了使用積分方法計算AP值,實際應用中,還常使用插值方法進行計算。常見的一種插值方法是:選取11個精度點值,然后計算出這11個點的平均值即為AP值。
怎樣選取11個精度點值呢?通常先設定一組閾值,例如[0,0.1,0.2…,1], 對于R大于每一個閾值(R>0, R>0.1,…, R>1),會得到一個對應的最大精度值Pmax,這樣就會得到11個最大精度值(Pmax1, Pmax2,…, Pmax11)。
則:
AP=(Pmax1+ Pmax2+…+ Pmax11)/11
7 mAP(Mean Average Precision)值
AP是衡量模型在單個類別上平均精度的好壞,mAP則是衡量模型在所有類別上平均精度的好壞,每一個類別對應有一個AP,假設有n個類別,則有n個AP,分別為:AP1,AP2,…,APn, mAP就是取所有類別 AP 的平均值,即:
mAP= (AP1+ AP2+…+ APn)/n
8 綜合評價指標F-Measure
F-Measure又稱F-Score,是召回率R和精度P的加權調和平均,顧名思義即是為了調和召回率R和精度P之間增減反向的矛盾,該綜合評價指標F引入了系數α對R和P進行加權調和,表達式如下:
而我們最常用的F1指標,就是上式中系數α取值為1的情形,即:
F1=2P.R/(P+R)
F1的最大值為1,最小值為0。
9 ROC曲線與AUC
ROC(Receiver Operating Characteristic)曲線與AUC(Area Under the Curver)
ROC曲線,也稱受試者工作特征。ROC曲線與真正率(TPR,True Positive Rate)和假正率(FPR, False Positive Rate)密切相關。
真正率(TPR): 識別對了的正例(TP)占實際總正例的比例,實際計算值跟召回率相同。即:
TPR =TP/(TP+ FN)
假正率(FPR): 識別錯了的正例(FP)占實際總負例的比例。也可以說,誤判的負例(實際是負例,沒有判對)占實際總負例的比例。計算式如下:
FPR =FP/(FP+ TN)
以FPR為橫軸,TPR為縱軸,繪制得到的曲線就是ROC曲線,繪制方法與PR曲線類似。繪制得到的ROC曲線示例如下:
一般來說,ROC曲線越靠近左上方越好。
ROC曲線下的面積即為AUC。面積越大代表模型的分類性能越好。如上圖所示,綠線分類模型AUC=0.83大于紅線分類模型AUC=0.65,因此,綠線分類模型的分類性能更優。并且,綠線較紅線更光滑。通常來說,ROC曲線越光滑,過擬合程度越小。綠線分類模型的整體性能要優于紅線分類模型。
10 IoU(Intersection-over-Union)指標
IoU簡稱交并比,顧名思義數學中交集與并集的比例。假設有兩個集合A與B, IoU即等于A與B的交集除以A與B的并集,表達式如下:
IoU=A∩B/A∪B
在目標檢測中,IoU為預測框(Prediction)和真實框(Ground truth)的交并比。如下圖所示,在關于小貓的目標檢測中,紫線邊框為預測框(Prediction),紅線邊框為真實框(Ground truth)。
將預測框與真實框提取如下圖,兩者的交集區域為左下圖斜線填充的部分,兩者的并集區域為右下圖藍色填充的區域。IoU即為:
左邊斜線填充的面積/右邊藍色填充的總面積。
▲預測框與真實框交集與并集示例
在目標檢測任務中,通常取IoU≥0.5,認為召回。如果IoU閾值設置更高,召回率將會降低,但定位框則更加精確。
理想的情況,當然是預測框與真實框重疊越多越好,如果兩者完全重疊,則交集與并集面積相同,此時IoU等于1。
11 Top1與TopK
Top1:對一張圖片,模型給出的識別概率中(即置信度分數),分數最高的為正確目標,則認為正確。這里的目標也就是我們說的正例。
TopK: 對一張圖片,模型給出的識別概率中(即置信度分數),分數排名前K位中包含有正確目標(正確的正例),則認為正確。
K的取值一般可在100以內的量級,當然越小越實用。比如較常見的,K取值為5,則表示為Top5,代表置信度分數排名前5當中有一個是正確目標即可;如果K取值100,則表示為Top100,代表置信度分數排名前100當中有一個是正確目標(正確的正例)即可??梢?,隨著K增大,難度下降。
例如,在一個數據集里,我們對前5名的置信度分數進行排序,結果如下:
上表中,取閾值T=0.45,排名前5的置信度分數均大于閾值,因此都識別為正例。對于Top1來說,即ID號為4的圖片,實際屬性卻是負例,因此目標識別錯誤。而對于Top5來說,排名前5的置信度分數中,有識別正確的目標,即ID號為2、20的圖片,因此認為正確。
在常見的人臉識別算法模型中,正確率是首當其沖的應用宣傳指標。事實上,對同一個模型來說,各個性能指標也并非一個靜止不變的數字,會隨著應用場景、人臉庫數量等變化而變化。因此,實際應用場景下的正確率跟實驗室環境下所得的正確率一定是存在差距的,某種程度上說,實際應用場景下的正確率更具有評價意義。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25