看懂論文的機器學習基本知識(三)--假正例、假負例、ROC曲線
一、假正例和假負例
假正例(False Positive):預測為1,實際為0的樣本
假負例(False Negative):預測為0,實際為1的樣本
實際預測中,那些真正例(True Positive)和真負例(True Negative)都不會造成損失(cost)。
那麼,我們假設一個假正例的損失是LFP,一個假負例的損失是LFN。
我們可以得到一個損失矩陣:
y^=1 | y^=0 | |
y=1 | 0 | LFN |
y=0 | LFP | 0 |
其中,y是真實值,y^是預測值。
那麼,我們可以得到一個樣本的後驗期望損失:
例如,c=1時,我們對假正例和假負例同等對待,則可以得到我們的決策邊界0.5。
二、ROC曲線
1.混淆矩陣(confusion matrix)
針對預測值和真實值之間的關係,我們可以將樣本分為四個部分,分別是:
真正例(True Positive,TP):預測值和真實值都為1
假正例(False Positive,FP):預測值為1,真實值為0
真負例(True Negative,TN):預測值與真實值都為0
假負例(False Negative,FN):預測值為0,真實值為1
我們將這四種值用矩陣表示(圖片引自《machine learning:A Probabilistic Perspective》):
上面的矩陣就是混淆矩陣。
2.ROC曲線
通過混淆矩陣,我們可以得到真正例率(True Positive Rate , TPR):
我們還可以得到假正例率(False Positive Rate , FPR):
可以看到,TPR也就是我們所說的召回率,那麼只要給定一個決策邊界閾值,我們可以得到一個對應的TPR和FPR值,然而,我們不從這個思路來簡單的得到TPR和FPR,而是反過來得到對應的,我們檢測大量的閾值,從而可以得到一個TPR-FPR的相關圖,如下圖所示(圖片引自《machine learning:A Probabilistic Perspective》):
圖中的紅色曲線和藍色曲線分別表示了兩個不同的分類器的TPR-FPR曲線,曲線上的任意一點都對應了一個值。該曲線就是ROC曲線(receiver operating characteristic curve)。該曲線具有以下特徵:
- 一定經過(0,0)點,此時,沒有預測為P的值,TP和FP都為0
- 一定經過(1,1)點,此時,全都預測為P
- 最完美的分類器(完全區分正負樣例):(0,1)點,即沒有FP,全是TP
- 曲線越是“凸”向左上角,說明分類器效果越好
- 隨機預測會得到(0,0)和(1,1)的直線上的一個點
- 曲線上離(0,1)越近的點分類效果越好,對應著越合理的
從圖中可以看出,紅色曲線所代表的分類器效果好於藍色曲線所表示的分類器。
3.利用ROC的其他評估標準
- AUC(area under thecurve),也就是ROC曲線的下夾面積,越大說明分類器越好,最大值是1,圖中的藍色條紋區域面積就是藍色曲線對應的 AUC
- EER(equal error rate),也就是FPR=FNR的值,由於FNR=1-TPR,可以畫一條從(0,1)到(1,0)的直線,找到交點,圖中的A、B兩點。