tft每日頭條

 > 生活

 > 機器學習算法評價參數指标

機器學習算法評價參數指标

生活 更新时间:2025-01-17 02:49:27

關注人工智能前沿講習, 重磅幹貨,第一時間送達

在人工智能領域,機器學習的效果需要用各種指标來評價。本文将闡述機器學習中的常用性能評價指标,矢量卷積與神經網格的評價指标不包括在内。

訓練與識别

當一個機器學習模型建立好了之後,即模型訓練已經完成,我們就可以利用這個模型進行分類識别。

比如,給模型輸入一張電動車的照片,模型能夠識别出這是一輛電動車;輸入一輛摩托車的照片,模型能夠識别出這是一輛摩托車。前提是:在模型訓練過程中,進行了大量電動車照片、摩托車照片的反複識别訓練。

機器學習算法評價參數指标(機器學習中的評價指标)1

但即便模型具備了識别電動車、摩托車的能力,并不代表每次都能百分百正确識别。當然,我們肯定希望識别正确率越高越好。識别正确率越高,代表模型性能越良好。

具體有哪些指标可以評價模型性能的優良呢?我們從下面的例子來詳細了解。

例如,一個測試樣本集S總共有100張照片,其中,電動車的照片有60張,摩托車的照片是40張。給模型(二分類模型)輸入這100張照片進行分類識别,我們的目标是:要模型找出這100張照片中的所有電動車。這裡所說的目标即為正例(Positives),非目标即為負例(Negatives)。

假設模型給出的識别結果如下圖:

機器學習算法評價參數指标(機器學習中的評價指标)2

從上表結果可以看出,在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):正例以外的就是負例。

例如,在上面的例子中,我們關注的目标是電動車,那麼電動車就是正例,剩下摩托車則是負例。

再如,假設在一個森林裡,有羚羊、馴鹿、考拉三種動物,我們的目标是識别出羚羊,那麼羚羊就是正例,馴鹿和考拉則是負例。

機器學習算法評價參數指标(機器學習中的評價指标)3

圖1 正例與負例

又如,有一堆數字卡片,我們的目标是要找出含有數字8的卡片,那麼含有數字8的卡片就是正例,剩于其他的都是負例。

機器學習算法評價參數指标(機器學習中的評價指标)4

圖2 正例與負例

混淆矩陣

了解了正例(Positives)和負例(Negatives)的概念,我們就可以很好地理解TP、FN、TN、FP的各自含義(其中T代表True,F代表False,P即Positives,N即Negatives):

機器學習算法評價參數指标(機器學習中的評價指标)5

在以上四個基礎參數中,真正例與真負例就是模型給出的正确的識别結果,比如電動車識别成電動車(真正例),摩托車識别成摩托車(真負例);僞正例與僞負例則是模型給出的錯誤的識别結果,比如摩托車識别成電動車(僞正例),電動車識别成摩托車(僞負例)。其中,真正例(TP)是評價模型性能非常關鍵的參數,因為這是我們所關注的目标的有用結果,該值越高越好。

可以看出,在一個數據集裡,模型給出的判斷結果關系如下:

機器學習算法評價參數指标(機器學習中的評價指标)6

接下來,我們就來了解模型性能的各類評價指标。

模型性能指标

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值越大,精度、召回率就越高。理想情況下,我們希望精度、召回率越高越好。但單獨的高精度或高召回率,都不足以體現模型的高性能。

例如下面的例子:

機器學習算法評價參數指标(機器學習中的評價指标)7

高精度模型

從上表可以看出,該模型識别結果給出正例50個,負例200個。在識别給出的50個正例當中全部都正确(都是真正例,沒有僞正例),因而精度P為100%,非常高。但是識别給出的200個負例全部都錯誤(都是僞負例),錯誤率非常高,這樣的模型性能其實非常低。

機器學習算法評價參數指标(機器學習中的評價指标)8

高召回率模型

上表可以看出,該模型識别結果給出正例110個,負例0個。在110個正例當中,其中10個是真正例(識别正确),100個卻是僞正例(識别錯誤)。在這個測試數據集中,計算的召回率R為100%,非常好,也就是說,在這個數據集裡總共有10個目标,已全部找到(召回)。但同時,計算得出模型識别結果的錯誤率E也很高,高達91%,所以這個模型性能也很低,基本不可靠。

5、精度-召回率曲線(PR曲線)

實際中,精度與召回率是相互影響的。通常,精度高時,召回率就往往偏低,而召回率高時,精度則會偏低。這其實也很好理解,前面我們說了,精度即查準率,召回率即查全率,要想查得精準(一查一個準),即模型給出的目标都正确,那就得提高阈值門檻,阈值一提高,符合要求的目标就會減少,那必然會導緻漏網之魚增多,召回率降低。

相反,若想召回率高,沒有漏網之魚(目标都找到),就要降低阈值門檻,才能把所有目标收入囊中,與此同時會攬入一些僞目标,從而導緻精度降低。

