摘要:在人工智能領(lǐng)域,分類任務(wù)占據(jù)了很大的比例,例如物體識別(計(jì)算機(jī)視覺)、信用卡欺詐(數(shù)值型預(yù)測)、情感分析(自然語言處理)等等。針對眾多的分類需求,模型的評價(jià)標(biāo)準(zhǔn)只是簡單的準(zhǔn)確率(Accuracy)嗎? AUC和Macro F1,誰才是真正的分類評價(jià)標(biāo)準(zhǔn)呢?
對于業(yè)務(wù)用戶來說,希望技術(shù)團(tuán)隊(duì)完成的是正確分類,然后要求準(zhǔn)一點(diǎn)。那么什么是準(zhǔn)一點(diǎn)呢?也許用戶還沒有意識到這個(gè)問題的復(fù)雜性,或者說沒有意識到他們真正關(guān)心的是什么。
準(zhǔn)一點(diǎn)就是準(zhǔn)確度(Accuracy),也就是說用戶給了我們數(shù)據(jù),我們分好類把答卷交給用戶,用戶判卷子的結(jié)果。一般情況下這樣的評估方式是合理的,但也有特殊的例子,例如真實(shí)的正負(fù)類比例是98比2,那么模型只要把所有的數(shù)據(jù)都判別為正類,準(zhǔn)確率就是98%,非常高,但一個(gè)負(fù)類都挑不出來。
為了更方便描述問題,我們按下表把實(shí)際的正負(fù)類和判斷的正負(fù)類分成四種情況,分別是TP、FP、FN、TN,那么準(zhǔn)確率Accuracy就是(TP+TN)/ ALL。要提升準(zhǔn)確率,就要降低左下角的FP(也就是誤判,把不該判斷為正類的誤判為了正類)和右上角的FN(也就是漏判,把應(yīng)該判斷為正類的漏判為了負(fù)類)。下表也被稱作混淆矩陣(Confusion matrix)。
那么用戶實(shí)際關(guān)注的是什么呢?舉兩個(gè)例子。例如各大網(wǎng)站的商品推薦,建立一個(gè)模型的目的是盡量將正確的商品推薦給感興趣的用戶,如果推了一個(gè)產(chǎn)品用戶沒有興趣,也不會有很大損失,這種情境下用戶對于錯(cuò)誤的推薦并不會很在意。這是一種情境。
而如果是欺詐、垃圾郵件、還款逾期判別的模型,對識別的用戶和郵件會直接進(jìn)行處理,被錯(cuò)判為欺詐的用戶可能非常惱怒,被錯(cuò)判為垃圾郵件也許會直接影響用戶工作。這種情況下寧可遺漏,也要減少誤判。這是第二種情境。
這兩種情境,用戶關(guān)注點(diǎn)并不相同,情境一關(guān)注的是不要遺漏,可推薦可不推薦的都要給用戶推薦過去。情境二關(guān)注的是誤判,拿不準(zhǔn)的寧可漏掉,也不要錯(cuò)誤判定。使用技術(shù)語言,情境一關(guān)注的是查全率:Recall or TPR = TP/(TP+FN),情境二關(guān)注的是精確率:Precision = TP/(TP+FP)。那有沒有平衡這兩種評價(jià)標(biāo)準(zhǔn)的指標(biāo)呢?有,就是F Measure,簡化版本為F1。在多分類中,又細(xì)化為Micro F1和Macro F1。
到此天下太平,拿到需求只要跟用戶確認(rèn)好關(guān)注的是Recall,還是Precision就好。然而,新的搗亂分子出現(xiàn)了,那就是AUC:Area Under Curve。
AUC是反映ROC曲線下面的面積,面積越大,模型質(zhì)量越好。而這個(gè)面積是由ROC曲線決定的。而組成ROC曲線的每一個(gè)點(diǎn),是由TPR和FPR來決定。TPR和FPR,指的是TP的比率和FP的比率。TPR = TP/(TP+FN),其實(shí)就是Recall。而FPR是個(gè)新面孔,F(xiàn)PR=FP/(FP+TN)。如果全部分類正確,則TPR為1,F(xiàn)PR為0,ROC曲線的左上角就是坐標(biāo)為0,1的點(diǎn),此時(shí)AUC為1。
那么AUC和F1的區(qū)別是什么呢?AUC關(guān)注的是混淆矩陣?yán)镒笥覂蛇叺年P(guān)系,即放到正類答卷里的數(shù)據(jù)多,還是放到負(fù)類卷子里的數(shù)據(jù)多。
而F1關(guān)注的是正類被誤判的多還是漏判的多:
那么AUC里為什么正類答卷和負(fù)類答卷的數(shù)據(jù)是變化的呢?因?yàn)锳UC是在并不假設(shè)閾值是固定的前提下判斷模型質(zhì)量。這里的閾值是指,模型判斷一行數(shù)據(jù)是正類還是負(fù)類時(shí),是概率大于50%判斷為正類?還是大于60%判斷為正類?在這個(gè)閾值不固定的情況下,AUC仍可以判斷模型質(zhì)量,并且可以使用KS(Kolmogorov-Smirnov)來幫助查找最優(yōu)閾值:KS=max(TPR-FPR)??梢哉fROC曲線是由多個(gè)閾值形成的多個(gè)混淆矩陣的結(jié)果組合成的。而F1是指在閾值已經(jīng)固定的前提下,判斷模型質(zhì)量。因而AUC更公正和合理一些。
總結(jié)一下,正確的做法是用AUC評價(jià)模型能力,選取好的模型之后根據(jù)實(shí)際需求確定閾值,再用Macro F1計(jì)算性能指標(biāo)。
參考文獻(xiàn)
[1]Alex Beutel,Jilin Chen,Zhe Zhao,and Ed H. Chi. 2017. Data Decisions and Theoretical Implications when Adversarially Learning Fair Representations. CoRR abs/1707.00075(2017). http://arxiv.org/abs/1707.00075
[2]Daniel Borkan,Lucas Dixon,John Li,Jeffrey Sorensen,Nithum Thain,and Lucy Vasserman. 2019. Limitations of Pinned AUC for Measuring Unintended Bias. CoRR abs/1903.02088,1903.02088v2(2019). arXiv:1903.02088v2
[3]Tim Brennan,William Dieterich,and Beate Ehret. 2009. Evaluating the Predictive Validity of the Compas Risk and Needs Assessment System. Criminal Justice and Behavior 36,1(2009),21–40. https://doi.org/10.1177/0093854808326545
[4]Joy Buolamwini and Timnit Gebru. 2018. Gender Shades:Intersectional Accuracy Disparities in Commercial Gender Classification. In Proceedings of the 1st Conference on Fairness,Accountability and Transparency(Proceedings of Machine Learning Research),Sorelle A. Friedler and Christo Wilson(Eds.),Vol. 81. PMLR,New York,NY,USA,77–91. http://proceedings.mlr.press/v81/buolamwini18a.html
作者簡介:王悅林,研究方向:人工智能。
(作者單位:聯(lián)想集團(tuán))