ctr預估簡單的解釋就是預測用戶的點擊item的概率。為什么一個回歸的問題需要使用分類的方法來評估,這真是一個好問題,嘗試從下面幾個關鍵問題去回答。
1、ctr預估是特殊的回歸問題
ctr預估的目標函數為
f(x)=P(+1|x)
特殊之處在於目標函數的值域為[0,1],而且由於是條件概率,具有如下特性
如果將ctr預估按照一般的回歸問題處理(如使用Linear Regression),面臨的問題是一般的linear regression的值域范圍是實數域,對於整個實數域的敏感程度是相同的,所以直接使用一般的linear regression來建立ctr預估模型很容易受到noise的影響。以Andrew Ng課程中的例子圖1.b所示,增加一個噪音點后,擬合的直線馬上偏移。另外,由於目標函數是條件概率,訓練樣本中會存在特征x完全相同,y為+1和-1的樣本都出現的問題,在linear regression看來是一個矛盾的問題,而Logistics Regression很好的解決了這個問題[1]。
2、LR模型的cost function不使用平方差
一般回歸問題采用的cost function是預測值和實際值的平方差,而LR模型無法采用平方差作為cost function的原因是由於基於LR模型公式的平方差函數是非凸函數,無法方便的獲得全局最優解。
LR模型采用的cost function是采用cross-entropy error function(也有叫做對數似然函數的),error measure是模型假設h產生訓練樣本D的可能性(likelihood)[2]。
假設y1=+1, y2=-1, ......., yn=-1,對應的likelihood為:
3、為什么AUC也可以用於LR模型的評估
普遍上對於AUC的認識是在分類問題中,取不同的threshold后,在橫坐標false positive rate,縱坐標為true positive rate平面上繪制ROC曲線的曲線下面積,所以很難理解是如何與這里的回歸問題聯系起來。實際上,一個關於AUC的很有趣的性質是:它和Wilcoxon-Mann-Witney Test是等價的[3]。而Wilcoxon-Mann-Witney Test就是測試任意給一個正類樣本和一個負類樣本,正類樣本的score有多大的概率大於負類樣本的score。有了這個定義,我們就得到了另外一種計算AUC的方法:具體來說就算統計一下所有M*N(M為正類樣本的數目,N為負類樣本的數目)個正負樣本對中,有多少個組中的正樣本的score大於負樣本的score。
參考文獻
[1]邏輯回歸模型(Logistic Regression, LR)基礎。 http://www.cnblogs.com/sparkwen/p/3441197.html
[2] Machine Learning Foundation, Coursera.
[3]AUC(Area Under roc Curve )計算及其與ROC的關系 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html