1. 程式人生 > >看懂論文的機器學習基本知識(三)--假正例、假負例、ROC曲線

看懂論文的機器學習基本知識(三)--假正例、假負例、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^是預測值。

那麼,我們可以得到一個樣本的後驗期望損失:

clip_image002

clip_image002[6]

clip_image002[8]的時候,我們會預測結果為y^1=1,此時

clip_image002[10]

假設,clip_image002[12],那麼我們可以得到決策規則:

clip_image002[14]

其中,clip_image002[16],也就是我們的決策邊界。

例如,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》):

    image

    上面的矩陣就是混淆矩陣。

2.ROC曲線

     通過混淆矩陣,我們可以得到真正例率(True Positive Rate , TPR):

    clip_image002

    我們還可以得到假正例率(False Positive Rate  , FPR):

    clip_image002[5]

    可以看到,TPR也就是我們所說的召回率,那麼只要給定一個決策邊界閾值clip_image002[7],我們可以得到一個對應的TPR和FPR值,然而,我們不從這個思路來簡單的得到TPR和FPR,而是反過來得到對應的clip_image002[9],我們檢測大量的閾值clip_image002[7],從而可以得到一個TPR-FPR的相關圖,如下圖所示(圖片引自《machine learning:A Probabilistic Perspective》):

image

    圖中的紅色曲線和藍色曲線分別表示了兩個不同的分類器的TPR-FPR曲線,曲線上的任意一點都對應了一個clip_image002[9]值。該曲線就是ROC曲線(receiver operating characteristic curve)。該曲線具有以下特徵:

  • 一定經過(0,0)點,此時clip_image002[13],沒有預測為P的值,TP和FP都為0
  • 一定經過(1,1)點,此時clip_image002[15],全都預測為P
  • 最完美的分類器(完全區分正負樣例):(0,1)點,即沒有FP,全是TP
  • 曲線越是“凸”向左上角,說明分類器效果越好
  • 隨機預測會得到(0,0)和(1,1)的直線上的一個點
  • 曲線上離(0,1)越近的點分類效果越好,對應著越合理的clip_image002[9]

    從圖中可以看出,紅色曲線所代表的分類器效果好於藍色曲線所表示的分類器。

3.利用ROC的其他評估標準

  • AUC(area under thecurve),也就是ROC曲線的下夾面積,越大說明分類器越好,最大值是1,圖中的藍色條紋區域面積就是藍色曲線對應的 AUC
  • EER(equal error rate),也就是FPR=FNR的值,由於FNR=1-TPR,可以畫一條從(0,1)到(1,0)的直線,找到交點,圖中的A、B兩點。