從最近的比賽學習CTR/CVR

從最近的比賽學習CTR/CVR

最近在玩kaggle的talking data的比賽,適逢IJCAI2018的比賽也是CTR問題,故將最近學習的東西整理下分享,歡迎大家拍磚。

CTR預估就是這樣的任務:給定用戶或某唯一標識,給定一個商品(Product),給定了一定的環境,來看用戶會不會買這個商品,買商品的概率有多高;或者說給用戶推薦一個電影,用戶會不會看這個電影,看的概率有多高。形式化的表示就是建模P(click|content)給定上下文,建模點擊/購買/下載/使用的概率。

CTR是很多電商,社交,信息流涉及到盈利的非常關鍵的技術,各家都非常重視,CTR微小的提升,帶來的就是可觀的盈利。

CTR問題為什麼是一個值得拿出來研究的問題,是因為問題的特殊性。

  • 存在高維度的稀疏特徵

比如從用戶的維度看,大的電商其用戶有上億,商品種類也繁多,這樣簡單的獨熱編碼就帶來了上億維的特徵

  • 很多離散性質的特徵

比如其行為發生時間,行為發生的渠道/頁面位置等

一般來講,對於CTR問題解決方向有兩個,一是通過精巧的特徵工程結合簡單的模型(LR),這需要非常之高的專家知識和特徵工程能力。二是弱化特徵工程,通過模型的複雜性來自動發現建模,比較有代表的是Facebook的GBDT+LR,FM,FFM,DNN等方法。深度學習風潮興起之後,很多基於NN的方法,如谷歌的deep and wide, Deep FM, FNN等方法也取得了不錯的效果。

參考 github.com/wzhe06/Ad-pa,wzhe06同學搜集的論文列表

除了非常厲害的特徵工程助你取勝之外,下面有一些經典的論文和方法講解。當然這只是一般套路,針對具體的數據需要你有自己的理解,活用方法和創新才能立於不敗之地。

0.FM/FFM

FM和FFM是台大的童鞋們在Netflix的比賽中把名聲打響,後來在CTR中一直有不錯的效果,FM和FFM的設計,隱含了很多矩陣分解,以及深度學習中embedding的思想,可以說這種壓縮降維表示的思想在高維稀疏數據中都有不錯的效果,這篇博客對其原理有講解。blog.csdn.net/mmc2015/a不過我在實踐中發現,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的葉子結點特徵,非常方便

breezedeus.github.io/20

blog.csdn.net/dengxing1

blog.csdn.net/lilyth_li

3.一些NN方法

NN的方法直覺思路是,通過embedding得到向量空間的表示,然後拿到表示後通過NN模型複雜的非線性完成分類。

在talking data一開始的時候,我在kernel寫了個NN一把梭的baseline,後來有幾個大佬在這上面做了一些優化,看起來比較簡單。kaggle.com/baomengjiao/

下面是一些比較經典的論文,這些論文很多在去年的騰訊計算廣告計算大賽中第一名都有所使用,並且取得了單模型就能排到第三的很好的成績,所以深度學習不容小覷。

  • Deep Neural Networks for YouTube Recommendations

youtebe使用DNN做推薦

  • Wide & Deep Learning for Recommender Systems

Deep & wide

  • FNN:
  • PNN:
  • DeepFM: A Factorization-Machine based Neural Network for CTR Prediction:

下面是一些過往比賽的整理:

kaggle:outbrain click prediction

kaggle.com/c/outbrain-c

kaggle:Display Advertising Challenge

kaggle.com/c/criteo-dis

kaggle Click-ThroughRate Prediction

kaggle.com/c/avazu-ctr-

騰訊社交廣告大賽

algo.tpai.qq.com/person

天池優惠券使用預測

tianchi.aliyun.com/comp

這裡有一個完整的CTR的解決方法,blog.csdn.net/chengchen,kaggle的數據集,比較適合學習,講解地非常詳細。


推薦閱讀:

TAG:Kaggle | 機器學習 | 深度學習DeepLearning |