王彥光,朱鴻斌,徐維超
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州510006)
接收機(jī)工作特性曲線(Receiver Operating Characteristic,ROC)分析起源于二戰(zhàn)時(shí)期的信號(hào)檢測(cè)方法,最早被應(yīng)用于處理雷達(dá)圖像,用來(lái)描述檢測(cè)信號(hào)的命中率及誤報(bào)率之間的權(quán)衡關(guān)系[1-2]。此后,該方法廣泛應(yīng)用于醫(yī)療診斷[3-5]。在1989年,Spackman 將其引入機(jī)器學(xué)習(xí)領(lǐng)域,用于評(píng)價(jià)分類器性能[6]。從此,ROC曲線在機(jī)器學(xué)習(xí)[7-11]、計(jì)算機(jī)視覺(jué)[12-13]等領(lǐng)域被用于算法的評(píng)價(jià)和優(yōu)化方面。
ROC曲線能對(duì)分類器的準(zhǔn)確性進(jìn)行全局性的評(píng)估,它包含了所有可能的決策閾值,不需特定的決策閾值。此外,ROC曲線不依賴于測(cè)試結(jié)果的規(guī)模,即對(duì)分類結(jié)果進(jìn)行單調(diào)變換可以保持不變性[14]。由此,在大多數(shù)實(shí)際問(wèn)題中,樣本分布不均勻和錯(cuò)誤分類的代價(jià)不一致的問(wèn)題可能會(huì)影響評(píng)估結(jié)果,而ROC曲線能夠很好解決該難題。在性能診斷方面,ROC曲線是完全意義上的自由分布假設(shè)[15],無(wú)需用到假設(shè)類分布的參數(shù)形式,從而保證了ROC曲線應(yīng)用的廣泛性。
根據(jù)ROC曲線在模型與算法的評(píng)價(jià)、展示、比較、選擇和優(yōu)化中所體現(xiàn)的優(yōu)異性[16],本文旨在從二分類問(wèn)題引入ROC曲線的基本概念,介紹了非參數(shù)、參數(shù)、半?yún)?shù)模型和ROC曲線的構(gòu)建方法,同時(shí)根據(jù)ROC曲線的基本性質(zhì),介紹了ROC曲線的一些常見(jiàn)評(píng)價(jià)方法,為讀者的實(shí)踐應(yīng)用提供參考。
二分類方法在多種實(shí)際應(yīng)用決策中起著核心作用。例如,在模式識(shí)別領(lǐng)域,重要的數(shù)據(jù)應(yīng)該在一個(gè)巨大的數(shù)據(jù)集中進(jìn)行分類和標(biāo)記[17];在基于歷史數(shù)據(jù)的預(yù)測(cè)中,將每個(gè)數(shù)據(jù)區(qū)分為是否遵循歷史趨勢(shì)的二分類方法;在人體跟蹤領(lǐng)域,要分析人體行為,需要將陽(yáng)性樣本從陰性樣本中分離出來(lái),完成跟蹤步驟[18-19]??偠灾诸愗灤┯谏鐣?huì)生產(chǎn)和生活的各個(gè)領(lǐng)域,也是數(shù)據(jù)處理領(lǐng)域的熱門(mén)研究?jī)?nèi)容。
二分類是一種基于2組元素的分類規(guī)則的任務(wù)[8,20],在模型構(gòu)建(訓(xùn)練)過(guò)程中,二分類算法能發(fā)現(xiàn)屬性值與目標(biāo)值之間的關(guān)系。不同的分類算法將使用不同的技術(shù)尋找這種關(guān)系,然后將這些關(guān)系總結(jié)在一個(gè)模型中,并應(yīng)用于不同的數(shù)據(jù)集。二分類往往通過(guò)將一組測(cè)試數(shù)據(jù)中的預(yù)測(cè)值與已知目標(biāo)值進(jìn)行比較,從而對(duì)分類模型(分類器)進(jìn)行檢驗(yàn)。一個(gè)二分類模型的定義及構(gòu)建過(guò)程如下。
然而,二分類問(wèn)題必須面對(duì)的一個(gè)難題是數(shù)據(jù)平衡性[21]。數(shù)據(jù)平衡性是指不同類別數(shù)據(jù)集數(shù)量是否平衡,比如一個(gè)有1 000個(gè)數(shù)據(jù)的二分類數(shù)據(jù)集,一類數(shù)據(jù)有100個(gè),二類數(shù)據(jù)有900個(gè),它們之間的數(shù)量之比達(dá)到1:9,這就是類間數(shù)據(jù)不平衡。如果它們之間的數(shù)據(jù)大概相等,比如510:490,這樣的數(shù)據(jù)集就是類間平衡。由于大多數(shù)學(xué)習(xí)算法的設(shè)計(jì)目的是關(guān)注最大化總體分類精度,這將導(dǎo)致在不平衡的場(chǎng)景中,只需將所有實(shí)例預(yù)測(cè)為數(shù)據(jù)較多的類別即可獲得較高的精度。因此,不平衡的數(shù)據(jù)集將會(huì)降低分類器的性能。對(duì)于數(shù)據(jù)不平衡的情況,學(xué)者們提出了不同的評(píng)判指標(biāo)[22]。
混淆矩陣是對(duì)分類問(wèn)題的預(yù)測(cè)結(jié)果的總結(jié),即正確和錯(cuò)誤預(yù)測(cè)的數(shù)量用計(jì)數(shù)值進(jìn)行匯總,并按每個(gè)類進(jìn)行分類,這是混淆矩陣的關(guān)鍵。同時(shí),混淆矩陣顯示了分類模型在進(jìn)行預(yù)測(cè)時(shí)混淆的方式,它不僅讓大家了解分類器所犯的錯(cuò)誤,而且更重要的是能夠讓大家了解所犯錯(cuò)誤的類型。
在二分類問(wèn)題中,給定一個(gè)二分類器和一個(gè)實(shí)例,有4種可能的結(jié)果,具體定義如下。
(1) 真陽(yáng)性(TP):真實(shí)結(jié)果為正例,預(yù)測(cè)為正例。(2) 假陰性(FN):真實(shí)結(jié)果為正性,但預(yù)測(cè)為負(fù)例。
(3)真陰性(TN):真實(shí)結(jié)果為負(fù)例,預(yù)測(cè)為負(fù)例。
(4)假陽(yáng)性(FP):觀察結(jié)果為負(fù)例,但預(yù)測(cè)為正例。
其分類結(jié)果用一個(gè)2×2矩陣表示,稱為混淆矩陣。構(gòu)造如圖1所示[8]。其中,P表示正例,N表示負(fù)例。
圖1 混淆矩陣示意圖Fig.1 Diagram of confusion matrix
給定一個(gè)數(shù)據(jù)集和一個(gè)分類器,經(jīng)過(guò)訓(xùn)練和測(cè)試可以得到分類結(jié)果,但是得到結(jié)果后會(huì)面臨如何評(píng)價(jià)這個(gè)模型性能的問(wèn)題。從混淆矩陣的4種結(jié)果出發(fā),可以得到很多有意義的分類算法評(píng)價(jià)指標(biāo)[23]。
準(zhǔn)確率(Accuracy,ACC)是一個(gè)最直觀和簡(jiǎn)單的評(píng)價(jià)指標(biāo),它是正確的預(yù)測(cè)結(jié)果與總的預(yù)測(cè)結(jié)果之比,其計(jì)算表達(dá)式用混淆矩陣的量表示為
其中TP表示正例樣本被正確分為正例的數(shù)目,TN表示負(fù)例類樣本被正確分為負(fù)例的數(shù)目,而FP 和FN 分別表示正例樣本被錯(cuò)誤分為負(fù)例的樣本數(shù)目和負(fù)例樣本被錯(cuò)誤分為正例樣本的數(shù)目。
準(zhǔn)確率能直接表征分類器的分類水平,但是當(dāng)分類器面對(duì)的是不平衡數(shù)據(jù)集時(shí),該指標(biāo)并不能反映出分類器的真實(shí)分類能力。例如,有1 000人進(jìn)行乳腺癌診斷,其中有10人確診乳腺癌。如果以陰性為統(tǒng)計(jì)標(biāo)準(zhǔn),那么,無(wú)論如何該準(zhǔn)確率也可以高達(dá) 99.9%,然而,這樣評(píng)價(jià)標(biāo)準(zhǔn)是毫無(wú)意義的。
真正率(True Positive Rate,TPR)也稱為召回率或查全率、敏感性。高的真正率意味著很少的假負(fù)例,表示該類被正確識(shí)別,其數(shù)學(xué)表達(dá)式為
假正率(False Positive Rate,FPR),在信號(hào)檢測(cè)領(lǐng)域也叫虛警率,指被錯(cuò)誤分類為正例(假陽(yáng)性)的負(fù)例事件數(shù)量與實(shí)際正例事件總數(shù)(不論分類如何)的比值,其數(shù)學(xué)表達(dá)式為
非參數(shù)ROC方法也稱為經(jīng)驗(yàn)ROC方法。因?yàn)榉菂?shù)ROC方法可以通過(guò)使用觀測(cè)數(shù)據(jù)進(jìn)行經(jīng)驗(yàn)擬合,而不需要對(duì)測(cè)試結(jié)果做任何分布假設(shè),因此它是最常見(jiàn)的ROC分析模型。其構(gòu)建過(guò)程如下。
該方法首先假設(shè)正類和負(fù)類服從單調(diào)連續(xù)且不
在二分類問(wèn)題中,主要目的是構(gòu)造一個(gè)二分類器B,將每個(gè)樣本x分配給2個(gè)互斥類別,即正例和負(fù)例。在不失一般性的情況下,分類器B為每個(gè)樣本x提供分類結(jié)果B(x),它表示樣本屬于某一類別的置信水平。評(píng)價(jià)二分類器性能,可以通過(guò)改變某個(gè)類別的判別閾值c來(lái)獲得一組混淆矩陣,進(jìn)而計(jì)算相應(yīng)的指標(biāo)并對(duì)分類器性能進(jìn)行評(píng)價(jià)[38]。
以表1實(shí)驗(yàn)數(shù)據(jù)為例,進(jìn)行ROC曲線的繪制,對(duì)應(yīng)的TPR,FPR及對(duì)應(yīng)的坐標(biāo)值的計(jì)算結(jié)果如表2與圖2所示。
值得注意的是,當(dāng)閾值在滑動(dòng)改變過(guò)程中,實(shí)例中被劃分為正類的數(shù)量增加的同時(shí),正類中的誤判即真正的負(fù)實(shí)例也會(huì)增加,這會(huì)導(dǎo)致TPR和FPR會(huì)同時(shí)增大。ROC曲線空間中越靠近左上方則分類器越好,雖然對(duì)角線以下的信息是錯(cuò)誤的,但具備有用信息。
如圖3所示,以FPR為x軸,TPR為y軸,所有的坐標(biāo)點(diǎn)在平面坐標(biāo)系內(nèi)生成一個(gè)矩形的空間,該空間稱為ROC空間。在ROC空間中,一個(gè)坐標(biāo)點(diǎn)代表一個(gè)分類器,分類器越靠近x軸,越保守。保守分類器只有在充分依據(jù)的情況下才進(jìn)行正例分類,因此它們很少犯假正性錯(cuò)誤,但它們的真正率往往也很低。右上角的分類器可以被認(rèn)為是自由分類器,它們只在依據(jù)不足的情況下進(jìn)行正例分類,因此它們幾乎正確地分類了所有正例,但它們往往有很高的假正率。如圖3所示,A5分類器比其他4個(gè)分類器保守,A4分類器比其他4個(gè)分類器自由。
表1 實(shí)驗(yàn)數(shù)據(jù)Table 1 Experimental data
表2 不同閾值下TPR與FPR的分布Table 2 Distribution of TPR and FPR under different thresholds
圖2 ROC曲線繪制示意Fig.2 The drawing process of ROC curve
圖3 ROC空間中的分類器Fig.3 Classifiers in ROCspace
ROC曲線通過(guò)改變分類閾值來(lái)繪制利益(真陽(yáng)性)和成本(假陽(yáng)性)之間的相對(duì)權(quán)衡關(guān)系,分類閾值通常是一個(gè)類別的成員概率到?jīng)Q策面距離或決策函數(shù)產(chǎn)生的簡(jiǎn)單得分。每個(gè)閾值代表一個(gè)分類器,對(duì)應(yīng)ROC曲線上的一個(gè)點(diǎn)。
ROC曲線是分類器比較的重要工具,因此深入研究如何正確使用ROC曲線對(duì)分類器進(jìn)行比較成為當(dāng)前一個(gè)重要的研究問(wèn)題。在對(duì)ROC分析比較之前,首先要認(rèn)識(shí)它的基本性質(zhì)。
ROC曲線的評(píng)價(jià)就是對(duì)ROC進(jìn)行分析然后比較的過(guò)程。這是其應(yīng)用于醫(yī)學(xué)檢驗(yàn)和機(jī)器學(xué)習(xí)等諸多領(lǐng)域的最終目的,即對(duì)檢驗(yàn)結(jié)果或分類器性能的評(píng)價(jià)。其中使用較多的有ROC曲線下面積(Area Under the ROC Curve,AUC)、約登指數(shù)、距離度量以及最佳工作點(diǎn)與點(diǎn)(0,1)距離等ROC評(píng)價(jià)指標(biāo),分別對(duì)這幾個(gè)指標(biāo)進(jìn)行介紹。
(1) AUC:ROC的曲線下面積AUC能將ROC曲線簡(jiǎn)化為一個(gè)單一的量化指標(biāo)。作為一種單一的ROC
圖4 ROC曲線最佳工作點(diǎn)與(0,1)的距離Fig.4 Distance from the best working point of the ROC curve to point (0,1)
以最佳工作點(diǎn)到點(diǎn)(0,1)的距離為評(píng)判標(biāo)準(zhǔn),距離最小者為佳。文獻(xiàn)[42]指出約登指數(shù)和最佳工作點(diǎn)有一定聯(lián)系,當(dāng)且僅當(dāng)最佳工作點(diǎn)滿足TPR(c0)+FPR(c0)=1時(shí),最佳工作點(diǎn)也是約登指數(shù)的最大值點(diǎn)。但一般情況下,ROC最佳工作點(diǎn)的特異性高于約登指數(shù)。需要特別指出的是,約登指數(shù)法的本質(zhì)是正例和負(fù)例概率分布差異的最大化,因此它是最佳閾值選擇的結(jié)果。但是,最佳工作點(diǎn)沒(méi)有與目標(biāo)函數(shù)相關(guān)的明確事件,因此沒(méi)有充分的理由將正例和負(fù)例的概率分布最大化,這也正是很少有文獻(xiàn)討論此類方法的原因[43]。此外,關(guān)于ROC置信區(qū)間的估計(jì)問(wèn)題。Macskassy和Provost[44-45]提供了一些醫(yī)學(xué)領(lǐng)域和機(jī)器學(xué)習(xí)領(lǐng)域的流行方法,他們對(duì)ROC曲線的置信區(qū)間進(jìn)行了實(shí)證評(píng)價(jià),進(jìn)行統(tǒng)計(jì)學(xué)上的魯棒性比較。Flach[46]通過(guò)ROC等距圖(ROC等值線圖)深入研究了精度、精密度、F-measure等常用性能指標(biāo)。
當(dāng)數(shù)據(jù)存在不平衡的情況時(shí),比較傳統(tǒng)的準(zhǔn)確率很難判斷分類結(jié)果的優(yōu)劣,接收者操作曲線令橫坐標(biāo)為偽陽(yáng)率,縱坐標(biāo)為真陽(yáng)率,可以解決數(shù)據(jù)不平衡的問(wèn)題。并且可以比較接收者操作曲線(ROC)的下面積(AUC)來(lái)判斷分類器的性能,AUC值越大,表明分類的效果越好。但是,當(dāng)ROC曲線出現(xiàn)交叉時(shí),還需要通過(guò)借約登指數(shù)進(jìn)一步判斷。