ctr預估簡單的解釋就是預測用戶的點擊item的機率。爲何一個迴歸的問題須要使用分類的方法來評估,這真是一個好問題,嘗試從下面幾個關鍵問題去回答。html
ctr預估的目標函數爲c#
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]。spa
通常回歸問題採用的cost function是預測值和實際值的平方差,而LR模型沒法採用平方差做爲cost function的緣由是因爲基於LR模型公式的平方差函數是非凸函數,沒法方便的得到全局最優解。3d
LR模型採用的cost function是採用cross-entropy error function(也有叫作對數似然函數的),error measure是模型假設h產生訓練樣本D的可能性(likelihood)[2]。htm
假設y1=+1, y2=-1, ......., yn=-1,對應的likelihood爲:blog
廣泛上對於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。get
[1]邏輯迴歸模型(Logistic Regression, LR)基礎。 http://www.cnblogs.com/sparkwen/p/3441197.htmlit
[2] Machine Learning Foundation, Coursera.
[3]AUC(Area Under roc Curve )計算及其與ROC的關係 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html