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