#Paper Reading# Ad Click Prediction: a View from the Trenches

論文題目: Ad Click Prediction: a View from the Trenches
論文地址: https://dl.acm.org/citation.cfm?id=2488200
論文發表於: KDD 2013(CCF A類會議)

論文大體內容:
本文主要介紹了FTRL模型的工程實現,並且作者嘗試的多個trick。這也是LR模型處理大規模數據下,所發展出來的優化模型FTRL。裏面的介紹,更多是工程化的trick,是FTRL模型推廣的重要文章。

1. FTRL-Proximal(Follow-the-regularized-Leader) online learning algorithm是結合了FOBOS的精度和RDA的稀疏性,用於提升CTR任務的效果。基本思想見下圖[1];

2. 實現僞代碼如下;

工程Trick
3. 樣本生成中省內存的2項方法:
①泊松過程:以p的概率決定是否增加一個新的特徵;
②Bloom過濾器:特徵出現了n次後,才放進模型中;(效果更好)

4. 由於作者注意到w一般範圍是(-2,+2),所以用64位double存儲w就太浪費了,這裏使用1bit存儲正負號,2bit存儲整數部分,13bit存儲小數部分。64位變16位,節省75%內存,效果沒有下降。

5. 訓練多份相似的model,各自共享/獨享feature;

6. 多model共用一份feature存儲;

7. 用正負樣本數量來近似計算梯度的和;

8. 採樣同時不改變樣本分佈;
正樣本採樣率100%,負樣本採樣率r,同時爲了不改變樣本分佈,加weight到loss中,提升負樣本的權重;

不成功的嘗試
9. 特徵Hash
使用hash的trick,來降低整體的內存空間,但是效果並不好;

10. Dropout
使用Dropout,但是沒取得很好的泛化效果,效果負向。作者說可能是因爲dropout更適合用於dense feature,而在稀疏特徵下,Dropout反而使得一些強相關的特徵被分別對待;

11. 多個相似模型之間進行均值融合(bagging),但是實驗效果負向;

12. 特徵向量歸一化
這種做法會影響學習速率和正則化,效果也是負向;


參考資料: 
[1] https://www.cnblogs.com/EE-NovRain/p/3810737.html
[2] http://www.datakit.cn/blog/2016/05/11/ftrl.html


以上均爲個人見解,因本人水平有限,如發現有所錯漏,敬請指出,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章