小孩都看得懂的 ROC
點(diǎn)擊下面卡片關(guān)注“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
0
數(shù)據(jù)
一切要從分類問題開始,先看數(shù)據(jù)。
數(shù)據(jù)有兩類,藍(lán)點(diǎn)表示正類 (positive class),紅點(diǎn)表示負(fù)類 (negative class)。

兩個(gè)具體例子:
腫瘤診斷:惡性腫瘤 (正類)、良性腫瘤 (負(fù)類)
郵件分類:垃圾郵件 (正類)、正常郵件 (負(fù)類)
慣例:通常想預(yù)測出來的類別定義為正類。
1
模型
下圖的線段當(dāng)成模型,作用是將藍(lán)點(diǎn)和紅點(diǎn)分開。

仔細(xì)看,這條線段被設(shè)計(jì)成紅藍(lán)相配,含義就是說面向線段紅色部分的點(diǎn)被劃分為紅點(diǎn),而面向線段藍(lán)色部分的點(diǎn)被劃分為藍(lán)點(diǎn)。
2
模型會犯錯誤哦
從下圖看有兩個(gè)點(diǎn)分類錯誤,而它們是兩種類型的錯誤。

先看線段上面:紅點(diǎn) (真實(shí)負(fù)類) 被當(dāng)作藍(lán)點(diǎn) (預(yù)測正類),該錯誤叫做假正類 (false positive)
再看線段下面:藍(lán)點(diǎn) (真實(shí)正類) 被當(dāng)作紅點(diǎn) (預(yù)測負(fù)類),該錯誤叫做假負(fù)類 (false negative)
3
兩個(gè)模型
讓我們給相同的數(shù)據(jù)賦予兩個(gè)故事。

故事一講述一個(gè)醫(yī)用分類模型,它負(fù)責(zé)區(qū)分生病的人 (正類) 和健康的人 (負(fù)類)。
故事二講述一個(gè)郵件分類模型,它負(fù)責(zé)區(qū)分垃圾郵件 (正類) 和正常郵件 (負(fù)類)。
讓我們一一來研究它們。
5
醫(yī)用分類模型
在此模型下,生病的人是正類,健康的人是負(fù)類,那么
把健康的人 (真實(shí)負(fù)類) 預(yù)測為生病的人 (預(yù)測正類),該錯誤叫做假正類 (false positive)。
把生病的人 (真實(shí)正類) 被當(dāng)作健康的人 (預(yù)測負(fù)類),該錯誤叫做假負(fù)類 (false negative)

哪種錯誤更嚴(yán)重?
假負(fù)類是吧,人病了卻預(yù)測沒病不去治療,萬一是絕癥后果不堪設(shè)想。
假正類還行,人沒病卻預(yù)測病了去測試,頂多花點(diǎn)時(shí)間花點(diǎn)錢嘛。
結(jié)論:醫(yī)用分類模型應(yīng)該減少假負(fù)類。

上圖這個(gè)線段 (模型) 可還行,沒有假負(fù)類,即便有增大假正類的代價(jià)。
6
郵件分類模型
在此模型下,垃圾郵件是正類,正常郵件是負(fù)類,那么
把正常郵件 (真實(shí)負(fù)類) 預(yù)測為垃圾郵件 (預(yù)測正類),該錯誤叫做假正類 (false positive)。
把垃圾郵件 (真實(shí)正類) 被當(dāng)作正常郵件 (預(yù)測負(fù)類),該錯誤叫做假負(fù)類 (false negative)

哪種錯誤更嚴(yán)重?
假正類是吧,正常郵件 (可能是很重要的郵件) 預(yù)測為垃圾郵件,放到垃圾站中,多耽誤事兒啊。
假負(fù)類還行,垃圾郵件預(yù)測為正常郵件,呈現(xiàn)在你眼前,你刪了不就完了么,多大點(diǎn)事兒啊。
結(jié)論:郵件分類模型應(yīng)該減少假正類。

上圖這個(gè)線段 (模型) 可還行,沒有假正類,即便有增大假負(fù)類的代價(jià)。
7
記錄錯誤
醫(yī)用分類模型 (希望假負(fù)類最少) 和郵件分類模型 (希望假正類最少) 屬于兩個(gè)極端,絕大部分的分類模型在“中間”,即犯一點(diǎn)假負(fù)類,犯一點(diǎn)假正類。
那么如何記錄假負(fù)類和假正類呢?
先從下圖的最簡單模型開始,請思考多個(gè)點(diǎn)分類錯誤?

還記得線段被設(shè)計(jì)成紅藍(lán)相配的用意嗎?面向線段藍(lán)色部分的都被歸類為藍(lán)點(diǎn),那么 5 個(gè)真實(shí)藍(lán)點(diǎn)都預(yù)測對了,5 個(gè)真實(shí)紅點(diǎn)都預(yù)測錯了。

第 0 步:將上述結(jié)果用表格和網(wǎng)格圖表示如下:

表格記錄的正確紅點(diǎn)個(gè)數(shù)為 0,正確藍(lán)點(diǎn)個(gè)數(shù)為 5,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (0, 5) 上面“放”一個(gè)點(diǎn)。
第 1 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)變成 1,正確藍(lán)點(diǎn)個(gè)數(shù)還是為 5,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (1, 5) 上面“放”一個(gè)點(diǎn)。

