作者:努力的孔子
對模型進行評估時,可以選擇很多種指標,但不同的指標可能得到不同的結果,如何選擇合適的指標,需要取決于任務需求。
正確率與錯誤率
正確率:正確分類的樣本數/總樣本數,accuracy
錯誤率:錯誤分類的樣本數/總樣本數,error
正確率+錯誤率=1
這兩種指標最簡單,也最常用
缺點
不一定能反應模型的泛化能力,如類別不均衡問題。
不能滿足所有任務需求
如有一車西瓜,任務一:挑出的好瓜中有多少實際是好瓜,任務二: 所有的好瓜有多少被挑出來了,顯然正確率和錯誤率不能解決這個問題。
查準率與查全率
先認識幾個概念
正樣本/正元組:目標元組,感興趣的元組
負樣本/負元組:其他元組
對于二分類問題,模型的預測結果可以劃分為:真正例 TP、假正例 FP、真負例 TN、 假負例 FN,
真正例就是實際為正、預測為正,其他同理
顯然 TP+FP+TN+FN=總樣本數
混淆矩陣
把上面四種劃分用混淆矩陣來表示
從而得出如下概念
查準率:預測為正里多少實際為正,precision,也叫精度
查全率:實際為正里多少預測為正,recall,也叫召回率
查準率和查全率是一對矛盾的度量。通常來講,查準率高,查全率就低,反之亦然。
例如還是一車西瓜,我希望將所有好瓜盡可能選出來,如果我把所有瓜都選了,那自然所有好瓜都被選了,這就需要所有的瓜被識別為好瓜,此時查準率較低,而召回率是100%,
如果我希望選出的瓜都是好瓜,那就要慎重了,寧可不選,不能錯選,這就需要預測為正就必須是真正例,此時查準率是100%,查全率可能較低。
注意我說的是可能較低,通常如果樣本很好分,比如正的全分到正的,負的全分到負的,那查準率、查全率都是100%,不矛盾。
P-R曲線
既然矛盾,那兩者之間的關系應該如下圖
這條曲線叫 P-R曲線,即查準率-查全率曲線。
這條曲線怎么畫出來的呢?可以這么理解,假如我用某種方法得到樣本是正例的概率(如用模型對所有樣本進行預測),然后把樣本按概率排序,從高到低
如果模型把第一個預測為正,其余預測為負,此時查準率為1,查全率接近于0,
如果模型把前2個預測為正,其余預測為負,此時查準率稍微降低,查全率稍微增加,
依次...
如果模型把除最后一個外的樣本預測為正,最后一個預測為負,那么查準率很低,查全率很高。
此時我把數據順序打亂,畫出來的圖依然一樣,即上圖。
既然查準率和查全率互相矛盾,那用哪個作為評價指標呢?或者說同時用兩個指標怎么評價模型呢?
兩種情形
如果學習器A的P-R曲線能完全“包住”學習器C的P-R曲線,則A的性能優于C
如果學習器A的P-R曲線與學習器B的P-R曲線相交,則難以判斷孰優孰劣,此時通常的作法是,固定查準率,比較查全率,或者固定查全率,比較查準率。
通常情況下曲線會相交,但是人們仍希望把兩個學習器比出個高低,一個合理的方式是比較兩條P-R曲線下的面積。
但是這個面積不好計算,于是人們又設計了一些其他綜合考慮查準率查全率的方式,來替代面積計算。
平衡點:Break-Event Point,簡稱BEP,就是選擇 查準率=查全率 的點,即上圖,y=x直線與P-R曲線的交點
這種方法比較暴力
F1 與 Fβ 度量
更常用的方法是F1度量
即 F1 是 P 和 R 的調和平均數。
與算數平均數 和 幾何平均數相比,調和平均數更重視較小值。
在一些應用中,對查準率和查全率的重視程度有所不同。
例如商品推薦系統,為了避免騷擾客戶,希望推薦的內容都是客戶感興趣的,此時查準率比較重要,
又如資料查詢系統,為了不漏掉有用信息,希望把所有資料都取到,此時查全率比較重要。
此時需要對查準率和查全率進行加權
即 P 和 R 的加權調和平均數。
β>0,β度量了查全率對查準率的重要性,β=1時即為F1
β>1,查全率更重要,β<1,查準率更重要
多分類的F1
多分類沒有正例負例之說,那么可以轉化為多個二分類,即多個混淆矩陣,在這多個混淆矩陣上綜合考慮查準率和查全率,即多分類的F1
方法1
直接在每個混淆矩陣上計算出查準率和查全率,再求平均,這樣得到“宏查準率”,“宏查全率”和“宏F1”
方法2
把混淆矩陣中對應元素相加求平均,即 TP 的平均,TN 的平均,等,再計算查準率、查全率、F1,這樣得到“微查準率”,“微查全率”和“微F1”
ROC 與 AUC
很多學習器是為樣本生成一個概率,然后和設定閾值進行比較,大于閾值為正例,小于為負例,如邏輯回歸。
而模型的優劣取決于兩點:
這個概率的計算準確與否
閾值的設定
我們把計算出的概率按從大到小排序,然后在某個點劃分開,這個點就是閾值,可以根據實際任務需求來確定這個閾值,比如更重視查準率,則閾值設大點,若更重視查全率,則閾值設小點,
這里體現了同一模型的優化,
不同的模型計算出的概率是不一樣的,也就是說樣本按概率排序時順序不同,那切分時自然可能分到不同的類,
這里體現了不同模型之間的差異,
所以ROC可以用來模型優化和模型選擇,理論上講 P-R曲線也可以。
ROC曲線的繪制方法與P-R曲線類似,不再贅述,結果如下圖
橫坐標為假正例率,縱坐標為真正例率,曲線下的面積叫 AUC
如何評價模型呢?
若學習器A的ROC曲線能包住學習器B的ROC曲線,則A優于B
若學習器A的ROC曲線與學習器B的ROC曲線相交,則難以比較孰優孰劣,此時可以比較AUC的大小
總結
模型評估主要考慮兩種場景:類別均衡,類別不均衡
模型評估必須考慮實際任務需求
P-R 曲線和 ROC曲線可以用于模型選擇
ROC曲線可以用于模型優化
參考資料:
周志華《機器學習》
本文由博客一文多發平臺 OpenWrite 發布!
審核編輯 黃昊宇
-
模型
+關注
關注
1文章
3267瀏覽量
48923 -
機器學習
+關注
關注
66文章
8425瀏覽量
132770 -
深度學習
+關注
關注
73文章
5507瀏覽量
121274
發布評論請先 登錄
相關推薦
評論