View
1
Download
0
Category
Preview:
Citation preview
分布学習によるロバスト最適入札アルゴリズム
前原貴憲1) 成⽥暁彦2), ⾺場惇2), 川端 貴幸 2)
1) 静岡⼤学, 2) 株式会社サイバーエージェント
基盤(S)セミナー2016年9⽉29⽇@北海道⼤学
自己紹介
前原貴憲
2012年東京大学情報理工学系研究科博士(情報理工学)
2012年~2015年国立情報学研究所 JST,ERATO,河原林PJ特任研究員
2015年~現在静岡大学工学部助教
研究興味:最適化・数値計算 /機械学習・データマイニング(最近は,計算広告・推薦システム・ウェブ検索など,ウェブ系が主)
北大滞在は3年ぶり2回目 (2013年6月27日~7月7日滞在)
導入
計算広告 (ComputationalAdvertising)
- 「計算機科学+広告」の学術分野特にウェブ広告を扱うことが多い- 見たユーザに応じた広告を提示
- ユーザにとって価値の高い広告- 広告主にとって打率の高い広告
- 実際の広告効果に応じた取引- 出来高払い- 小額からでも配信可能
è機械学習・最適化などの混合領域(いろんな問題が出現して楽しい)
- この勢いで成長すると,5~10年で新聞やテレビの広告を上回る予算規模になる(テレビ: 2兆 (-1.2%),インターネット: 1兆 (+11%))
ウェブ広告の種類
見え方:- ディスプレイ広告(バナー広告)- リッチメディア広告(画像・動画・ゲーム・etc)- テキスト広告- メール広告- …
配信方式- 検索連動型広告- 行動ターゲティング広告- 位置連動型広告- …
次々と新しいシステムが登場è新しい気概学習・最適化問題が発生(利益と直結するので,本気で研究している企業は多い)
インターネット広告のプレイヤー
1. 広告主 (advertiser)- 広告をユーザに見てほしい(リクルート・トヨタ・ソニー・資生堂)
2. 配信者 (publisher)- 広告枠を広告主に売りたい(Yahoo・ドワンゴ・はてな・個人ページ)
3. ユーザ (user)- 広告を見たい
4. マッチメイカー (matchmaker)- 1,2,3をうまくマッチさせたい(サイバーエージェント(H),アイレップ(H),オプト(D),セプテーニ(A)バリューコマース(Y),アマゾン,Google,…)
ディスプレイ広告の歴史
- 純広告 (1999~): 特定のページに特定の広告を表示- 1広告主 – 1配信者;昔の Yahoo!
- アドサーバ (2003~): 特定のページに様々な広告を表示- m広告主 – 1マッチメイカー – 1配信者;無料レンタルサーバ
- アドネットワーク(2008~):複数のページ群に様々な広告を表示- m広告主 – 1マッチメイカー – n配信者;はてなダイアリー
- アドエクスチェンジ(2010~): インプレッション単位の契約- m広告主 – 1マッチメイカー – n配信者; GoogleAdsense
アドエクスチェンジ(リアルタイムビッディング)
1. ユーザがウェブページをロード2. 配信者はインプレッション(ユーザのビュー)をオークションにかける
3. 広告主は適当な価格で入札する4. 最高値を付けた広告主の広告がページに表示される
数msで一連の処理が行われる(遅いと配信不能)相場: 1000インプレッションあたり200円前後
本研究で扱う問題:最適入札問題(BidOptimizationProblem)予算制約のもと,各インプレッションにいくらで入札するかを決める
…ディスプレイ広告に関する最も基本的な広告主の最適化問題
問題の難しさ:未知の情報だらけ!
- いくらで入札すれば落札できる?- 広告を出したときの効果は?- インプレッションの総数は?- …
情報が既知なら解ける
- 総予算 𝐵- 総インプレッション数 𝑛ß本来は未知- 広告効果 𝑐$,落札可能価格 𝑎$ ß本来は未知
èナップサック問題で定式化可能
max)*𝑐$
�
$∈)
s. t.*𝑎$ ≤ 𝐵�
$∈)これは適当にやれば解ける
課題:未知情報だらけのナップサック問題をどう解くか?
本研究の成果
実際に動く最適入札アルゴリズムを提案
•適当な仮定のもと,理論的に additiveO(√n)error•実データに対して非常にうまく働く
用いたテクニック
•確率的オンラインナップサック問題に対するほぼ理論最適なアルゴリズム (Lueker’s algo.)が基礎• アルゴリズム中が用いる判断基準(関数)をデータから直接,ノンパラメトリックに学習
(復習)確率的オンラインナップサック問題
ナップサック問題
𝑛個のアイテム:価値𝑐$ = 𝑂(1),費用𝑎$ = 𝑂(1); 総予算𝐵 = Θ(𝑛)
予算制約のもとで最も価値和が高くなるようにアイテムを買う
max)*𝑐$
�
$∈)
s. t.*𝑎$
�
$∈)
≤ 𝐵
非常に有名なNP困難問題,割と簡単に高品質な解が得られる
GreedyAlgorithm
アイテムの効率 𝜃$ = 𝑐$/𝑎$貪欲アルゴリズム=効率の高い順に購入(購入失敗したら終了)
定理: (Greedy)≧ (Optimal)– O(1)証明:
1. 連続緩和問題の最適解は貪欲法で得られる2. ContOptは Greedyに1要素(fractionalに)追加したもの
(Greedy)≧ (ContOpt)– O(1)≧ (Optimal)– O(1)
オンラインナップサック問題
アイテムが順番に到達する(将来は不明)
いまのアイテムの 𝑐$,𝑎$ を見て買うかどうかを判断
定理 (Marchetti-Spaccamela 1995)オンラインナップサック問題は近似不能(i.e.,任意のアルゴリズムに対して悪質な入力を作れる)
è適用したいシチュエーションに合わせて適切に仮定を追加する必要がある
オンラインナップサック問題の仮定
- 分布が既知,アイテムはある分布からドロー- Marchetti-Spaccamela–Vercellis 1995:O(√n)additive- Lueker 1998:O(logn)additive;almostoptimalç本論文ではこれに注目* OPTも ALGも Θ(n)なので o(n)additive=(1– ε)近似 (foranyε>0)
- 効率の上下限が既知,アイテムはある分布からドロー- Buchbinder—Naor 2007:O(log(U/L))近似,タイト- Zhouetal.2008:log(U/L)+1近似
- ランダムに到達- Babaioff etal.2007:O(1)近似- Agrawaletal.2014:(1– ε)近似 foranyε>0
オンラインに行く前に: Thresholdalgorithm
「Greedyをエミュレート」
Greedyの最後の閾値: 𝜃∗
到達アイテムの効率が 𝜃∗以上なら購入
è (Threshold)=(Greedy)
重要:𝜃∗が事前に分かっていれば Thresholdalgはオンラインで動く
Marchetti-Spaccamela—Vercellis’s algorithm
「ThresholdAlgorithmの確率分布版」
閾値以上を全購入するために必要な平均予算(期待費用関数):𝐹 �̅� = 𝐸[𝑎|𝜃 ≥ �̅�]
è最適閾値は 𝐹 𝜃∗ = 𝐵/𝑛で与えられるMarchetti-Spaccamela—Vercellis =この値で thresholdalg.
定理 (Marchetti-Spaccamela—Vercellis 1995):(MV)=(Optimal)– O(√n)
Lueker’s algorithm
「Marchetti-Spaccamela—Vercellisの適応型版」
k番目のアイテムを買うかどうかの閾値はそのときの残アイテム数 𝑛B,残予算 𝐵B を用いて計算する:
𝐹 𝜃B∗ = 𝐵B/𝑛B直感:予算消費が早すぎるとき,動的に軌道修正できるので良い
定理 (Lueker 1998):(Lueker)=(Optimal)– O(logn)しかも lognの係数は理論最善
提案アルゴリズム
復習:最適入札問題の難しさ
1. 入札時には価値がわからない(ユーザが広告に影響されるかは見てみないと不明)
2. 入札時には落札価格(落札可否)が分からない(オークションなので他の入札者に影響される)
3. あと何個アイテムが到達するかわからない(とりあえず,これは推定できるとする)
わかるもの:価値・価値の予測値(結構ズレる); これらで意思決定する
è推定値と厳密値をギャップを埋めなければならない
(パラダイムとしての「機械学習+最適化」)
何を学習するか
ナイーブなアプローチ:
推定価格 vs落札価格 /推定価値 vs落札価値を学習è うまくいかない(推定精度が結果に強く影響する)特に,落札可否の学習はかなりダメ
本研究のアプローチ:
Lueker’salg.の 𝑭 𝜽 を,データから直接学習(正確には:予測効率 𝜙以上に全入札したときの実際の消費予算期待値 𝐺(𝜙)を学習する)
提案アルゴリズム
データの最初𝑚個を使って 𝐺 𝜙 を学習する残りのアイテムに対し,学習した𝐺 𝜙 で Lueker’s algorithmを動かす
定理 (Thiswork):m=Θ(√n)にとると(ThisWork)=(Optimal)– O(√n)
𝐺(𝜙)の学習
仮定:期待効率と真の効率は単調関係にある(まあまあ成立)
è期待消費費用関数は期待効率の関数としてよい𝐹 𝜙H = 𝐸 𝑎 𝜙 ≥ 𝜙H]
これを経験近似する:
𝐺 𝜙H =1𝑚*𝑎I1[𝜙I ≥ 𝜙H]
J
IKL
定理 (ThisWork)経験効率が高々定数で抑えられるとすると|𝐹 𝜙H − 𝐺 𝜙H | ≤ 𝑂(1/ 𝑚� )
証明は Rademacher complexityによる
提案アルゴリズムの性能解析
𝐹 𝜙H の 𝑂(1/ 𝑚� ) add.近似è最適閾値の 𝑂(1/ 𝑚� ) add.近似
よって,Lueker’s algorithmに対して閾値が毎回 𝜖 = 𝑂(1/ 𝑚� )だけ最適からズレているとき,最終結果がどれだけズレるか
を解析すれば,アルゴリズムの性能解析ができる
評価の方針
アルゴリズムを 𝑛アイテム,予算 𝐵で動かしたときの利益は𝐻 𝑛 + 1, 𝐵 = 𝐸[𝐻 𝑛, 𝐵 − 𝑎𝑋 + 𝑐𝑋]
なる漸化式を満たす; 𝑋:落札可能かどうかを表す確率変数これを帰納法+εに関するテイラー展開で下から評価する(帰納法の仮定は結構トリッキー)
重要なポイント
- 推定誤差 εに依存する項について,1次の項がキャンセルするè εに対する依存性は nε^2=O(n/m)以下
- 最初m個を学習に使うのでロスは O(m+n/m)最適化してm=√n
参考:帰納法の仮定
任意の 𝛽T と十分小さな 𝜂に対してある 𝐶L, 𝐶W > 0が存在し,任意の 𝛽 ∈ [𝛽T − 𝜂, 𝛽T + 𝜂]に対して
𝐻 𝑛, 𝛽 ≥ 𝐵 𝑛, 𝛽where
𝐵 𝑛, 𝛽 = 𝑛𝜅 𝛽 − 𝐶L𝑛L[\ − exp(𝐶W𝑛 𝛽 − 𝛽T W)(注意:𝑚 = Θ 𝑛\ ,𝛽 = 𝐵/𝑛,𝜅 𝛽 :最適閾値のときの平均利益)
(本当に評価したい 𝛽 と,テイラー展開の中心 𝛽T を分けることでテイラー展開後にも帰納法の仮定が適用できるようになる)
アルゴリズムの効率
アルゴリズムでは陽に閾値を計算せず,𝐺 𝜙B ≥ 𝐵B/𝑛B
だけ判定すればいい(そのアイテムの効率以上のものに全入札しても予算が余るèそのアイテムは十分効率が高い)
𝐺(𝜙)は 「効率𝜙以上のアイテムの価格和」なのであるキー以上の要素和を効率的に計算するデータ構造が必要
- 静的: FenwickTree- 動的: BalancedBinarySearchTreeç今回はこっち,SplayTree使用
実験結果
実験設定
データセット
- Publicに公開されているデータセット (iPinYou dataset)- データセット入手のため高額入札して作られているので,価格は適当に推定してシミュレーションする必要がある(ここでは既存の裁量の価格付け法を使用した)
- CyberAgent社の実データ- 実際に使われた価格が入っているので,それを使う
比較手法
- Proposed- Zhou:logU/L+1近似を達成する手法 (Zhouetal.2008)- AllBid:全部入札する手法 (Baseline)- Optimal:全部知ってるとしてオフラインでナップサック問題を解く
基本的な結果
最適解の 75%程度を安定して達成比較手法よりもずっと良い
基本的な結果2
最適解をいい感じで追いかけている
価格推定に対するロバスト性
factorは価格推定に使うパラメタを,本来の何倍に設定したか
推定が多少狂っていても,安定して高い性能を達成する
アイテム数・落札価格変化に対するロバスト性
確率変化は追従しきれていないが,がんばって追いついている(どちらでも,得られる利益は提案法が 10%以上良い)
まとめ
まとめ・今後の課題
最適入札問題 =情報不足の確率的オンラインナップサック問題
機械学習で不足情報を補い,既存の最善アルゴリズムと組み合わせるè理論的に O(√n)近似,実用的にも非常に良い結果
今後の課題
- 複数キャンペーンへの拡張- ゲーム理論的解析- …
Recommended