ROC曲線 直白詳解

ROC曲線

  • 定義

信號檢測理論中,接收者操作特徵曲線receiver operating characteristic curve,或者叫ROC曲線)是一種座標圖式的分析工具,用於
(1) 選擇最佳的信號偵測模型、捨棄次佳的模型。
(2) 在同一模型中設定最佳閾值。

這裏我們只要記得 ROC曲線 主要是用來確定一個模型的 閾值。

  • 理解
    既然我們想要直白來理解 ROC曲線,那麼例子是肯定少不了的:
    假設1:感冒有三種特徵,咳嗽,發燒,流鼻涕。
    假設2:如果想確定一個人是否得了感冒,可以根據三種特徵來打分,每個特徵可以打 0-1 分。打分越高,得感冒概率越高。
    假設3:現在你是一個醫生,有100個病人來看病,你需要根據這些人的三個感冒特徵給他們打分,得到如下一組數據 (編號,分數)

    (1,2) (2,2.4) (2,0.4)....(100,3)
    

    假設4:我是一個神醫,能百分百確定別人是否得了感冒。然後我看了你的報告,並給每個數據都給了確定的答案,所以數據就變成了(編號,是否真感冒,分數)(其中感冒60人,正常40人)

    (1,0,2) (2,1,2.4) (2,0,0.4)....(100,1,3)
    

    好了,現在問題來了,你是給每個病人打分了,病人也知道分數越高得感冒得概率越高,但是,到底得沒得感冒卻沒有一個標準,這個標準就是上面說的 閾值,所以接下來就是要想辦法確定這個 閾值或者標準了,那麼我們採用辦法呢?對於這種 二分類 問題的閾值,就是我們 ROC 曲線大展身手的時候了。

  • ROC 曲線 和 閾值

    • 閾值比較小的時候:
      如果我們認爲打 1 分以上的就是感冒患者,那麼只要有一點症狀就可以確診爲感冒了,這時候100個人,確診感冒的可能有 80 人,但是實際呢?可能80個人中只有50個是真感冒的,。如下圖
    閾值=1 診斷感冒 診斷正常 合計
    真感冒 50 10 60
    真正常 30 10 40
    合計 80 20 100
    • 閾值比較大的時候:
      如果我們認爲打 2 分以上的纔是感冒患者,這時候100個人,確診感冒的可能有 20 人,但是實際呢?真正感冒的可是60人,你確診20個,可能其中還有一個是誤診呢?如下圖
    閾值=2 診斷感冒 診斷正常 合計
    真感冒 19 41 60
    真正常 1 39 40
    合計 20 80 100
    • 那麼我們期望的是閾值不大不小,換句話理解就是,我們希望得到一個使得 診斷感冒/真感冒 趨於 1(如果你感冒了,我們儘量確診),診斷感冒/真正常 趨於 0(如果你正常,儘量不誤診)的閾值。在 ROC曲線中我們叫做 真陽率 和 假陽率

    • 所以我們一點點改變閾值,就可以得到一組又一組的 真陽率 和 假陽率 ,將這一組組 真陽率 和 假陽率在座標軸上表示出來,就是我們要的 ROC曲線,通過圖形化,我們就可以很直觀的取一個合適的閾值了。(這個圖只是隨便在網上找的,可不是這個列子的圖噢,我們大概看下 ROC曲線的 樣子就好了,哈哈)

好了,到這裏我們大概就講了下 ROC曲線 的由來:主要就是爲了方便我們直觀的求一個合適的 閾值罷了,並沒有什麼太高深的東西,值得一提的是,ROC 是從 預測爲真的角度來看待問題的,所以我們只需要考慮 診斷感冒 這個方面來計算

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