目錄:
(1) ROC曲線(xiàn)的由來(lái)
(2) 什么是ROC曲線(xiàn)
(3) ROC曲線(xiàn)的意義
(4) AUC面積的由來(lái)
(5) 什么是AUC面積
(6) AUC面積的意義
(7) 討論:在多分類(lèi)問(wèn)題下能不能使用ROC曲線(xiàn)
一、 ROC曲線(xiàn)的由來(lái)
很多學(xué)習器是為測試樣本產(chǎn)生一個(gè)實(shí)值或概率預測,然后將這個(gè)預測值與一個(gè)分類(lèi)閾值進(jìn)行比較,若大于閾值則分為正類(lèi),否則為反類(lèi)。例如,神經(jīng)網(wǎng)絡(luò )在一般情形下是對每個(gè)測試樣本預測出一個(gè)[0.0,1.0]之間的實(shí)值,然后將這個(gè)值與閾值0.5進(jìn)行比較,大于0.5則判為正例,否則為反例。這個(gè)閾值設置的好壞,直接決定了學(xué)習器的泛化能力。
在不同的應用任務(wù)中,我們可根據任務(wù)需求來(lái)采用不同的閾值。例如,若我們更重視“查準率”,則可以把閾值設置的大一些,讓分類(lèi)器的預測結果更有把握;若我們更重視“查全率”,則可以把閾值設置的小一些,讓分類(lèi)器預測出更多的正例。因此,閾值設置的好壞,體現了綜合考慮學(xué)習器在不同任務(wù)下的泛化性能的好壞。為了形象的描述這一變化,在此引入ROC曲線(xiàn),ROC曲線(xiàn)則是從閾值選取角度出發(fā)來(lái)研究學(xué)習器泛化性能的有力工具。
如果你還對“查準率”和“查全率”不了解,看我之前的文章【錯誤率、精度、查準率、查全率和F1度量】詳細介紹
二、 什么是ROC曲線(xiàn)
ROC全稱(chēng)是“受試者工作特征”(Receiver OperatingCharacteristic)曲線(xiàn)。我們根據學(xué)習器的預測結果,把閾值從0變到最大,即剛開(kāi)始是把每個(gè)樣本作為正例進(jìn)行預測,隨著(zhù)閾值的增大,學(xué)習器預測正樣例數越來(lái)越少,直到最后沒(méi)有一個(gè)樣本是正樣例。在這一過(guò)程中,每次計算出兩個(gè)重要量的值,分別以它們?yōu)闄M、縱坐標作圖,就得到了“ROC曲線(xiàn)”。
ROC曲線(xiàn)的縱軸是“真正例率”(True Positive Rate, 簡(jiǎn)稱(chēng)TPR),橫軸是“假正例率”(False Positive Rate,簡(jiǎn)稱(chēng)FPR),基于上篇文章《錯誤率、精度、查準率、查全率和F1度量》的表1中符號,兩者分別定義為:
顯示ROC曲線(xiàn)的圖稱(chēng)為“ROC圖”。圖1給出了一個(gè)示意圖,顯然,對角線(xiàn)對應于“隨機猜測”模型,而點(diǎn)(0,1)則對應于將所有正例預測為真正例、所有反例預測為真反例的“理想模型”。
現實(shí)任務(wù)中通常是利用有限個(gè)測試樣例來(lái)繪制ROC圖,此時(shí)僅能獲得有限個(gè)(真正例率,假正例率)坐標對,無(wú)法產(chǎn)生圖1中的光滑ROC曲線(xiàn),只能繪制出圖2所示的近似ROC曲線(xiàn)。繪制過(guò)程很簡(jiǎn)單:給定