例如,在不同的阈值下(分别為0.6和0.5),模型給出15張圖片的識别結果如下:

機器學習算法評價參數指标(機器學習中的評價指标)9

上表中1、0分别代表正例和負例。通過設定一個阈值(T),當置信度分數大于阈值則識别為正例,小于阈值則識别為負例。上表識别結果中當阈值T=0.6,模型給出的正例有8個,當阈值T=0.5,模型給出的正例則有10個。

通過與真實屬性值核對,我們可以得出這兩個阈值下的各個參數(TP、FP、FN)以及計算得出召回率(R)和精度(P)如下:

機器學習算法評價參數指标(機器學習中的評價指标)10

可以看出,設定的阈值不同,得出的召回率(R)和精度(P)也不相同。因此,對于每一個阈值可得到對應的一組(R,P),例如,上述的兩個阈值可得出兩組(R,P),分别為:(0.86,0.75)和(1,0.7)。如果取多個不同的阈值,就可以得到多組(R,P)。将這些坐标點(R,P)繪制在坐标上,然後将各坐标點用曲線連起來,即可得到PR曲線。

因此,PR曲線即是以召回率R為橫軸,精度P為縱軸畫出的曲線,如下圖:

機器學習算法評價參數指标(機器學習中的評價指标)11

6、AP(Average Precision)值

PR曲線下的面積稱為AP(Average Precision),表示召回率從0-1的平均精度值。如何計算AP呢?很顯然,根據數學知識,可用積分進行計算,公式如下:

機器學習算法評價參數指标(機器學習中的評價指标)12

顯然,這個面積的數值不會大于1。PR曲線下的面積越大,模型性能則越好。性能優的模型應是在召回率(R)增長的同時保持精度(P)值都在一個較高的水平,而性能較低的模型往往需要犧牲很多P值才能換來R值的提高。如下圖所示,有兩條PR曲線,可以看出,PR1曲線為性能較優的模型表現形式,PR1曲線下的面積明顯大于PR2曲線下的面積。對于PR1曲線,随着R值的增長,P值仍能保持在一個較高的水平;而對于PR2曲線,随着R值的增長,P值則不斷下降,因此是通過犧牲P值才能換得R值的提高。

機器學習算法評價參數指标(機器學習中的評價指标)13

除了使用積分方法計算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進行加權調和,表達式如下:

機器學習算法評價參數指标(機器學習中的評價指标)14

而我們最常用的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曲線示例如下:

機器學習算法評價參數指标(機器學習中的評價指标)15

一般來說,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)。

機器學習算法評價參數指标(機器學習中的評價指标)16

将預測框與真實框提取如下圖,兩者的交集區域為左下圖斜線填充的部分,兩者的并集區域為右下圖藍色填充的區域。IoU即為:

左邊斜線填充的面積/右邊藍色填充的總面積。

機器學習算法評價參數指标(機器學習中的評價指标)17

預測框與真實框交集與并集示例

在目标檢測任務中,通常取IoU≥0.5,認為召回。如果IoU阈值設置更高,召回率将會降低,但定位框則更加精确。

理想的情況,當然是預測框與真實框重疊越多越好,如果兩者完全重疊,則交集與并集面積相同,此時IoU等于1。

11、Top1與TopK

Top1:對一張圖片,模型給出的識别概率中(即置信度分數),分數最高的為正确目标,則認為正确。這裡的目标也就是我們說的正例。

TopK: 對一張圖片,模型給出的識别概率中(即置信度分數),分數排名前K位中包含有正确目标(正确的正例),則認為正确。

K的取值一般可在100以内的量級,當然越小越實用。比如較常見的,K取值為5,則表示為Top5,代表置信度分數排名前5當中有一個是正确目标即可;如果K取值100,則表示為Top100,代表置信度分數排名前100當中有一個是正确目标(正确的正例)即可。可見,随着K增大,難度下降。

例如,在一個數據集裡,我們對前5名的置信度分數進行排序,結果如下:

機器學習算法評價參數指标(機器學習中的評價指标)18

上表中,取阈值T=0.45,排名前5的置信度分數均大于阈值,因此都識别為正例。對于Top1來說,即ID号為4的圖片,實際屬性卻是負例,因此目标識别錯誤。而對于Top5來說,排名前5的置信度分數中,有識别正确的目标,即ID号為2、20的圖片,因此認為正确。

在常見的人臉識别算法模型中,正确率是首當其沖的應用宣傳指标。事實上,對同一個模型來說,各個性能指标也并非一個靜止不變的數字,會随着應用場景、人臉庫數量等變化而變化。因此,實際應用場景下的正确率跟實驗室環境下所得的正确率一定是存在差距的,某種程度上說,實際應用場景下的正确率更具有評價意義。

@咪付

版權聲明

本文版權歸《咪付》,轉載請自行聯系

機器學習算法評價參數指标(機器學習中的評價指标)19

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved