estimating conversion rate in display advertising from past performance data
TRANSCRIPT
Estimating Conversion Rate in
Display Advertising from Past
Performance Data
Kuang-chin Lee, Burkay Orten, Ali Dasdan, Wentong LiTurn Inc., Redwood City, CA, USA
(KDD 2012)
モチベーション
・広告出稿の入札をする側
- 広告を提示するユーザ、ページの価値を正確に測定したい
⇒ CVRを正確に見積もる
・課題
- 通常、CVRは0.0001~0.1%程度で極めて少ない
・・・ユーザ、ページ、広告の組み合わせで十分なCV数を
チェックすることができない
⇒ 階層化、”implicit(潜在的)”なクラスタリングで解決
- 入札まで5ms~10ms ・・・時間的制約が強く、計算量が少なくかつ正確な測定法が必要
⇒ ロジスティック回帰で解決
本論文ではこの本論文ではこの本論文ではこの本論文ではこの2つの課題を解決するつの課題を解決するつの課題を解決するつの課題を解決するCVR見積もり手法を提案見積もり手法を提案見積もり手法を提案見積もり手法を提案
Overview of Ad Call Flow
・本論文の貢献
- 広告出稿者側が出稿すべき広告の選定が可能になる
- 入札価格の決定に利用できる ← 後述の論文を参照
Problem Setup and Formulation
・最適な広告の選定
・CVを確率的に発生するイベントと捉える
・最適な広告の選定
(1)
(2)
(3)
ベルヌーイ分布を仮定ベルヌーイ分布を仮定ベルヌーイ分布を仮定ベルヌーイ分布を仮定
Problem Setup and Formulation
・ユーザ個人のCVRを見積もらずにクラスタリングして最尤推定で計算
(4)
User, page, adの組み合わせでのデータスパースネスを
データに階層構造を持たせることで解決
Impression数数数数Impression数数数数
CV数数数数CV数数数数
Data Hierarchies
・データに階層構造も持たせ、”implicit”なクラスタリングを実現
Ad, page, userのノードを定めると、la×lp×lu個(=Mとする)のクラスタに所属する
Past Performance at Different
Hierarchical Levels
・CV率の再定義
提案) 1つ1つのCVR予測器は弱いが、組み合わせることで強力にできる
・データの階層によってM個のpi,j,kが定義できる
- Ex.)
(8)
userと同じくと同じくと同じくと同じくpageとととと
adもグループ化もグループ化もグループ化もグループ化
Combining Estimators using
Logistic Regression
・ロジスティック回帰を利用して各予測器に最適な重み付けを行う
・各予測器を組み合わせたCVR予測の再定義
※最適なパラメータベクトルββββを決める必要がある
(9)
( )xT
exf
ββ
−+=
1
1;
この先この先この先この先i,j,kの表示が落とされますが、の表示が落とされますが、の表示が落とされますが、の表示が落とされますが、
あるあるあるあるi,j,kについて述べられていると考えてくださいについて述べられていると考えてくださいについて述べられていると考えてくださいについて述べられていると考えてください
Cobining Estimators using Logistic
Regression
・各PVに対する対数尤度関数
ユーザ、ページ、広告の組み合わせ時の正確なCVRの見積もり手法
(10)
・最適なβを求める(L-BFGS-B法などを利用)
(11)
同キャンペーン中の同キャンペーン中の同キャンペーン中の同キャンペーン中のs回目の回目の回目の回目の
impressionにおける数値における数値における数値における数値
両者ともベクトル両者ともベクトル両者ともベクトル両者ともベクトル
(ボールドになっていなくてわかりにくく(ボールドになっていなくてわかりにくく(ボールドになっていなくてわかりにくく(ボールドになっていなくてわかりにくく
てすみません)てすみません)てすみません)てすみません)
Data Imbalance & Output
Calibration
・CV/非CV率が非常に低い
- CVしたデータは全て利用
- 非CVデータはサンプリングして利用 ← 影響は調査する
・スコアを区間で分割し、キャリブレーション
(13)
(14)
1...,0 121 ≤<≤ +nvvvロジスティック回帰の結果をロジスティック回帰の結果をロジスティック回帰の結果をロジスティック回帰の結果を ののののn binに等分割し再定義に等分割し再定義に等分割し再定義に等分割し再定義
真の真の真の真のCVRに近づけるために近づけるために近づけるために近づけるため
に行うに行うに行うに行う
単純に単純に単純に単純にbin内のサンプル内のサンプル内のサンプル内のサンプル
ののののCVRの計算の計算の計算の計算
i,j,kの枠は排除(?)の枠は排除(?)の枠は排除(?)の枠は排除(?)
(分割数は手探り?)(分割数は手探り?)(分割数は手探り?)(分割数は手探り?)
Data Imbalance & Output
Calibration
・区間ごとのCV率の凹凸のスムージングはPool Adjacent Violators Algorithm(PAVA)を利用
― 等調回帰をベースとしたものを使って指数関数にフィットするように調整
・実際のCVRは内分して算出
(15)
Missing Features
・データが無い場合の補正
- ユーザプロファイルサーバに無いユーザID、カテゴリに分類できない
ウェブページ
- ガウス分布を仮定して、条件付きガウス分布による補正を行う
(16)
(17)
※※※※補正の効果も調査補正の効果も調査補正の効果も調査補正の効果も調査
データありのベクトルデータありのベクトルデータありのベクトルデータありのベクトル
データがない場合のベクトルデータがない場合のベクトルデータがない場合のベクトルデータがない場合のベクトルpsのサブベのサブベのサブベのサブベ
クトルクトルクトルクトル
Bayesian Least Squares Estimator(BLSE)で補間した値で補間した値で補間した値で補間した値
Feature Selection
・階層化に利用する属性
- 65%以上のデータが持っている属性
- データを持っていても属性の分散が10^-8以下のものは利用しない
※具体的に利用した変数は不明
Imbalance and Score Calibration
・訓練データの非CV/CV率影響
※IRによる差は無かった
ImbalanceRatio
Missing Value Imputation
・欠損値のあるデータの補正
※わざわざ補正する必要もなく、中央値で問題ない
Baseline Estimators vs
Logistic Regression
・実験条件
- 2012年1月の2週間のログを利用
始めの1週間を訓練、残りの1週間をテストとする
- 広告群は5種類(車、贈り物・・・など、それぞれ100万単位のPV数/日)
- あるユーザがページ、広告を見たときにCVするかしないかを予測
Baseline Estimators vs
Logistic Regression
・提案手法の効果
-Baseline1:
ユーザの年齢、性別、居住地域などのデモグラフィックな属性による
クラスタリングと広告群による推定
- Baseline2:
広告群を見たユーザと特定の広告による推定
(19)
(20)
※B1、B2はbaggingしてない
Baseline Estimators vs
Logistic Regression
・結果
-Logistic RegressionがB1に対して28.2%、B2に対して5.92%良かった
Conclusion
・結論
- RTBに対する高速なCVR推定手法を提案した
- 階層構造をうまく作れればより精度が高まるだろう
・感想
- キャリブレーション時のbinの数の決め方の記載がない
― IRの影響は10倍くらいまでなら許容出来るという解釈でいいのか
― 肝心の階層化の手法が書かれていない
― 使用したクラスタリングの手法も記載がない
⇒ Estimating rates of rare events with multiple hierarchies through scalable log-linear models, Deepak+, KDD'10を読む