CTR預估[四]: Algorithm-LR Bias和Q分布

作者:@三瘋蘭尼斯特 && @Ainika Peng

時間:2017年11月

出處:zhuanlan.zhihu.com/p/31

聲明:版權所有,轉載請聯繫作者並註明出處。

在<上一篇>中,我們介紹了Naive LR和LR的正則化,包括L1正則、L2正則和Elastic Net的定義、區別和適用場景。

本節我們就LR的另一個點進行擴展:偏差項(bias,b)在CTR預估中的校準應用。

系列目錄傳送門見 -- CTR預估系列一覽表

1.1.5.1 Q分布和理想Q分布下的LR

Q分布表明Predict CTR和Real CTR的關係。

製作Q分布圖的方式為:用模型估計一批數據的預估CTR(pCTR),對結果等頻分段,回到數據中統計每一段的實際CTR(rCTR);然後以pCTR為橫軸,rCTR為縱軸繪製在圖上。

理想狀態下的pCTR-rCTR為45°斜率的直線,滿足保序(直線)+保距(45°)的要求。

保序與保距:假設牛100kg、狗20kg、貓5kg:

保序:即計算出 牛 > 狗 > 貓,只需排序正確,具體預測出的體重值不重要;

保距:不光要計算出牛 > 狗 > 貓,還要計算出牛100kg、狗20kg、貓5kg。

以LR為例,理想的Q分布如下圖柱狀圖。需要注意pCTR是經過logit變換的,如沒有經過變換的 phi(x) 則如折線圖表示。

LR 的決策面是關於 x 的線性函數,即使sigmoid是一個非線性的變換。

LR的決策面Margin為:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~phi(x) = w^Tx + b

對於決策面上的點,phi(x)=0。即理想狀態下, w^Tx+b 項在分界面處為0。

假設空間中任意點 x 在決策面上的投影為 x_ot ,我們有

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x = x_ot + rfrac{w}{||w||}

等式兩邊同時乘以 w 且加上 b ,則

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r = frac{phi(x)}{||w||}

極端情況下,原點到決策面的距離為

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r_0 = -frac{b}{||w||}

也就是說,Bias b決定決策面的位置。

這裡的關鍵點是:w和bias均會影響pCTR,pCTR和rCTR的關係構成了Q分布:

  • bias的調整會影響Q分布
  • 但不能認為Q分布的形狀就是bias決定的。例如,所有w同時double也會得到bias增大的等價效果。

雖然Q分布的反向歸因比較困難,但由於Bias很大程度上影響了Q分布,我們可以通過校準Bias來修飾Q分布:

  • Bias過大,wx+b==0點左移,Q分布呈現對數形狀,體現出預估CTR的普遍高估;
  • Bias過小,wx+b==0點右移,Q分布呈現指數形狀,體現出預估CTR的普遍低估。

1.1.5.2 Bias校準對Q分布影響

在CTR預估中,負樣本採樣是一種常見的特徵工程方法。一般CTR預估的原始正負樣本比可能達到1:1000~1:10000左右,而要獲取好的效果,一般需要採樣到1:5~1:15之間(VC維可推導)。

我們詳細分析採樣對於pCTR的影響。以負樣本採樣為例,採樣後的校準CTR為:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CTR_{re-calibration} = frac{p}{p + frac{1-p}{w}}

其中 p 是CTR, w 是負樣本採樣率。實際上,上式等價於LR在擬合 frac{1}{1+e^{-w^Tx+log(w)}} 的情況。可以看到,負採樣之後的pCTR值會被高估。這對於一般的CTR排序影響不大,但對於DSP這類有強烈的保距需求的場景,需要將pCTR校準回對採樣前的估計。

舉例:假設一個廣告對一個用戶展示10次,有9次未點擊、1次點擊,則CTR為10%;假設模型訓練中對負樣本採樣至1/3,則在訓練數據中可能只有3次未點擊曝光和1次點擊,因此模型會將這組特徵擬合為pCTR=25%。當模型提交並用來預測時,可知這組特徵的pCTR被高估。

對排序系統而言,由於所有樣本都會被「成比例地」高估(見下文推導),不會影響排序順序;而對DSP等場景而言,付出的競價成本與pCTR值本身正相關,此時則必須將預估CTR校準至未採樣分布的情況。

在模型訓練-預測的過程中,我們使用採樣模型進行訓練,但面對的預測數據為未採樣數據,因此在預測時需要對bias進行校準。FM或者LR可以利用採樣模型擬合出的bias項來推導預測時(未採樣時)應當使用的校準bias:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b

其中 w = frac{負樣本採樣率}{正樣本採樣率}

詳細推導:

設採樣前CTR為 p ,採樣後CTR為 p ,正樣本數為 a ,負樣本數為 b ,正樣本採樣概率為 l ,負樣本採樣概率為 m ,其中 n =-/+ = m/l ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p=frac{a}{a+b} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p

兩者化簡得到

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p = frac{p

注意 p 為我們希望得到的校準後概率;但由於我們用採樣的數據進行訓練,模型計算出的pCTR實際為校準前概率 p

對於LR、FM等用logistics function做處理的模型,可以得到

 egin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p

兩者化簡可得

 egin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p &= frac{1}{1+e^{-(w^Tx+b+log(n))}} end{split}

因此可以計算出校準後的bias b』 = b+log(n)

假設有一被高估的模型:


下節預告:

本節主要介紹bias對模型高估低估的影響,以及在常見的高估情況下如何校準。

工業界LR為標準baseline模型,但LR畢竟是一個線性模型,如何增加非線性是一個重要的提升方向,下一節我們來看下,在LR的假設上的一種擴展非線性的方式 Multiple LR(MLR),阿里推薦廣告中運用多年的技術

敬請期待:CTR預估[五]: Algorithm-LR擴展: MLR

LR相關章節關係和傳送門如下:

  • 基礎的LR推導以及LR和統計的關係
  • 正則化
  • Bias運用
  • 到LR的Model擴展-MLR

推薦閱讀:

深度學習(Deep Learning)基礎概念7:搭建多層神經網路的python實現
歷史|從神經元到深度學習
Python3《機器學習實戰》學習筆記(一):k-近鄰演算法(史詩級乾貨長文)

TAG:机器学习 | 计算广告学 | 推荐系统 |