資源描述:
《AUC是否可以直接用作損失函數(shù)去優(yōu)化呢?.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、AUC是否可以直接用作損失函數(shù)去優(yōu)化呢? 引言 CTR問(wèn)題我們有兩種角度去理解,一種是分類的角度,即將點(diǎn)擊和未點(diǎn)擊作為兩種類別。另一種是回歸的角度,將點(diǎn)擊和未點(diǎn)擊作為回歸的值。不管是分類問(wèn)題還是回歸問(wèn)題,一般在預(yù)估的時(shí)候都是得到一個(gè)[0,1]之間的概率值,代表點(diǎn)擊的可能性的大小?! ∪绻麑TR預(yù)估問(wèn)題當(dāng)作回歸問(wèn)題,我們經(jīng)常使用的損失函數(shù)是MSE;如果當(dāng)作二分類問(wèn)題,我們經(jīng)常使用的損失函數(shù)是LogLoss。而對(duì)于一個(gè)訓(xùn)練好的模型,我們往往需要評(píng)估一下模型的效果,或者說(shuō)泛化能力,MSE和LogLoss當(dāng)然也可以作為我們的評(píng)價(jià)指標(biāo),但除此之外,我們最常用的還是AUC?! ∠?/p>
2、到這里,我想到一個(gè)問(wèn)題,AUC是否可以直接用作損失函數(shù)去優(yōu)化呢? 說(shuō)了這么多,我們還不知道AUC是什么呢?不著急,我們從二分類的評(píng)估指標(biāo)慢慢說(shuō)起,提醒一下,本文二分類的類別均為0和1,1代表正例,0代表負(fù)例。 1、從二分類評(píng)估指標(biāo)說(shuō)起 1.1混淆矩陣 我們首先來(lái)看一下混淆矩陣,對(duì)于二分類問(wèn)題,真實(shí)的樣本標(biāo)簽有兩類,我們學(xué)習(xí)器預(yù)測(cè)的類別有兩類,那么根據(jù)二者的類別組合可以劃分為四組,如下表所示: 上表即為混淆矩陣,其中,行表示預(yù)測(cè)的label值,列表示真實(shí)label值。TP,F(xiàn)P,F(xiàn)N,TN分別表示如下意思: TP(truepositive):表示樣本的真實(shí)類別
3、為正,最后預(yù)測(cè)得到的結(jié)果也為正;FP(falsepositive):表示樣本的真實(shí)類別為負(fù),最后預(yù)測(cè)得到的結(jié)果卻為正;FN(falsenegative):表示樣本的真實(shí)類別為正,最后預(yù)測(cè)得到的結(jié)果卻為負(fù);TN(truenegative):表示樣本的真實(shí)類別為負(fù),最后預(yù)測(cè)得到的結(jié)果也為負(fù). 可以看到,TP和TN是我們預(yù)測(cè)準(zhǔn)確的樣本,而FP和FN為我們預(yù)測(cè)錯(cuò)誤的樣本。 1.2準(zhǔn)確率Accruacy 準(zhǔn)確率表示的是分類正確的樣本數(shù)占樣本總數(shù)的比例,假設(shè)我們預(yù)測(cè)了10條樣本,有8條的預(yù)測(cè)正確,那么準(zhǔn)確率即為80%?! ∮没煜仃囉?jì)算的話,準(zhǔn)確率可以表示為: 雖然準(zhǔn)確率可
4、以在一定程度上評(píng)價(jià)我們的分類器的性能,不過(guò)對(duì)于二分類問(wèn)題或者說(shuō)CTR預(yù)估問(wèn)題,樣本是極其不平衡的。對(duì)于大數(shù)據(jù)集來(lái)說(shuō),標(biāo)簽為1的正樣本數(shù)據(jù)往往不足10%,那么如果分類器將所有樣本判別為負(fù)樣本,那么仍然可以達(dá)到90%以上的分類準(zhǔn)確率,但這個(gè)分類器的性能顯然是非常差的。 1.3精確率Precision和召回率Recall 為了衡量分類器對(duì)正樣本的預(yù)測(cè)能力,我們引入了精確率Precision和召回率Recall?! 【_率表示預(yù)測(cè)結(jié)果中,預(yù)測(cè)為正樣本的樣本中,正確預(yù)測(cè)為正樣本的概率;召回率表示在原始樣本的正樣本中,最后被正確預(yù)測(cè)為正樣本的概率; 二者用混淆矩陣計(jì)算如下:
5、 精確率和召回率往往是一對(duì)矛盾的指標(biāo)。在CTR預(yù)估問(wèn)題中,預(yù)測(cè)結(jié)果往往表示會(huì)被點(diǎn)擊的概率。如果我們對(duì)所有的預(yù)測(cè)結(jié)果進(jìn)行降序排序,排在前面的是學(xué)習(xí)器認(rèn)為最可能被點(diǎn)擊的樣本,排在后面的是學(xué)習(xí)期認(rèn)為最不可能被點(diǎn)擊的樣本?! ∪绻覀?cè)O(shè)定一個(gè)閾值,在這個(gè)閾值之上的學(xué)習(xí)器認(rèn)為是正樣本,閾值之下的學(xué)習(xí)器認(rèn)為是負(fù)樣本??梢韵胂蟮降氖?,當(dāng)閾值很高時(shí),預(yù)測(cè)為正樣本的是分類器最有把握的一批樣本,此時(shí)精確率往往很高,但是召回率一般較低。相反,當(dāng)閾值很低時(shí),分類器把很多拿不準(zhǔn)的樣本都預(yù)測(cè)為了正樣本,此時(shí)召回率很高,但是精確率卻往往偏低?! ?.4F-1Score 為了折中精確率和召回率的結(jié)果,我
6、們又引入了F-1Score,計(jì)算公式如下: 對(duì)于F1Score有很多的變化形式,感興趣的話大家可以參考一下周志華老師的西瓜書(shū),我們這里就不再介紹了?! ?.5ROC與AUC 在許多分類學(xué)習(xí)器中,產(chǎn)生的是一個(gè)概率預(yù)測(cè)值,然后將這個(gè)概率預(yù)測(cè)值與一個(gè)提前設(shè)定好的分類閾值進(jìn)行比較,大于該閾值則認(rèn)為是正例,小于該閾值則認(rèn)為是負(fù)例。如果對(duì)所有的排序結(jié)果按照概率值進(jìn)行降序排序,那么閾值可以將結(jié)果截?cái)酁閮刹糠郑懊娴恼J(rèn)為是正例,后面的認(rèn)為是負(fù)例?! ∥覀兛梢愿鶕?jù)實(shí)際任務(wù)的需要選取不同的閾值。如果重視精確率,我們可以設(shè)定一個(gè)很高的閾值,如果更重視召回率,可以設(shè)定一個(gè)很低的閾值?! 〉?/p>
7、這里,我們會(huì)拋出兩個(gè)問(wèn)題:1)設(shè)定閾值然后再來(lái)計(jì)算精確率,召回率和F1-Score太麻煩了,這個(gè)閾值到底該設(shè)定為多少呢?有沒(méi)有可以不設(shè)定閾值來(lái)直接評(píng)價(jià)我們的模型性能的方法呢? 2)排序結(jié)果很重要呀,不管預(yù)測(cè)值是多少,只要正例的預(yù)測(cè)概率都大于負(fù)例的就好了呀?! ](méi)錯(cuò),ROC和AUC便可以解決我們上面拋出的兩個(gè)問(wèn)題?! OC全稱是“受試者工作特征”,(receiveroperatingcharacteristic)。我們根據(jù)學(xué)習(xí)器的預(yù)測(cè)結(jié)果進(jìn)行排序,然后按此順序逐個(gè)把樣本作為正例進(jìn)行預(yù)測(cè),每次計(jì)算出兩個(gè)重要的值,分