性能度量


  性能度量
    對於分類任務,錯誤率和精度是最常用的兩種性能度量:
      • 錯誤率:分錯樣本占樣本總數的比例
      • 精度:分對樣本占樣本總數的比率
  錯誤率(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 )

      $ACC = \frac{T P+T N}{T P+T N+F P+F N}$

    預測正確的結果占總樣本的百分比 

  y_pred = [0, 2, 1, 2]

  y_true = [0, 1, 2, 3]

  print(accuracy_score(y_true, y_pred))  # 0.25

  4個樣本,就第一個預測正確,所以准確率為 0.25。

  查准率 ( Precision ) 

      $ P= \frac{T P}{TP+F P}$   

    即:對每一類     (好瓜)/(好瓜加壞瓜)

  y_true = [0, 1, 2, 0, 1, 2]

  y_pred = [0, 2, 1, 0, 0, 1]

  對於第 0 類,y_true 兩個 0,y_pred 三個 0, y_pred 三 個 0 都預測正確 2 個所以查准率為2/3;

  對於第 1 類,y_true 兩個 1,y_pred 個 1, y_pred 兩 個 1 都預測錯誤所以查准率為0;

  對於第 2 類,y_true 兩個 2,y_pred 個 2, y_pred 一 個 2 都預測錯誤所以查准率為0;

  查全率/召回率/敏感度 ( 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$  : 偏重查准率(商品推薦系統)

  宏平均

    是先對每一個類統計指標值,然后在對所有類求算術平均值。

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

  微平均
    是對數據集中的每一個實例不分類別進行統計建立全局混淆矩陣,然后計算相應指標。
      $\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曲線上的每個點轉化為代價平面上的一條線段,然后取所有線段的下界,圍成的面積即為所有條件下學習器的期望總體代價。
      
 
 『總結不易,加個關注唄!』
         


免責聲明!

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



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