三、 ROC曲線(xiàn)的意義
(1)主要作用
1. ROC曲線(xiàn)能很容易的查出任意閾值對學(xué)習器的泛化性能影響。
2.有助于選擇最佳的閾值。ROC曲線(xiàn)越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲線(xiàn)上的點(diǎn)是分類(lèi)錯誤最少的最好閾值,其假正例和假反例總數最少。
3.可以對不同的學(xué)習器比較性能。將各個(gè)學(xué)習器的ROC曲線(xiàn)繪制到同一坐標中,直觀(guān)地鑒別優(yōu)劣,靠近左上角的ROC曲所代表的學(xué)習器準確性最高。
(2)優(yōu)點(diǎn)
1. 該方法簡(jiǎn)單、直觀(guān)、通過(guò)圖示可觀(guān)察分析方法的準確性,并可用肉眼作出判斷。ROC曲線(xiàn)將真正例率和假正例率以圖示方法結合在一起,可準確反映某種學(xué)習器真正例率和假正例率的關(guān)系,是檢測準確性的綜合代表。
2. 在生物信息學(xué)上的優(yōu)點(diǎn):ROC曲線(xiàn)不固定閾值,允許中間狀態(tài)的存在,利于使用者結合專(zhuān)業(yè)知識,權衡漏診與誤診的影響,選擇一個(gè)更加的閾值作為診斷參考值。
四、 AUC面積的由來(lái)
如果兩條ROC曲線(xiàn)沒(méi)有相交,我們可以根據哪條曲線(xiàn)最靠近左上角哪條曲線(xiàn)代表的學(xué)習器性能就最好。但是,實(shí)際任務(wù)中,情況很復雜,如果兩條ROC曲線(xiàn)發(fā)生了交叉,則很難一般性地斷言誰(shuí)優(yōu)誰(shuí)劣。在很多實(shí)際應用中,我們往往希望把學(xué)習器性能分出個(gè)高低來(lái)。在此引入AUC面積。
在進(jìn)行學(xué)習器的比較時(shí),若一個(gè)學(xué)習器的ROC曲線(xiàn)被另一個(gè)學(xué)習器的曲線(xiàn)完全“包住”,則可斷言后者的性能優(yōu)于前者;若兩個(gè)學(xué)習器的ROC曲線(xiàn)發(fā)生交叉,則難以一般性的斷言?xún)烧呤雰?yōu)孰劣。此時(shí)如果一定要進(jìn)行比較,則比較合理的判斷依據是比較ROC曲線(xiàn)下的面積,即AUC(Area Under ROC Curve),如圖1圖2所示。
五、 什么是AUC面積
AUC就是ROC曲線(xiàn)下的面積,衡量學(xué)習器優(yōu)劣的一種性能指標。從定義可知,AUC可通過(guò)對ROC曲線(xiàn)下各部分的面積求和而得。假定ROC曲線(xiàn)是由坐標為


六、 AUC面積的意義
AUC是衡量二分類(lèi)模型優(yōu)劣的一種評價(jià)指標,表示預測的正例排在負例前面的概率。
看到這里,是不是很疑惑,根據AUC定義和計算方法,怎么和預測的正例排在負例前面的概率扯上聯(lián)系呢?如果從定義和計算方法來(lái)理解AUC的含義,比較困難,實(shí)際上AUC和Mann-WhitneyU test(曼-慧特尼U檢驗)有密切的聯(lián)系。從Mann-Whitney U statistic的角度來(lái)解釋?zhuān)珹UC就是從所有正樣本中隨機選擇一個(gè)樣本,從所有負樣本中隨機選擇一個(gè)樣本,然后根據你的學(xué)習器對兩個(gè)隨機樣本進(jìn)行預測,把正樣本預測為正例的概率




另外值得注意的是,AUC的計算方法同時(shí)考慮了學(xué)習器對于正例和負例的分類(lèi)能力,在樣本不平衡的情況下,依然能夠對分類(lèi)器做出合理的評價(jià)。AUC對樣本類(lèi)別是否均衡并不敏感,這也是不均衡樣本通常用AUC評價(jià)學(xué)習器性能的一個(gè)原因。例如在癌癥預測的場(chǎng)景中,假設沒(méi)有患癌癥的樣本為正例,患癌癥樣本為負例,負例占比很少(大概0.1%),如果使用準確率評估,把所有的樣本預測為正例便可以獲得99.9%的準確率。但是如果使用AUC,把所有樣本預測為正例,TPR為1,FPR為1。這種情況下學(xué)習器的AUC值將等于0.5,成功規避了樣本不均衡帶來(lái)的問(wèn)題。
最后,我們在討論一下:在多分類(lèi)問(wèn)題下能不能使用ROC曲線(xiàn)來(lái)衡量模型性能?
我的理解:ROC曲線(xiàn)用在多分類(lèi)中是沒(méi)有意義的。只有在二分類(lèi)中Positive和Negative同等重要時(shí)候,適合用ROC曲線(xiàn)評價(jià)。如果確實(shí)需要在多分類(lèi)問(wèn)題中用ROC曲線(xiàn)的話(huà),可以轉化為多個(gè)“一對多”的問(wèn)題。即把其中一個(gè)當作正例,其余當作負例來(lái)看待,畫(huà)出多個(gè)ROC曲線(xiàn)。
聯(lián)系客服