Practical Lessons from Predicting Clicks on Ads at Facebook (2014)论文阅读
?
文章鏈接:?https://quinonero.net/Publications/predicting-clicks-facebook.pdf
?
- abstract
Facebook日活躍度7.5億,活躍廣告主1百萬
特征工程最重要:user和ad的歷史信息勝過其他特征
輕微提升模型效果:數據新鮮度、學習率、數據采樣
增加一個重要特征和選擇正確的模型更關鍵
?
- introduction
按點擊收費廣告效果依賴于點擊率預估。相比于搜索廣告使用搜索query,Facebook更依賴人口和興趣特征。
本文發現決策樹和邏輯回歸的混合模型比其他方法好3%。
線性分類兩個要素:特征變換、數據新鮮度
在線學習
延時、可擴展性
- experimental setup
劃分訓練數據和測試數據模擬在線數據流。
評估指標使用預測精度:歸一化熵(Normalized Entropy,NE)和校正度(calibration)
NE = 預測log loss/平均歷史ctr;越低效果越好。使用背景ctr(即平均歷史ctr)是為了評估相對歷史ctr更不敏感。
calibration = 平均估計ctr/歷史ctr = 期望點擊數/實際點擊數。
不用AUC是因為它度量排序效果且沒有校正度概念。NE反映了預測精度且隱藏反映校正度。
?
- prediction model structure
使用決策樹做特征變換
更新的數據得到更好效果
SGD:
Bayesian online learning scheme for probit regression (BOPR)的似然和先驗:
更新算法:
? —— decision tree feature transforms
連續特征:離散化分桶
類別特征:笛卡爾積
每個GBDT輸出作為編碼某種規則的特征,再用線性分類器:
有GBDT特征變換相對于沒有,NE下降3.4%。一般的特征工程只能下降千分之二左右。
使用GBDT特征變換先出減少特征數,代價僅僅減少很少的效果。
?
—— data freshness
周級別更新改為天級別更新,NE下降1%。因此需要天級別更新。
線性分類器部分可以實時更新
?
—— online linear classifer
#1,#2,#3 每個特征有獨立的學習率
#4,#5 所有特征共享一個學習率
效果排名:#1,#2=#5,#4,#3。
#1是LR,獨立學習率。
#5全局統一學習率的問題主要因為不同特征有取值的樣本的個數差距大。樣本少的特征權重衰減過快。
#3雖然緩解此問題但是仍然差,因為學習率衰減太快導致過早結束訓練。
LR和BOPR效果接近,但是LR模型比BOPR小一半。不過BOPR有Bayes形式,更適合explore/exploit方法。
—— online data joiner
結合requestID拼接點擊和展示,HashQueue存impression,HashMap存click。展示需要等待點擊事件,等待時間窗需要仔細調,過小點擊拼接不上、過大需要更多存儲且時效性差。
有點擊無法拼接意味著歷史ctr低于真實值,因此需要校正。
需要做保護機制,比如click數據流卡住,trainer需要斷開與joiner的連接。
?
- containing memory and latency
—— number of boosting trees
#leaves per tree <= 12
500 trees取得大部分提升
而且為了計算和存儲效率,數的棵數不要太多。
?
—— boosting feature importance
一般少量特征貢獻大部分提升。top10特征貢獻一半特征重要度,last300貢獻<1%重要度。
幾個特征舉例
contextual: local time of day, day of week, device, current page
historical: cumulative number of clicks on an ad, avg ctr of the ad in last week, avg ctr of the user
?
—— historical features
historical比contextual更有用:top10重要度都是historical特征。
contextual特征更適合處理冷啟動問題。
contextual特征更依賴數據新鮮度,當然部分因為historical特征已經包含長期累積的用戶行為
?
- ?coping with massive training data
億級別以上樣本量
?
—— uniform subsampling
更多數據效果更好。不過10%數據只有1%效果損失。
?
—— negative down sampling
類別不均衡需要負例下采樣,目前最佳采樣率是0.025
—— model re-calibration
? 因為負采樣所以需要ctr校正。
?
轉載于:https://www.cnblogs.com/yaoyaohust/p/11310129.html
總結
以上是生活随笔為你收集整理的Practical Lessons from Predicting Clicks on Ads at Facebook (2014)论文阅读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解学说上海话
- 下一篇: JVM内存区域划分总结