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