機器學習模型的性能度量方法

       對機器學習模型進行評估,不僅需要有效的實驗評估方法,還需要有衡量模型泛化能力的評價指標,在這裏總結一下常用的機器學習模型的性能度量方法,總結不完善的地方歡迎大家留言補充。

       以二分類爲例,首先給出分類結果混淆矩陣:

真實情況 預測結果
正例 反例
正例 TP FN
反例 FP TN
       上面表格各個變量代表的意義:
              :將       正例預測爲正例數;
       FN:將正例預測爲負例數;
       FP:將負例預測爲正例數;
       TN:將負例預測爲負例數;

一準確率

Accuracy=TP+TNTP+FN+FP+TN Accuracy=\frac{TP+TN}{TP+FN+FP+TN}

二精確率(查準率)

P=TPTP+FP P=\frac{TP}{TP+FP}

三召回率(查全率)

R=TPTP+FN R=\frac{TP}{TP+FN}

F1F_{1}

2F1=1P+1R \frac{2}{F_{1}}=\frac{1}{P}+\frac{1}{R}

可以得到:

F1=2TP2TP+FP+FN F_{1} = \frac{2TP}{2TP+FP+FN}

五P-R曲線

       以精確率爲縱軸,以召回率爲橫軸,得到的就是“P-R曲線”。能夠直觀的顯示出機器學習樣本在總體上的精確率和召回率。

       平衡點(Break-Even Point,BEP),精確率等於召回率的點。

P-R曲線如下圖所示:

在這裏插入圖片描述
       利用P-R曲線以及平衡點來比較機器學習的性能還是簡單化了些,更常用F1F_{1}值來度量

六ROC曲線

       很多機器學習的預測就是爲測試樣本產生一個預測的實值或者概率值,然後與分類的閾值進行比較,若大於這個閾值則分爲正類,反之則爲負類。如果想要精確率高點,則閾值稍微高點,對排序中靠前的位置進行截斷;如果想要召回率高點,則閾值稍微低點,對排序中靠後的位置進行截斷。因此,排序本身的質量好壞,體現了綜合考慮學習器在不同任務下的“期望泛化性能”的好壞,或者說,“一般情況下”泛化能力的好壞,ROC曲線就是從這個角度出發來研究機器學習泛化性能的有力工具。

       首先介紹兩個公式,“真正例率(True Positive Rate,TPR)和“假正例率(False Positive Rate,FPR)”,分別定義爲:

TPR=TPTP+FN TPR=\frac{TP}{TP+FN}

FPR=FPTN+FP FPR=\frac{FP}{TN+FP}
以TPR爲縱軸,以FPR爲橫軸,得到的曲線圖形就是“ROC圖”。如下圖所示:

在這裏插入圖片描述

七AUC

       AUC就是ROC曲線下的面積。

參考文獻

[1] 周志華. 機器學習

[2] 李航. 統計學方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章