Fingind the right consumer - optimizing for conversion in display advertising campagns
Upcoming SlideShare
Loading in...5
×
 

Fingind the right consumer - optimizing for conversion in display advertising campagns

on

  • 451 views

 

Statistics

Views

Total Views
451
Views on SlideShare
438
Embed Views
13

Actions

Likes
1
Downloads
7
Comments
0

3 Embeds 13

https://www.facebook.com 11
https://m.facebook.com&_=1377251794873 HTTP 1
http://www.facebook.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Fingind the right consumer - optimizing for conversion in display advertising campagns Fingind the right consumer - optimizing for conversion in display advertising campagns Presentation Transcript

  • Fingind the Right Consumer: Optimizing for Conversion in Display Advertising Campagns Yandong Liu, Sandeep Pandey, Deepak Agarwal, Vanja Josifovski Carnegie Mellon, 5000 Forbes Avenue, Pittsburghm, PA 15213, USA Yahoo Inc., 4301 Great America Parkway, Santa Clara, CA 95054, USA (WSDM 2012)
  • モチベーション ◆広告出稿の入札をする側+広告主  - コンバージョンしてくれそうなユーザに広告を表示したい   ⇒ 広告の表示が適切なユーザを見つける ◆課題  - 通常、CVRが極めて少ない   ⇒ CVしていないユーザをサンプリング  - ユーザプロファイルのための変数が多すぎる   ⇒ Kullback-Libler情報量による選定  - コールドスタート問題   ⇒ ブートスラップ効果により解決(階層化に似た考え) 本論文ではこれらの課題を解決する本論文ではこれらの課題を解決する本論文ではこれらの課題を解決する本論文ではこれらの課題を解決するCVR見積もり手法を提案見積もり手法を提案見積もり手法を提案見積もり手法を提案
  • Contributions ◆本論文の貢献  - seed set(=CV,非CVユーザの集団 =local component)とcampaign metadata(=sportsなどのカテゴリ =global component)の2つの情報を元にし たターゲティングができる  - global componentという考え方を用いたのは本論文が最初(?)  - global componentによるブートストラップ効果の活用
  • Problem Definition ◆CV関数の定義  - ユーザをCVしそうかどうかでクラス分け Tczxf cu >),,( ユーザユーザユーザユーザuの特徴ベクトルの特徴ベクトルの特徴ベクトルの特徴ベクトル キャンペーンキャンペーンキャンペーンキャンペーンcののののmetadata CVの閾値の閾値の閾値の閾値 (false positive, false negativeのののの 値を見ながら調整する値を見ながら調整する値を見ながら調整する値を見ながら調整する)
  • Problem Definition ◆ユーザ特徴ベクトルxuの作成 ベクトル作成(次ベクトル作成(次ベクトル作成(次ベクトル作成(次 元圧縮)には元圧縮)には元圧縮)には元圧縮)には Bag of words 使用(ベクトルは使用(ベクトルは使用(ベクトルは使用(ベクトルは binary))))
  • Problem Definition ◆campainの特徴ベクトルzcの作成 creativeの特徴との特徴との特徴との特徴とlandingpageの要約(トピック)を使用 の要約(トピック)を使用 の要約(トピック)を使用 の要約(トピック)を使用 ※※※※詳しくは実験の章を参照詳しくは実験の章を参照詳しくは実験の章を参照詳しくは実験の章を参照
  • Problem Definition ◆campainの特徴としてのseed set  - 当該キャンペーンで過去にCVしたユーザとそうでないユーザに分類  - 始まって間もないキャンペーンは類似メタデータなどを活用
  • Modeling Approaches ◆CV関数f()の再定義 )(),(),,( uccucu xfzxgczxf += キャンペーンキャンペーンキャンペーンキャンペーンCに依存しに依存しに依存しに依存し たユーザ特徴関数たユーザ特徴関数たユーザ特徴関数たユーザ特徴関数 キャンペーン特徴関数キャンペーン特徴関数キャンペーン特徴関数キャンペーン特徴関数
  • Modeling Approaches ◆推定に使用する手法  1) Linear Support Vector Machine(L-SVM)  2) Logistic Regression(LR)  3) Naive-Bayes(NB) ※※※※これらこれらこれらこれら3つの手法について比較を行ったつの手法について比較を行ったつの手法について比較を行ったつの手法について比較を行った
  • Modeling Approaches ◆L-SVM  - CVは+1, 非CVは-1として判定する  - ヒンジロス最小化   ・ L1 SVMの場合   ・L2 SVMの場合 ( )∑ ⋅−cu cucu czxfy, , ),,(1,0max ( )2 , , ),,(1,0max∑ ⋅−cu cucu czxfy fの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナルの自由度が高い場合、訓練データに過学習してしまう。この場合、ペナル ティ項が更に必要である。ティ項が更に必要である。ティ項が更に必要である。ティ項が更に必要である。 これを防ぐために線形のこれを防ぐために線形のこれを防ぐために線形のこれを防ぐために線形のSVMを仮定している。を仮定している。を仮定している。を仮定している。
  • Modeling Approaches ◆Logistic Regression  - SVMでのヒンジロス最小化をシグモイド関数に置き換える ( )( )∑ ⋅+cu cucu czxfy, , ),,(exp1log 1次正則付き又は次正則付き又は次正則付き又は次正則付き又は2次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して次正則付きにすることにより、スパースな入力に対して 有効な解が得られる有効な解が得られる有効な解が得られる有効な解が得られる
  • Modeling Approaches ◆Naive Bayes  -log-oddsを考える ( ) ( ) ( ) ( )1 1 log 1| 1| log , , , , −= = + −= = cu cu cuuc cuuc yp yp yxD yxD 確率密度関数確率密度関数確率密度関数確率密度関数 キャンペーン毎に定数とキャンペーン毎に定数とキャンペーン毎に定数とキャンペーン毎に定数と なるため無視できるなるため無視できるなるため無視できるなるため無視できる バイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがあるバイアスがある場合、独立性の仮定のために性能劣化を招く恐れがある
  • Modeling Approaches -Local Models Using the Seed Set- ◆g(xu, zc)を無視する )(),(),,( uccucu xfzxgczxf += )(),,( uccu xfczxf = ◆L-SVM, LRにおけるf(xu, zc) cuuc xxf β')( = ∑∈ + Cu pccccuu yxLc βλββ ),,(minarg , 正則化の次数正則化の次数正則化の次数正則化の次数 L-SVMにおけるヒンジロス関数L )'y-1max(0, cu,c βux⋅ L-SVMにおける2乗ヒンジロス関数L 2 cu,c )'y-1max(0, βux⋅ LRにおけるロス関数L 2 cu,c )'y-1max(0, βux⋅ ロス関数ロス関数ロス関数ロス関数 本稿ではL-SVMについてL1,L2正則について計算を行っている
  • Modeling Approaches -Local Models Using the Seed Set- ◆NBにおけるf(xu, zc) ∑= −= = = m i ucuii ucuii uc yxD yxD xf 1 )1|( )1|( log)( クラスクラスクラスクラスyucの中のの中のの中のの中のi番目のユーザの番目のユーザの番目のユーザの番目のユーザの 周辺密度関数周辺密度関数周辺密度関数周辺密度関数 計算例) ayu payxu uc icucui += ⋅+== === 1: )(1,1: 1)y|1Di(x ucui 今回すべての特徴量が2値な ので、単純にキャンペーンcの ユーザ特徴量のi番目の値が1 の者の割合 スムージング定数(疑似スムージング定数(疑似スムージング定数(疑似スムージング定数(疑似CV数数数数?)))) 本稿では本稿では本稿では本稿ではaはははは[1,5]としているとしているとしているとしている キャンペーンキャンペーンキャンペーンキャンペーンCで特徴量で特徴量で特徴量で特徴量iがががが1の者の割合の者の割合の者の割合の者の割合 ※※※※aの値には多少敏感だが、の値には多少敏感だが、の値には多少敏感だが、の値には多少敏感だが、NB自体はロバ自体はロバ自体はロバ自体はロバ ストであることを実験により確認しているストであることを実験により確認しているストであることを実験により確認しているストであることを実験により確認している
  • Modeling Approaches -Global Models Using Campaign Metadata- ◆global modelを使う理由  - locla modelはseed setの数が多ければうまく機能する    (CV数が多ければ機能する)  - 新しいキャンペーンやtraining dataが少ない場合、    データのスパース性によりパフォーマンスは十分でなくなる   ⇒ これらを緩和するためにキャンペーンメタデータzcを導入した
  • Modeling Approaches -Global Models Using Campaign Metadata- ◆作成した2つのglobal model  - Merge-based Global model  - Interaction-based Global model
  • Modeling Approaches -Global Models Using Campaign Metadata- ◆Merge-based Global model cuuc xxf β')( = β')( uuc xxf = 全てのキャンペーンの係数全てのキャンペーンの係数全てのキャンペーンの係数全てのキャンペーンの係数ββββを利を利を利を利 用する用する用する用する ※※※※CV数が大きいキャンペーンの数が大きいキャンペーンの数が大きいキャンペーンの数が大きいキャンペーンのββββcほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれのほど影響が強くなってしまうので、それぞれの キャンペーンのキャンペーンのキャンペーンのキャンペーンのseed set(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする(ポジティブクラス・ネガティブクラス)をイコールにする (?)(?)(?)(?)
  • ( )∑ ++ cu ppucucuD DxDzxyL , , )','(min βλβ Modeling Approaches -Global Models Using Campaign Metadata- ◆Interaction-based Global Model 全てのキャンペーンデータから算全てのキャンペーンデータから算全てのキャンペーンデータから算全てのキャンペーンデータから算 出される未知行列出される未知行列出される未知行列出される未知行列 ※※※※(D,ββββ)のパラメータ数はのパラメータ数はのパラメータ数はのパラメータ数はuser数を数を数を数をm, キャンペーン数をキャンペーン数をキャンペーン数をキャンペーン数をnとすると、とすると、とすると、とすると、         (m+1)・・・・n次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿では次元となり高次元過ぎる(本稿ではm=70k, n=500)))) β')( uuc xxf =cucuc Dzxzxg '),( = )(),(),,( uccucu xfzxgczxf += 全キャンペーンから全キャンペーンから全キャンペーンから全キャンペーンから 導いた導いた導いた導いたββββ
  • ∑       ⋅c i ci ci q q q . , , log Modeling Approaches -Global Models Using Campaign Metadata- ◆次元の削減  - カルバック・ライブラー情報量を用いた(a-prioriフィルター)  - 以下で算出した値が0であれば除外する 全キャンペーンの全キャンペーンの全キャンペーンの全キャンペーンのi番目の変数が番目の変数が番目の変数が番目の変数が1 である者のである者のである者のである者のCV率率率率 キャンペーンキャンペーンキャンペーンキャンペーンcののののi番目の変数が番目の変数が番目の変数が番目の変数が1 である者のである者のである者のである者のCV率率率率
  • ∑ ∑+++++ cu C pccpgpcugucucuD DxxDzXyL , , )''',(min βλβλλββ cuguuc xxxf ββ '')( += Modeling Approaches -Global + Local Models - ◆最適化問題 a-prioriフィルターにより作成したフィルターにより作成したフィルターにより作成したフィルターにより作成した ユーザの特徴ベクトルユーザの特徴ベクトルユーザの特徴ベクトルユーザの特徴ベクトル グローバルモデルの係数グローバルモデルの係数グローバルモデルの係数グローバルモデルの係数 )(),(),,( uccucu xfzxgczxf += cucuc Dzxzxg '),( = ローカルモデルの係数ローカルモデルの係数ローカルモデルの係数ローカルモデルの係数 ※※※※複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難複雑過ぎて解を求めるのが困難
  • gucu xzDX βˆ'ˆ' + Modeling Approaches -Global + Local Models - ◆最適解算出へのアプローチ  - グローバルとローカルの係数を等しいとみなす  - まずはグローバルモデルの係数を学習し、それを使って問題を解く λλ =c グローバルモデルで既に計算したグローバルモデルで既に計算したグローバルモデルで既に計算したグローバルモデルで既に計算した モノを使用するモノを使用するモノを使用するモノを使用する ),,( , ccuu yxL β )ˆ'ˆ',,( , cgucucuu xzDXyxL ββ ++ ※※※※長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く長い期間継続されているキャンペーンでも新しいキャンペーンでもうまく動く
  • EXPERIMENTS ◆使用変数  - ユーザ側:page visits, ad views, search queries  - キャンペーン側:    クリエイティブのクリック先のランディングページをクロールしたデータ ※※※※Seed setに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っているに関してはデータ数の影響を見るためにサイズ毎に実験を行っている     →→→→ 新しいキャンペーンでは新しいキャンペーンでは新しいキャンペーンでは新しいキャンペーンではx=0, 成熟したキャンペーンでは成熟したキャンペーンでは成熟したキャンペーンでは成熟したキャンペーンではx=30~~~~70とするとするとするとする
  • EXPERIMENTS ◆実験条件  - 使用データ:03/18/2011~04/15/2011の約1か月間のデータ  - ネガティブユーザは30,000にダウンサンプリング(キャンペーン毎)  - キャンペーンデータは10キャンペーン、15,000のクリエイティブ  - 各キャンペーンは平均して週10~20CV  - 交叉検証は3fold
  • EXPERIMENTS ◆評価方法  - AUC(ROC曲線の下側面積)
  • EXPERIMENTS ◆seed setを使ったlocal models  - L-SVM(L2正則), LR, NBのパフォーマンス CV数の大きいキャンペーンが小さい数の大きいキャンペーンが小さい数の大きいキャンペーンが小さい数の大きいキャンペーンが小さいindex
  • EXPERIMENTS ◆正則化定数の影響 ※※※※多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い多き過ぎるより小さい方が有意に良い
  • EXPERIMENTS ◆ X<=540のキャンペーンのCV数とAUCの関係
  • EXPERIMENTS ◆training setにおけるCV数の影響  - CV数の小さいキャンペーンではx=540を超えない  - CV数の大きなキャンペーンではx=5,000以下とした  - small campaignの場合はCVの条件が厳しい(email sign-up, 広告クリックな ど)  - large campaignの場合はCVの条件が緩い(広告を見たなど) ※xはseed/training set毎のCV数を示す large campagn middle campagn small campagn ※※※※実験では小さな実験では小さな実験では小さな実験では小さなCV数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった数の方がモデルの学習は有意によかった
  • EXPERIMENTS ◆merge modelとlocal modelの比較 ※※※※x=200までであればまでであればまでであればまでであればmerge modelははははlocal modelと比較して高いと比較して高いと比較して高いと比較して高いAUCとなっているとなっているとなっているとなっている  (と書いてあるけど、 (と書いてあるけど、 (と書いてあるけど、 (と書いてあるけど、mediumの間違いだと思われる)の間違いだと思われる)の間違いだと思われる)の間違いだと思われる)      largeの場合はスモールスタートとなるための場合はスモールスタートとなるための場合はスモールスタートとなるための場合はスモールスタートとなるためmerge modelが有効に働いている(?)が有効に働いている(?)が有効に働いている(?)が有効に働いている(?)
  • EXPERIMENTS ◆Interaction-based global modelとmerge modelの比較 ※※※※a-prioriフィルター(フィルター(フィルター(フィルター(KL情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は情報量による変数選択)によってユーザ特徴量は3,000としたとしたとしたとした      キャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているキャンペーン特徴量はランディングページに使用されているtop50ワードを使用したワードを使用したワードを使用したワードを使用した
  • EXPERIMENTS ◆ Global, Global + local modelとlocal modelの比較 ※※※※Small campaignでは正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。では正規化定数の影響が悪い方に出ている。      Large campaignではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。ではスモールスタート問題を解決できている。
  • Conclusion ◆結論  - 低いCVR, キャンペーン毎の分散が大きいデータに対して適用できる    モデルを提案した ◆感想  ― キャンペーン毎にCV数の分散が小さければsmall campaignでも    有効にはたらくのだろうか  - 明に階層構造を作らずにブートストラップ効果を活用しているのは面白い  - 最適化部分はかなり計算が重そう