Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
広告領域と機械学習 CTR予測最前線 @TokyoWebMining 
坪坂 正志 
m.tsubosaka@gmail.com 
2014/10/11 
TokyoWebMining 
1
本日の話 
•広告領域と機械学習における応用例として広 告のクリック率(CTR)予測の問題を取り上げる 
•今回の発表ではいくつか出ているクリック率 予測の文献のうち、今年の8月に行われた ADKDD 2014で発表されたFacebookのCT...
広告におけるクリック率の 予測の重要性 
•現在Web会社において広告の売上に関する割 合は高い比率を占めている 
•そのため多くのネットに関する会社ではCTR予測 に関する研究を行っている 
–Microsoft [Graepel+ 2010...
広告におけるクリック率の 予測の重要性 
•CTR率予測が重要な理由としては配信のさい に多くの広告形態でクリックあたりいくらという 契約でなされていることが多く、クリック率を 予測することにより収益を最大化できる 
•また近年はRTB(Rea...
CTR率予測における課題 
•データ量が膨大 
–一日に数十億のインプレッションが発生するため、 扱うデータ量が多くなる 
•特徴量の次元が大きい 
–予測の精度をあげようと様々な特徴量を使おうと すると次元が大きくなりモデルサイズが大きくなる...
評価方法について 
•Normalized entropyとCalibrationという二つの方 法で評価する 
•具体的な値はConfidentialなため基本は相対誤 差で実験の値は表示する 
•Normalized entropy : イ...
線形モデルによる予測 
•広告表示のときの特徴量を푥とする、この特徴量に対する 重みを定めてそれをスコア関数とする 
–ここでは特徴量は複数のカテゴリカル変数からなるものとする 
–たとえば男性だと(1,0)、午前中訪問だと(1,0,0)、広告...
非線形な特徴量について 
•線形モデルだけでは年齢*性別*広告のよう な相互作用の影響をとらえることができない 
•例えば年齢ベクトル[0,,0,1,0]、性別ベクトル [0,1]から年齢*性別ベクトル[0,0,0,0,0,0,1,0]を つく...
決定木を使った特徴量の変換 
•入力データを複数の 決定木に入力して、ど のリーフに至るかで特 徴量を作成する 
•例えば右の例で一番 目の木で2番目のリー フ、2番目の木で1番 目のリーフに行った場 合 
•特徴量ベクトルは [0,1,0,1...
決定木を使った特徴量の変換 
•決定木のアンサンブルにはboosted decision treesを採用 
–これは新しい決定木の学習に残りの学習済みの木 の差分を最適化する方法となっている 
•線形モデルと組み合わせることによって3%程度 ...
モデルサイズの節約について (その他のアプローチ) 
•Feature Hashing[Chapelle+ 2014] 
–特徴量を適当なidに変換する 
–idの方を一定の次元dで剰余をとってモデルをd次元のベクトル とする 
–例えばpag...
データの鮮度の重要性 
•1週間ほど経つと約1%ほど精度が落ちる 
–一方でtreeの再学習には訓練データが数億ある とかなりの時間がかかる 
•boosting treeの学習は1/2日に一回行い、線 形モデルのところはオンライン学習を行う ...
オンライン学習方法について 
•論文ではBOPR (Bayesian Online leearning scheme for Probit Regression)とSGD(Stocastic Gradient Descent)の二種類を試してい...
[参考]BOPR 
•CTRの分布としてプロビット関数をおいて、重 みベクトルの事前分布に正規分布を仮定す る 
•更新式はデータがくるたびに特徴量の非0成 分に関する項が更新される 
TokyoWebMining 
14
オンラインでの学習 
•ユーザに表示した広告がクリックされるかどう かのデータを元にオンラインの学習器にデー タを追加して、改善されたモデルをもとに配信 を行っていく 
TokyoWebMining 
15
オンラインでのデータのJoin 
•広告配信において広告が表示されてからク リックされるまでには数秒-数分程度のラグが 存在する 
•そのため一定時間表示データをためておい てクリックデータが入ってきたタイミングでJoin する必要がある 
–...
オンラインでのデータのJoin 
•今回の問題の簡単な解決手段としてHashQueueという データ構造を使っている 
–普通のqueueにclickデータが来た時にimpressionにclickされた かどうかのマークをつけるためにLook...
有効な特徴量について 
•特徴量については大きく分けてHistoricalと Contextualの二種類がある 
–Historical : ユーザのCTR, 広告のCTRなど 
–Contextual : 時間帯、曜日など 
•実験の結果H...
boosting treeの数について 
•treeの数については大体500ぐらいで性能の 向上が見られなくなる 
TokyoWebMining 
19
データ数について 
•トラフィックが膨大なため、数時間のデータで も数億ある 
•そのためデータのサンプリングを行うことが多 い 
•Uniform Sampling 
–ランダムにデータの一部のみ使う 
•Negative down samp...
サンプリングの影響 
•Uniform samplingは10%程度のデータを使え ば精度的には問題ない 
•Negative samplingは今回の実験では2.5%程 度のサンプリングが最も精度が良かった 
TokyoWebMining 
...
Re-calibration 
•Negative samplingをすると元々のCTRが0.1%だと positiveデータを1%サンプリングした場合CTRが 10%になる 
•そのため以下の式で補正してやる 
•푞= 푝 푝+1−푝∗푤 (...
まとめ 
•データの鮮度の重要性 
–少なくとも一日以内にはモデルの再学習を行う必 要がある 
•モデルの複雑さとメモリの節約 
–モデルの精度を上げるには相互作用のような非 線形な要素が必要 
–今回の論文のようにBoosting treeを...
参考文献 
•[Agarwal+ 2014] LASER: A scalable response prediction platform for online advertising, WSDM 2014 
•[Ananthanarayana...
Upcoming SlideShare
Loading in …5
×

Tokyowebmining ctr-predict

13,169 views

Published on

広告のCTR予測について@TokyoWebMining

Published in: Data & Analytics
  • Login to see the comments

Tokyowebmining ctr-predict

  1. 1. 広告領域と機械学習 CTR予測最前線 @TokyoWebMining 坪坂 正志 m.tsubosaka@gmail.com 2014/10/11 TokyoWebMining 1
  2. 2. 本日の話 •広告領域と機械学習における応用例として広 告のクリック率(CTR)予測の問題を取り上げる •今回の発表ではいくつか出ているクリック率 予測の文献のうち、今年の8月に行われた ADKDD 2014で発表されたFacebookのCTR予 測手法について取り上げる –Practical lessons from predicting clicks on ads at Facebook, ADKDD 2014 TokyoWebMining 2
  3. 3. 広告におけるクリック率の 予測の重要性 •現在Web会社において広告の売上に関する割 合は高い比率を占めている •そのため多くのネットに関する会社ではCTR予測 に関する研究を行っている –Microsoft [Graepel+ 2010] [Yin+ 2014], Google [McMahan+ 2013], LinkedIn [Agarwal+ 2014], Alibaba [Yan+ 2014], Facebook [He+ 2014], Yahoo, Criteo [Chapelle+ 2014] TokyoWebMining 3
  4. 4. 広告におけるクリック率の 予測の重要性 •CTR率予測が重要な理由としては配信のさい に多くの広告形態でクリックあたりいくらという 契約でなされていることが多く、クリック率を 予測することにより収益を最大化できる •また近年はRTB(Real time bidding)という媒体 をインプレッション単位で買い付けができると いう仕組みができており、この場合インプレッ ションあたりにいくら払えばよいかの見積に CTR率を予測する必要がでてくる TokyoWebMining 4
  5. 5. CTR率予測における課題 •データ量が膨大 –一日に数十億のインプレッションが発生するため、 扱うデータ量が多くなる •特徴量の次元が大きい –予測の精度をあげようと様々な特徴量を使おうと すると次元が大きくなりモデルサイズが大きくなる •モデルを常に更新する必要がある –広告は常に新規が入ってくるため、古いモデルの ままでは新規広告の予測などに対応できない TokyoWebMining 5
  6. 6. 評価方法について •Normalized entropyとCalibrationという二つの方 法で評価する •具体的な値はConfidentialなため基本は相対誤 差で実験の値は表示する •Normalized entropy : インプレッションごとの対数 損失の平均 •Calibration : 予測CTRの平均と実際のCTRの比率 –モデルがうまく予測できていれば1に近くなる TokyoWebMining 6
  7. 7. 線形モデルによる予測 •広告表示のときの特徴量を푥とする、この特徴量に対する 重みを定めてそれをスコア関数とする –ここでは特徴量は複数のカテゴリカル変数からなるものとする –たとえば男性だと(1,0)、午前中訪問だと(1,0,0)、広告ID2だと (0,0,1,...,0) –これらを結合した値(1,0,1,0,0,0,0,1...,0)のような特徴量となる TokyoWebMining 7
  8. 8. 非線形な特徴量について •線形モデルだけでは年齢*性別*広告のよう な相互作用の影響をとらえることができない •例えば年齢ベクトル[0,,0,1,0]、性別ベクトル [0,1]から年齢*性別ベクトル[0,0,0,0,0,0,1,0]を つくるという方法があるがこれだと特徴量の 数が膨大となる •そのためこの論文では決定木を使った特徴 量の変換を提案している TokyoWebMining 8
  9. 9. 決定木を使った特徴量の変換 •入力データを複数の 決定木に入力して、ど のリーフに至るかで特 徴量を作成する •例えば右の例で一番 目の木で2番目のリー フ、2番目の木で1番 目のリーフに行った場 合 •特徴量ベクトルは [0,1,0,1,0]となる •これによって非線形な 変換+モデルサイズの 節約が可能 TokyoWebMining 9
  10. 10. 決定木を使った特徴量の変換 •決定木のアンサンブルにはboosted decision treesを採用 –これは新しい決定木の学習に残りの学習済みの木 の差分を最適化する方法となっている •線形モデルと組み合わせることによって3%程度 の精度向上 TokyoWebMining 10
  11. 11. モデルサイズの節約について (その他のアプローチ) •Feature Hashing[Chapelle+ 2014] –特徴量を適当なidに変換する –idの方を一定の次元dで剰余をとってモデルをd次元のベクトル とする –例えばpage134_ad389のようなクロスの特徴量を普通に持とう とするとpageの数×広告の数だけ次元が必要になるがこれに より上がdで抑えられる •Encoding values with fewer bits [McMahan+ 2013] –通常重みベクトルはfloat or doubleなので格納に4-8byte必要 –実際は係数ベクトルをそこまでの精度で保つ必要が無いため 独自のエンコーディングを使って2byteで格納する •Probablistic Feature inclusion[McMahan+ 2013] –ほとんど現れない特徴量をモデルにいれないため、新規の特 徴量がでてきたときに一定確率で採用するということを行う TokyoWebMining 11
  12. 12. データの鮮度の重要性 •1週間ほど経つと約1%ほど精度が落ちる –一方でtreeの再学習には訓練データが数億ある とかなりの時間がかかる •boosting treeの学習は1/2日に一回行い、線 形モデルのところはオンライン学習を行う TokyoWebMining 12
  13. 13. オンライン学習方法について •論文ではBOPR (Bayesian Online leearning scheme for Probit Regression)とSGD(Stocastic Gradient Descent)の二種類を試している •BOPR [Graepel+ 2010] –学習時に分散を保存する必要が有るため倍のメモリ が必要 –予測分布がでるため、Thompson samplingのような banditアルゴリズムと相性が良い •SGD –更新時は重みベクトルのみを変更する TokyoWebMining 13
  14. 14. [参考]BOPR •CTRの分布としてプロビット関数をおいて、重 みベクトルの事前分布に正規分布を仮定す る •更新式はデータがくるたびに特徴量の非0成 分に関する項が更新される TokyoWebMining 14
  15. 15. オンラインでの学習 •ユーザに表示した広告がクリックされるかどう かのデータを元にオンラインの学習器にデー タを追加して、改善されたモデルをもとに配信 を行っていく TokyoWebMining 15
  16. 16. オンラインでのデータのJoin •広告配信において広告が表示されてからク リックされるまでには数秒-数分程度のラグが 存在する •そのため一定時間表示データをためておい てクリックデータが入ってきたタイミングでJoin する必要がある –例えばGoogleではPhotonというオンラインでデー タをJoinするためのシステムがある [Ananthanarayanan+ 2013] TokyoWebMining 16
  17. 17. オンラインでのデータのJoin •今回の問題の簡単な解決手段としてHashQueueという データ構造を使っている –普通のqueueにclickデータが来た時にimpressionにclickされた かどうかのマークをつけるためにLookupできるようにしたデー タ構造 –Queueが一杯になったときにclickが来てなかったらnegative exampleとして扱う TokyoWebMining 17 request id request id request id request id HashQueue impression learning data click
  18. 18. 有効な特徴量について •特徴量については大きく分けてHistoricalと Contextualの二種類がある –Historical : ユーザのCTR, 広告のCTRなど –Contextual : 時間帯、曜日など •実験の結果Historicalな特徴量がモデルの精度 により寄与している –ただしContextualな特徴量は新規ユーザ、新規広告 の予測に用いることができるので重要 TokyoWebMining 18
  19. 19. boosting treeの数について •treeの数については大体500ぐらいで性能の 向上が見られなくなる TokyoWebMining 19
  20. 20. データ数について •トラフィックが膨大なため、数時間のデータで も数億ある •そのためデータのサンプリングを行うことが多 い •Uniform Sampling –ランダムにデータの一部のみ使う •Negative down sampling –広告ではクリックされないデータのほうが多いの でクリックされないデータの一部のみ使う TokyoWebMining 20
  21. 21. サンプリングの影響 •Uniform samplingは10%程度のデータを使え ば精度的には問題ない •Negative samplingは今回の実験では2.5%程 度のサンプリングが最も精度が良かった TokyoWebMining 21
  22. 22. Re-calibration •Negative samplingをすると元々のCTRが0.1%だと positiveデータを1%サンプリングした場合CTRが 10%になる •そのため以下の式で補正してやる •푞= 푝 푝+1−푝∗푤 (pは予測CTR, wはダウンサンプリ ング率) •別の研究では予測CTRと実績CTRについてポアソ ン回帰でfittingを行っている [McMahan+ 2013] TokyoWebMining 22
  23. 23. まとめ •データの鮮度の重要性 –少なくとも一日以内にはモデルの再学習を行う必 要がある •モデルの複雑さとメモリの節約 –モデルの精度を上げるには相互作用のような非 線形な要素が必要 –今回の論文のようにBoosting treeを使うほかに FeatureのHashing, バイト数の圧縮などの方法が ある TokyoWebMining 23
  24. 24. 参考文献 •[Agarwal+ 2014] LASER: A scalable response prediction platform for online advertising, WSDM 2014 •[Ananthanarayanan+ 2013] Photon: Fault-tolerant and scalable joining of continuous data streams, SIGMOD 2013 •[Chapelle+ 2014] Simple and scalable response prediction for display advertising, TIST 2014 •[Graepel+ 2010] Web-scale bayesian click-through rate prediction for sponsored search advertising, ICML 2010 •[He+ 2014] Practical lessons from predicting clicks on ads at Facebook, ADKDD 2014 •[McMahan+ 2013] Ad click prediction : a view from the trenches, KDD 2013 •[Yan+ 2014] Coupled group lasso for web-scale CTR prediction in display advertising, ICML 2014 •[Yin+ 2014] Estimating ad group performance in sponsored search, WSDM 2014 TokyoWebMining 24

×