CTR預估[四]: Algorithm-LR Bias和Q分布
作者:@三瘋蘭尼斯特 && @Ainika Peng
時間:2017年11月
出處:https://zhuanlan.zhihu.com/p/31529643
聲明:版權所有,轉載請聯繫作者並註明出處。
在<上一篇>中,我們介紹了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變換的,如沒有經過變換的 則如折線圖表示。
LR 的決策面是關於 的線性函數,即使sigmoid是一個非線性的變換。
LR的決策面Margin為:對於決策面上的點,。即理想狀態下, 項在分界面處為0。
假設空間中任意點 在決策面上的投影為 ,我們有
等式兩邊同時乘以 且加上 ,則 極端情況下,原點到決策面的距離為 也就是說,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, 是負樣本採樣率。實際上,上式等價於LR在擬合 的情況。可以看到,負採樣之後的pCTR值會被高估。這對於一般的CTR排序影響不大,但對於DSP這類有強烈的保距需求的場景,需要將pCTR校準回對採樣前的估計。
舉例:假設一個廣告對一個用戶展示10次,有9次未點擊、1次點擊,則CTR為10%;假設模型訓練中對負樣本採樣至1/3,則在訓練數據中可能只有3次未點擊曝光和1次點擊,因此模型會將這組特徵擬合為pCTR=25%。當模型提交並用來預測時,可知這組特徵的pCTR被高估。
對排序系統而言,由於所有樣本都會被「成比例地」高估(見下文推導),不會影響排序順序;而對DSP等場景而言,付出的競價成本與pCTR值本身正相關,此時則必須將預估CTR校準至未採樣分布的情況。
在模型訓練-預測的過程中,我們使用採樣模型進行訓練,但面對的預測數據為未採樣數據,因此在預測時需要對bias進行校準。FM或者LR可以利用採樣模型擬合出的bias項來推導預測時(未採樣時)應當使用的校準bias:
其中 。
詳細推導:
設採樣前CTR為 ,採樣後CTR為 ,正樣本數為 ,負樣本數為 ,正樣本採樣概率為 ,負樣本採樣概率為 ,其中
兩者化簡得到 注意 為我們希望得到的校準後概率;但由於我們用採樣的數據進行訓練,模型計算出的pCTR實際為校準前概率 。對於LR、FM等用logistics function做處理的模型,可以得到 兩者化簡可得 因此可以計算出校準後的bias 。
假設有一被高估的模型:
下節預告:
本節主要介紹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-近鄰演算法(史詩級乾貨長文)