分類 - 模型評估


對模型進行評估時,可以選擇很多種指標,但不同的指標可能得到不同的結果,如何選擇合適的指標,需要取決於任務需求。

 

正確率與錯誤率

正確率:正確分類的樣本數/總樣本數,accuracy

錯誤率:錯誤分類的樣本數/總樣本數,error

正確率+錯誤率=1

這兩種指標最簡單,也最常用

缺點

1. 不一定能反應模型的泛化能力,如類別不均衡問題。

2. 不能滿足所有任務需求

如有一車西瓜,任務一:挑出的好瓜中有多少實際是好瓜,任務二: 所有的好瓜有多少被挑出來了,顯然正確率和錯誤率不能解決這個問題。

 

查准率與查全率

先認識幾個概念

正樣本/正元組:目標元組,感興趣的元組

負樣本/負元組:其他元組

對於二分類問題,模型的預測結果可以划分為:真正例 TP、假正例 FP、真負例 TN、 假負例 FN,

真正例就是實際為正、預測為正,其他同理

顯然 TP+FP+TN+FN=總樣本數

 

混淆矩陣

把上面四種划分用混淆矩陣來表示

從而得出如下概念

查准率:預測為正里多少實際為正,precision,也叫精度

查全率:實際為正里多少預測為正,recall,也叫召回率

 

查准率和查全率是一對矛盾的度量。通常來講,查准率高,查全率就低,反之亦然。

例如還是一車西瓜,我希望將所有好瓜盡可能選出來,如果我把所有瓜都選了,那自然所有好瓜都被選了,這就需要所有的瓜被識別為好瓜,此時查准率較低,而召回率是100%,

如果我希望選出的瓜都是好瓜,那就要慎重了,寧可不選,不能錯選,這就需要預測為正就必須是真正例,此時查准率是100%,查全率可能較低。

注意我說的是可能較低,通常如果樣本很好分,比如正的全分到正的,負的全分到負的,那查准率、查全率都是100%,不矛盾

 

P-R曲線

既然矛盾,那兩者之間的關系應該如下圖

這條曲線叫 P-R曲線,即查准率-查全率曲線。

 

這條曲線怎么畫出來的呢?可以這么理解,假如我用某種方法得到樣本是正例的概率(如用模型對所有樣本進行預測),然后把樣本按概率排序,從高到低

如果模型把第一個預測為正,其余預測為負,此時查准率為1,查全率接近於0,

如果模型把前2個預測為正,其余預測為負,此時查准率稍微降低,查全率稍微增加,

依次...

如果模型把除最后一個外的樣本預測為正,最后一個預測為負,那么查准率很低,查全率很高。

此時我把數據順序打亂,畫出來的圖依然一樣,即上圖。

 

既然查准率和查全率互相矛盾,那用哪個作為評價指標呢?或者說同時用兩個指標怎么評價模型呢?

兩種情形

1. 如果學習器A的P-R曲線能完全“包住”學習器C的P-R曲線,則A的性能優於C

2. 如果學習器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

很多學習器是為樣本生成一個概率,然后和設定閾值進行比較,大於閾值為正例,小於為負例,如邏輯回歸。

而模型的優劣取決於兩點:

1. 這個概率的計算准確與否

2. 閾值的設定

我們把計算出的概率按從大到小排序,然后在某個點划分開,這個點就是閾值,可以根據實際任務需求來確定這個閾值,比如更重視查准率,則閾值設大點,若更重視查全率,則閾值設小點,

這里體現了同一模型的優化,

不同的模型計算出的概率是不一樣的,也就是說樣本按概率排序時順序不同,那切分時自然可能分到不同的類,

這里體現了不同模型之間的差異,

所以ROC可以用來模型優化和模型選擇,理論上講 P-R曲線也可以

 

ROC 曲線

ROC曲線的繪制方法與P-R曲線類似,不再贅述,結果如下圖

橫坐標為假正例率,即 把 負例 識別為 正例 占 負例 的比率,FP/(FP+TN);

縱坐標為真正例率,即 把 正例 識別為 正例 占 正例 的比率,TP/(TP+FN);

曲線下的面積叫 AUC;

ROC 曲線說明了一個問題:TP 增加時,FP 也增加

怎么理解呢?當我們 接受 更多的好東西時,就一定也接受了更多的壞東西,比如改革開放,引進先進技術的同時,也引入了歪風邪氣;

 

ROC 評價

1. 若學習器A的ROC曲線能包住學習器B的ROC曲線,則A優於B

2. 若學習器A的ROC曲線與學習器B的ROC曲線相交,則難以比較孰優孰劣,此時可以比較AUC的大小

3. 根據需求確定不同的曲線,如門臉鎖,我們要確保外人絕對不能進入,也就是寧可漏,不可錯,

此時我們需要關注的是 FP 極低 的情況下,TP 高,如下圖

5. EER

 

總結

1. 模型評估主要考慮兩種場景:類別均衡,類別不均衡

2. 模型評估必須考慮實際任務需求

3. P-R 曲線和 ROC曲線可以用於模型選擇

4. ROC曲線可以用於模型優化

 

 

參考資料:

周志華《機器學習》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM