效能度量

希望每天漲粉發表於2021-12-02
效能度量
  對於分類任務,錯誤率和精度是最常用的兩種效能度量:
    • 錯誤率:分錯樣本佔樣本總數的比例
    • 精度:分對樣本佔樣本總數的比率
分類錯誤率(error rate )
  $E(f ; D)=\frac{1}{m} \sum \limits _{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right)$
精度( accuracy )
  $\begin{aligned}\operatorname{acc}(f ; D) &=\frac{1}{m} \sum \limits _{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\&=1-E(f ; D)\end{aligned}$
Confusion Matrix
  統計真實標記和預測結果的組合可以得到“混淆矩陣”:
        

              

準確率 (Accuracy )= $\frac{T P+T N}{T P+T N+F P+F N}$   預 測 正 確 的 結 果 佔 總 樣 本 的 百 分 比 

查準率 ( Precision ) =  $\frac{T P}{TP+F P}$    挑出的西瓜中有多少比例是好的? 

查全率/召回率/敏感度 ( Recall/Sensitivity ) =  $\frac{T P}{T P+F N} $

P-R曲線
  • 若一個學習演算法的PR曲線被另一個學習演算法的曲線完全“包住”,則可認為後者的效能優於前者,如A優於C;
  • 若兩個學習演算法的PR曲線發生交叉(如A和B),則難以判斷孰優孰劣,只能在具體的查準率和查全率條件下進行比較;
    • 可通過比較P-R曲線下的面積(PR-AUC)
    • 利用平衡點(即P=R時的取值)
    • 利用F1度量
        
比P-R曲線平衡點更用常用的是F1度量: 
  $F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 樣例總數 }+T P-T N}$
比F1更一般的形式   $F_{\beta}$  度量: 

  $ \beta=1$: 標準F1
  $\beta>1 $: 偏重查全率(逃犯資訊檢索)
  $  \beta<1$  : 偏重查準率(商品推薦系統)

巨集平均

  我們希望在 $ \mathrm{n} $ 個二分類混淆矩陣上綜合考慮查準率和查全率
  先在混淆矩陣上分別計算出查準率和查全率,記為  $\left(P_{1}, R_{1}\right),\left(P_{2}, R_{2}\right), \ldots,\left(P_{n}, R_{n}\right) $, 再計算平均值,這樣得到“巨集查準率”、“巨集查全率”以及“巨集 F1 ” :

    $\begin{aligned}\text { macro }-\boldsymbol{P} &=\frac{1}{n} \sum \limits _{i=1}^{n} P_{i} \\\text { macro }-\boldsymbol{R} &=\frac{1}{n} \sum \limits _{i=1}^{n} R_{i} \\\text { macro }-\boldsymbol{F} \mathbf{1} &=\frac{2 \times \text { macro }-P \times \text { macro }-R}{\text { macro }-P+\text { macro }-R}\end{aligned}$

微平均
  先將混淆矩陣的對應元素進行平均,得到 TP、FP、TN、FN 的平均值,分別 記為  $\overline{T P}, \overline{F P}, \overline{T N} 、 \overline{F N}$ ,再基於這些平均值計算尺“微查準率”、“微查全率”以 及 “微 F1” :
    $\begin{array}{l}\text { micro }-P=\frac{\overline{T P}}{\overline{T P}+\overline{F P}} \\\text { micro }-R=\frac{\overline{T P}}{\overline{T P}+\overline{F N}} \\\text { micro }-F 1=\frac{2 \times \text { micro }-P \times \text { micro }-R}{\text { micro }-P+\text { micro }-R}\end{array}$
巨集平均 vs 微平均
Macro-averaging vs. Micro-averaging
  • l Macro-averaged gives equal weight to each class
  • l Micro-averaged gives equal weight to each per-instance classification decision
  • l Macro-averaging is a good choice when you get a sense of effectiveness on small classes
  • l Micro-averaging is a good choice on the large classes because large classes dominate small classes in micro-averaging
  • l Macro-averaging evaluates the system performance overall across the sets of data, can not get any specific decision with it
  • l Micro-average can be a useful measure when the dataset varies in size
真正率 & 假正率

  真正率 (TPR ) = 靈敏度/召回率 = $\mathrm{TP} /(\mathrm{TP}+\mathrm{FN}) $ 正例中有多少樣本被檢測出
  假正率 (FPR ) = 1- 特異度 = $\mathrm{FP} /(\mathrm{FP}+\mathrm{TN}) $ 負例中有多少樣本被錯誤覆蓋
    

       

所以無論樣本是否平衡,都不會被影響。
ROC與AUC
  ROC(Receiver Operating Characteristic)曲線,又稱接受者操作特徵曲線。該曲線最早應用於雷達訊號檢測領域,用於區分訊號與噪聲。後來人們將其用於評價模型的預測能力,ROC 曲線是基於混淆矩陣得出的。
 
如何繪製ROC曲線?
  與前面的 P-R 曲線類似,ROC 曲線也是通過遍歷所有閾值 來繪製整條曲線如果我們不斷的遍歷所有閾值,預測的正樣本和負樣本是在不斷變化的,相應的在 ROC 曲線圖中也會沿著曲線滑動。
        
  若某個學習器的ROC曲線被另一個學習器的曲線“包住”,則後者效能優於前者;
  否則如果曲線交叉,可以根據ROC曲線下面積大小進行比較,也即AUC值.
        

  假設ROC曲線由 $\left\{\left(x_{i}, y_{i}\right)\right\}_{i=1}^{m}$ 的點按序連線而 形成 $\left(x_{1}=0, x_{m}=1\right)$ 則 $A \cup C$ 可估算為 :

    $\mathrm{AUC}=\frac{1}{2} \sum_{i=1}^{m-1}\left(x_{i+1}-x_{i}\right) \cdot\left(y_{i}+y_{i+1}\right)$

  AUC衡量了樣本預測的排序質量。

代價敏感錯誤率
  現實任務中不同型別的錯誤所造成的後果很可能不同,為了權衡不同型別錯誤所造成的不同損失,可為錯誤賦予“非均等代價”。
  以二分類為例,可根據領域知識設定 "代價矩陣" ,如下表所示,其中  $\cos t_{i j}$  表示將第 $i$ 類樣本預測為第 $j$ 類樣本的代價。損失程度越大, $cost  _{01}$  與  $\operatorname{cost}_{10}$  值的差別越大。
        

  在非均等代價下,不再最小化錯誤次數,而是最小化“總體代價”,則“代價敏感”錯誤率相應的為:

    $E(f ; D ; \operatorname{cost})=\frac{1}{m}\left(\sum \limits _{x_{i} \in D^{+}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times \operatorname{cost}_{01}+\sum \limits_{x_{i} \in D^{-}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times \operatorname{cost}_{10}\right)$
代價曲線
  在非均等代價下,ROC曲線不能直接反映出學習器的期望總體代價,而“代價曲線”可以。
  代價曲線的橫軸是取值為[0,1]的正例概率代價

    $P(+) \operatorname{cost}=\frac{p \times \cos t_{01}}{p \times \operatorname{cost}_{01}+(1-p) \times \operatorname{cost}_{10}}$

  縱軸是取值為 $[0,1] $ 的歸一化代價

    $\operatorname{cost}_{n o r m}=\frac{\text { FNR } \times p \times \operatorname{cost}_{01}+\text { FPR } \times(1-p) \times \operatorname{cost}_{10}}{p \times \operatorname{cost}_{01}+(1-p) \times \operatorname{cost}_{10}}$

  代價曲線圖的繪製:ROC曲線上每個點對應了代價曲線上的一條線段,設ROC曲線上點的座標為(TPR,FPR),則可相應計算出FNR,然後在代價平面上繪製一條從(0,FPR)到(1,FNR)的線段,線段下的面積即表示了該條件下的期望總體代價;如此將ROC曲線上的每個點轉化為代價平面上的一條線段,然後取所有線段的下界,圍成的面積即為所有條件下學習器的期望總體代價。
        

 

 
 『總結不易,加個關注唄!』
         

 

 

 

相關文章