https://zhuanlan.zhihu.com/p/35046241html
最近在玩kaggle的talking data的比賽,適逢IJCAI2018的比賽也是CTR問題,故將最近學習的東西整理下分享,歡迎你們拍磚。python
CTR預估就是這樣的任務:給定用戶或某惟一標識,給定一個商品(Product),給定了必定的環境,來看用戶會不會買這個商品,買商品的機率有多高;或者說給用戶推薦一個電影,用戶會不會看這個電影,看的機率有多高。形式化的表示就是建模P(click|content)給定上下文,建模點擊/購買/下載/使用的機率。git
CTR是不少電商,社交,信息流涉及到盈利的很是關鍵的技術,各家都很是重視,CTR微小的提高,帶來的就是可觀的盈利。github
CTR問題爲何是一個值得拿出來研究的問題,是由於問題的特殊性。算法
好比從用戶的維度看,大的電商其用戶有上億,商品種類也繁多,這樣簡單的獨熱編碼就帶來了上億維的特徵ide
好比其行爲發生時間,行爲發生的渠道/頁面位置等學習
通常來說,對於CTR問題解決方向有兩個,一是經過精巧的特徵工程結合簡單的模型(LR),這須要很是之高的專家知識和特徵工程能力。二是弱化特徵工程,經過模型的複雜性來自動發現建模,比較有表明的是Facebook的GBDT+LR,FM,FFM,DNN等方法。深度學習風潮興起以後,不少基於NN的方法,如谷歌的deep and wide, Deep FM, FNN等方法也取得了不錯的效果。優化
參考 https://github.com/wzhe06/Ad-papers,wzhe06同窗蒐集的論文列表編碼
除了很是厲害的特徵工程助你取勝以外,下面有一些經典的論文和方法講解。固然這只是通常套路,針對具體的數據須要你有本身的理解,活用方法和創新才能立於不敗之地。spa
0.FM/FFM
FM和FFM是臺大的童鞋們在Netflix的比賽中把名聲打響,後來在CTR中一直有不錯的效果,FM和FFM的設計,隱含了不少矩陣分解,以及深度學習中embedding的思想,能夠說這種壓縮降維表示的思想在高維稀疏數據中都有不錯的效果,這篇博客對其原理有講解。https://blog.csdn.net/mmc2015/article/details/51760681不過我在實踐中發現,libffm對於talking data這種數據量巨大,極不平衡的狀況下無法收斂,具體的緣由還在排查。
1.FTRL
Ad Click Prediction a View from the Trenches
這篇論文是很是經典的FTRL方法,在taiking data的kernel上有Giba大佬的分享 giba-darragh-ftrl-rerevisited,
FTRL還解決了在線學習的問題,在線學習是算法實用化很是關鍵的一點。中文博客在這裏有對原理的講解, 感興趣的同窗能夠看一看。
2. Practical Lessons from Predicting Clicks on Ads at Facebook
這篇文章也很是有名,是把GBDT的葉子結點送給LR,經過模型自動發現學習組合特徵。在業界和競賽上都有不錯的效果,中文博客以下三篇對這個講解不錯,Xgboost使用簡單的
new_feature= xgb.predict(d_test, *pred_leaf*=True)
就能夠拿到GBDT的葉子結點特徵,很是方便
https://breezedeus.github.io/2014/11/19/breezedeus-feature-mining-gbdt.html#fn:fbgbdt
https://blog.csdn.net/dengxing1234/article/details/73739836
https://blog.csdn.net/lilyth_lilyth/article/details/48032119
3.一些NN方法
NN的方法直覺思路是,經過embedding獲得向量空間的表示,而後拿到表示後經過NN模型複雜的非線性完成分類。
在talking data一開始的時候,我在kernel寫了個NN一把梭的baseline,後來有幾個大佬在這上面作了一些優化,看起來比較簡單。https://www.kaggle.com/baomengjiao/embedding-with-neural-network
下面是一些比較經典的論文,這些論文不少在去年的騰訊計算廣告計算大賽中第一名都有所使用,而且取得了單模型就能排到第三的很好的成績,因此深度學習不容小覷。
youtebe使用DNN作推薦
Deep & wide
下面是一些過往比賽的整理:
kaggle:outbrain click prediction
https://www.kaggle.com/c/outbrain-click-prediction/discussion
kaggle:Display Advertising Challenge
https://www.kaggle.com/c/criteo-display-ad-challenge
kaggle Click-ThroughRate Prediction
https://www.kaggle.com/c/avazu-ctr-prediction/leaderboard
騰訊社交廣告大賽
http://algo.tpai.qq.com/person/mobile/?from=singlemessage&qz_gdt=cp77gwalayaicijolfwq
天池優惠券使用預測
https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.6f5fd780FIIzQn&raceId=231587
這裏有一個完整的CTR的解決方法,http://blog.csdn.net/chengcheng1394/article/details/78940565,kaggle的數據集,比較適合學習,講解地很是詳細。