第 2 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)變成 2,正確藍(lán)點(diǎn)個(gè)數(shù)還是為 5,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (2, 5) 上面“放”一個(gè)點(diǎn)。

第 3 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)還是為 2,正確藍(lán)點(diǎn)個(gè)數(shù)變成 4,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (2, 4) 上面“放”一個(gè)點(diǎn)。

第 4 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)變成 3,正確藍(lán)點(diǎn)個(gè)數(shù)還是為 4,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (3, 4) 上面“放”一個(gè)點(diǎn)。

第 5 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)變成 4,正確藍(lán)點(diǎn)個(gè)數(shù)還是為 4,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (4, 4) 上面“放”一個(gè)點(diǎn)。

第 6 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)還是為 4,正確藍(lán)點(diǎn)個(gè)數(shù)變成 3,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (4, 3) 上面“放”一個(gè)點(diǎn)。

第 7 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)變成 5,正確藍(lán)點(diǎn)個(gè)數(shù)還是為 3,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (5, 3) 上面“放”一個(gè)點(diǎn)。

第 8 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)還是為 5,正確藍(lán)點(diǎn)個(gè)數(shù)變成 2,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (5, 2) 上面“放”一個(gè)點(diǎn)。

第 9 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)還是為 5,正確藍(lán)點(diǎn)個(gè)數(shù)變成 1,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (5, 1) 上面“放”一個(gè)點(diǎn)。

第 10 步:接著將線段延斜上方平移一下,現(xiàn)在正確紅點(diǎn)個(gè)數(shù)還是為 5,正確藍(lán)點(diǎn)個(gè)數(shù)變成 0,在對應(yīng)的網(wǎng)格圖中,在坐標(biāo) (5, 0) 上面“放”一個(gè)點(diǎn)。

流程結(jié)束,前戲做完,下面介紹 ROC 和 AUC。
8
ROC 和 AUC
ROC 全稱是 receiver operating characteristic,ROC 曲線中文叫做接收者操作特征曲線。為什么叫這個(gè)名字其實(shí)我也不知道,也不想知道,又繞口又惡心。
我們只需要知道網(wǎng)格圖那些點(diǎn)連成的線就是 ROC 曲線。

ROC 曲線以下和橫軸豎軸包圍起來的面積叫做 AUC,全稱是 Area Under the Curve,這倒是怪形象的。陰影包含 21 個(gè)小正方形,不難看出其面積為 21。

通常為了比較不同模型好壞,AUC 會做一個(gè)標(biāo)準(zhǔn)化,即用陰影面積除以整個(gè)網(wǎng)格面積,則得到 21/25 = 0.84。

一般來說,AUC 越高,模型越好。
9
模型背景
在絕大多數(shù)背景下選擇分類模型,下圖框出的點(diǎn) (4, 4) 的對應(yīng)模型“最優(yōu)”,只有一個(gè)假負(fù)類和假正類的錯誤。

如果賦予醫(yī)用背景,那么 (2, 5) 點(diǎn)對應(yīng)的模型最優(yōu),沒有假負(fù)類,假正類在同等條件下最少。
如果賦予郵件背景,那么 (5, 3) 點(diǎn)對應(yīng)的模型最優(yōu),沒有假正類,假負(fù)類在同等條件下最少。

10
模型選擇
為了解釋本節(jié)內(nèi)容,注意數(shù)據(jù)稍微有些改變。
仔細(xì)觀看紅點(diǎn)藍(lán)點(diǎn)的位置,然后想想將線段往斜上方平移,總是有大概一半情況分類錯誤。

用上述方法繪制 ROC 曲線并計(jì)算 AUC 得到 0.52。

結(jié)論:隨機(jī)模型的 AUC 在 0.5 左右。
模型二比隨機(jī)模型稍微好些。

將線段往斜下方平移,用上述方法繪制 ROC 曲線并計(jì)算 AUC 得到 0.8。

模型三是完美模型。

將線段往斜下方平移,用上述方法繪制 ROC 曲線并計(jì)算 AUC 得到 1,下圖點(diǎn) (5, 5) 對應(yīng)的模型是完美的,沒有任何分類錯誤。

下圖的模型是超爛模型么?

將線段往斜上方平移,用上述方法繪制 ROC 曲線并計(jì)算 AUC 得到 0。

比較上述四個(gè)模型的 AUC。

超爛模型真的比隨機(jī)模型爛嗎?其實(shí)不然,其實(shí)將爛模型,哦不對,爛線段,轉(zhuǎn)個(gè) 180 度,是不是變成完美模型了?AUC 是不是為 1 了?

就好比一個(gè)天天預(yù)測股價(jià)漲跌的人,正確率為 0,你根據(jù)他的預(yù)測反向操作,你就是股神。
所以最爛模型是隨機(jī)模型!
個(gè)人微信(如果沒有備注不拉群!) 請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱
下載1:何愷明頂會分享
在「AI算法與圖像處理」公眾號后臺回復(fù):何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結(jié)分析
下載2:終身受益的編程指南:Google編程風(fēng)格指南
在「AI算法與圖像處理」公眾號后臺回復(fù):c++,即可下載。歷經(jīng)十年考驗(yàn),最權(quán)威的編程規(guī)范!
下載3 CVPR2021 在「AI算法與圖像處理」公眾號后臺回復(fù):CVPR,即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文
點(diǎn)亮
,告訴大家你也在看
