広告領域と機械学習 CTR予測最前線 @TokyoWebMining 
坪坂 正志 
m.tsubosaka@gmail.com 
2014/10/11 
TokyoWebMining 
1
本日の話 
•広告領域と機械学習における応用例として広 告のクリック率(CTR)予測の問題を取り上げる 
•今回の発表ではいくつか出ているクリック率 予測の文献のうち、今年の8月に行われた ADKDD 2014で発表されたFacebookのCTR予 測手法について取り上げる 
–Practical lessons from predicting clicks on ads at Facebook, ADKDD 2014 
TokyoWebMining 
2
広告におけるクリック率の 予測の重要性 
•現在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
広告におけるクリック率の 予測の重要性 
•CTR率予測が重要な理由としては配信のさい に多くの広告形態でクリックあたりいくらという 契約でなされていることが多く、クリック率を 予測することにより収益を最大化できる 
•また近年はRTB(Real time bidding)という媒体 をインプレッション単位で買い付けができると いう仕組みができており、この場合インプレッ ションあたりにいくら払えばよいかの見積に CTR率を予測する必要がでてくる 
TokyoWebMining 
4
CTR率予測における課題 
•データ量が膨大 
–一日に数十億のインプレッションが発生するため、 扱うデータ量が多くなる 
•特徴量の次元が大きい 
–予測の精度をあげようと様々な特徴量を使おうと すると次元が大きくなりモデルサイズが大きくなる 
•モデルを常に更新する必要がある 
–広告は常に新規が入ってくるため、古いモデルの ままでは新規広告の予測などに対応できない 
TokyoWebMining 
5
評価方法について 
•Normalized entropyとCalibrationという二つの方 法で評価する 
•具体的な値はConfidentialなため基本は相対誤 差で実験の値は表示する 
•Normalized entropy : インプレッションごとの対数 損失の平均 
•Calibration : 予測CTRの平均と実際のCTRの比率 
–モデルがうまく予測できていれば1に近くなる 
TokyoWebMining 
6
線形モデルによる予測 
•広告表示のときの特徴量を푥とする、この特徴量に対する 重みを定めてそれをスコア関数とする 
–ここでは特徴量は複数のカテゴリカル変数からなるものとする 
–たとえば男性だと(1,0)、午前中訪問だと(1,0,0)、広告ID2だと (0,0,1,...,0) 
–これらを結合した値(1,0,1,0,0,0,0,1...,0)のような特徴量となる 
TokyoWebMining 
7
非線形な特徴量について 
•線形モデルだけでは年齢*性別*広告のよう な相互作用の影響をとらえることができない 
•例えば年齢ベクトル[0,,0,1,0]、性別ベクトル [0,1]から年齢*性別ベクトル[0,0,0,0,0,0,1,0]を つくるという方法があるがこれだと特徴量の 数が膨大となる 
•そのためこの論文では決定木を使った特徴 量の変換を提案している 
TokyoWebMining 
8
決定木を使った特徴量の変換 
•入力データを複数の 決定木に入力して、ど のリーフに至るかで特 徴量を作成する 
•例えば右の例で一番 目の木で2番目のリー フ、2番目の木で1番 目のリーフに行った場 合 
•特徴量ベクトルは [0,1,0,1,0]となる 
•これによって非線形な 変換+モデルサイズの 節約が可能 
TokyoWebMining 
9
決定木を使った特徴量の変換 
•決定木のアンサンブルにはboosted decision treesを採用 
–これは新しい決定木の学習に残りの学習済みの木 の差分を最適化する方法となっている 
•線形モデルと組み合わせることによって3%程度 の精度向上 
TokyoWebMining 
10
モデルサイズの節約について (その他のアプローチ) 
•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
データの鮮度の重要性 
•1週間ほど経つと約1%ほど精度が落ちる 
–一方でtreeの再学習には訓練データが数億ある とかなりの時間がかかる 
•boosting treeの学習は1/2日に一回行い、線 形モデルのところはオンライン学習を行う 
TokyoWebMining 
12
オンライン学習方法について 
•論文ではBOPR (Bayesian Online leearning scheme for Probit Regression)とSGD(Stocastic Gradient Descent)の二種類を試している 
•BOPR [Graepel+ 2010] 
–学習時に分散を保存する必要が有るため倍のメモリ が必要 
–予測分布がでるため、Thompson samplingのような banditアルゴリズムと相性が良い 
•SGD 
–更新時は重みベクトルのみを変更する 
TokyoWebMining 
13
[参考]BOPR 
•CTRの分布としてプロビット関数をおいて、重 みベクトルの事前分布に正規分布を仮定す る 
•更新式はデータがくるたびに特徴量の非0成 分に関する項が更新される 
TokyoWebMining 
14
オンラインでの学習 
•ユーザに表示した広告がクリックされるかどう かのデータを元にオンラインの学習器にデー タを追加して、改善されたモデルをもとに配信 を行っていく 
TokyoWebMining 
15
オンラインでのデータのJoin 
•広告配信において広告が表示されてからク リックされるまでには数秒-数分程度のラグが 存在する 
•そのため一定時間表示データをためておい てクリックデータが入ってきたタイミングでJoin する必要がある 
–例えばGoogleではPhotonというオンラインでデー タをJoinするためのシステムがある [Ananthanarayanan+ 2013] 
TokyoWebMining 
16
オンラインでのデータの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
有効な特徴量について 
•特徴量については大きく分けてHistoricalと Contextualの二種類がある 
–Historical : ユーザのCTR, 広告のCTRなど 
–Contextual : 時間帯、曜日など 
•実験の結果Historicalな特徴量がモデルの精度 により寄与している 
–ただしContextualな特徴量は新規ユーザ、新規広告 の予測に用いることができるので重要 
TokyoWebMining 
18
boosting treeの数について 
•treeの数については大体500ぐらいで性能の 向上が見られなくなる 
TokyoWebMining 
19
データ数について 
•トラフィックが膨大なため、数時間のデータで も数億ある 
•そのためデータのサンプリングを行うことが多 い 
•Uniform Sampling 
–ランダムにデータの一部のみ使う 
•Negative down sampling 
–広告ではクリックされないデータのほうが多いの でクリックされないデータの一部のみ使う 
TokyoWebMining 
20
サンプリングの影響 
•Uniform samplingは10%程度のデータを使え ば精度的には問題ない 
•Negative samplingは今回の実験では2.5%程 度のサンプリングが最も精度が良かった 
TokyoWebMining 
21
Re-calibration 
•Negative samplingをすると元々のCTRが0.1%だと positiveデータを1%サンプリングした場合CTRが 10%になる 
•そのため以下の式で補正してやる 
•푞= 푝 푝+1−푝∗푤 (pは予測CTR, wはダウンサンプリ ング率) 
•別の研究では予測CTRと実績CTRについてポアソ ン回帰でfittingを行っている [McMahan+ 2013] 
TokyoWebMining 
22
まとめ 
•データの鮮度の重要性 
–少なくとも一日以内にはモデルの再学習を行う必 要がある 
•モデルの複雑さとメモリの節約 
–モデルの精度を上げるには相互作用のような非 線形な要素が必要 
–今回の論文のようにBoosting treeを使うほかに FeatureのHashing, バイト数の圧縮などの方法が ある 
TokyoWebMining 
23
参考文献 
•[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

Tokyowebmining ctr-predict