論文読んだメモ: Cost-sensitive Learning for Utility Optimization in Online Advertising Auctions (2017 AdKDD)
KDD 2017 のワークショップ、2017 AdKDD & TargetAd の論文がいくつか事前に公開されていたので、読んだメモを残しておきます。
今回読んだのは Criteo 社の Cost-sensitive Learning for Utility Optimization in Online Advertising Auctions です (勘違い・読み間違いなどあるかもしれませんがご容赦ください)。
概要Permalink
- CTR / CVR 予測を用いた広告配信の費用的なパフォーマンスを改善する話
- 予測精度を改善する話 ではない
- 予測モデルの精度は log loss で評価する一方で、広告配信のパフォーマンスは (経済学でいうところの)「効用 (Utility)」で評価していて、この評価メトリクスの観点でギャップが存在している
- この 「効用」が良くなるように予測モデルを学習したい、というのがこの論文の狙いとなる
メトリクスの話Permalink
- 予測モデルの精度は、log loss で評価している
- (以下の式は、L2 正則化付きロジスティック回帰の目的関数)
- argminw∑Ni=1log(1+exp(−yiw⋅xi))+λ2||w||2
- 広告配信の「効用」を表すメトリクスは二つ考えられる
- MSEW=1N∑i((yi−p(xi))⋅vi)2
- vi は、アクション (クリック / コンバージョン) に対して広告主が設定する価値を表す
- すなわち入札価格であろう
- このメトリクスはつまり、予測が外れた場合の誤差に 入札価格の大きさ が加味されることを意味する
- vi は、アクション (クリック / コンバージョン) に対して広告主が設定する価値を表す
- Utility=∑i∫p(xi)vi0(yi⋅vi−˜c)Pr(˜c|ci)d˜c
- ci は実際に観測されたセカンドプライスを表し、Pr(˜c|ci) は生じうるセカンドプライス ˜c の確率を表す
- Pr(˜c|ci) の確率分布はガンマ分布 Gamma(βc+1,β) を仮定している
- yi⋅vi−˜c の部分は利得 (payoff) を表す
- 予測が外れれば (yi=0 なら) ˜c の分だけ無駄なコストが生じ、また予測が当たれば vi−˜c だけ得をする
- ci は実際に観測されたセカンドプライスを表し、Pr(˜c|ci) は生じうるセカンドプライス ˜c の確率を表す
- MSEW=1N∑i((yi−p(xi))⋅vi)2
提案手法Permalink
- 広告配信における「効用」を損失関数 Utility loss にして学習できればそれに越したことはないが、これは非凸らしく、難しい
- 代わりに、Weighted log loss を提案している
- WNLL=∑Ni=1vilog(1+exp(−yiw⋅xi))+λ2||w||2
- 入札価格 vi で重み付けしただけっぽい
- 単に入札価格を乗じるだけでは、その値が大きな場合に過学習を引き起こす要因になりうるので、実際には上限値を設けたり v12i もしくは v14i のように調整することも論文中で言及している
- 入札価格 vi で重み付けしただけっぽい
- WNLL=∑Ni=1vilog(1+exp(−yiw⋅xi))+λ2||w||2
- 正則化パラメータ λ は次のように設定する
- λWNLL=λNLL×∑iviN
評価Permalink
- オフラインでの評価方法
- Modeling Delayed Feedback in Display Advertising の評価で利用したデータセットと同じものを利用する
- 同データセットには入札価格や CPA の情報がないので、入札価格はキャンペーンによらず一律 $1 とし、また CPA はキャンペーンごとの実績 CVR (post-click CR) の逆数とする
- 通常の log loss (NLL) と weighted log loss (WNLL) とを、MSEW, Utility のメトリクスで比較する
- Modeling Delayed Feedback in Display Advertising の評価で利用したデータセットと同じものを利用する
- オフラインの評価結果
- Table3:
- 重みは v12i とする
- (1) 全キャンペーンの結果、(2) CPA が高いキャンペーン (CPA > 10 なので、post-click CR が < 10%) に絞った結果、また (3) CPA が高くて sales 件数 (すなわちコンバージョン数、かな?) が低いキャンペーンに絞った結果ごとに、NLL と WNLL それぞれの MSEW, Utility を比較している
- いずれも改善しており、特に改善幅は (3) > (2) > (1) となっている
- CPA が高くてコンバージョンが少ないキャンペーンにおいて、良い結果が期待できる手法と考えられそう
- Table3:
- オンライン
- ROI 的に +2% の lift が得られた