Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
Contexual bandit @TokyoWebMining
•
25 likes
•
11,642 views
正志 坪坂
Follow
1 of 25
Download now
More Related Content
Contexual bandit @TokyoWebMining
1.
Contextual Bandit入門 @TokyoWebMining
坪坂 正志 m.tsubosaka@gmail.com
2.
本発表の内容 • BanditアルゴリズムにContexutalな情報を 使ったContextual Banditに対する解説と簡単 なシミュレーションによる実験結果を紹介する
• また配信ログがあるときにオフラインで実験 する方法についても紹介する
3.
Banditアルゴリズムについて • 報酬がわからない複数のスロットマシンが あったときに何回か試行することにより最も利 得が高いスロットマシンを発見する –
Ex: 広告のクリエイティブのうち最もクリック率 (Click through rate, CTR)が高いクリエイティブを見 つける • 参考 Finite-‐Dme Analysis of mulDarmed bandit problem, Machine Learning,2002
4.
Bandit アルゴリズムについて CTR=20% Click
2000回 Imps 10000回 CTR=12.5% Click 1回 Imps 8回 CTR=13.0% Click 1300回 Imps 10000回 • 単純にCTRが高いクリエイティブを出すだけなら左の広告の方が高 い、しかし真ん中の広告はまだほとんどインプレッションがなくある 程度出してみたら左の広告より高いCTRになる可能性がある、一 方で右の広告を出しても左の広告より高いCTRになりそうにない – CTRが高い広告を出しつつ(exploit) – CTRが高くなりそうな広告も出す(explore)
5.
モチベーション • 下の二つの広告のCTRが以下のようになって た場合 •
最終的に左の広告を100%打てばCTRは8.2% CTR 8.2% CTR 5%
6.
モチベーション • でも実はトラフィックの80%が男性で20%が女性とかで •
男性全部には左の広告を女性全部に右の広告を打 てば • CTRは9%になる 男性CTR 10% 女性CTR 1% 男性CTR 5% 女性CTR 5%
7.
通常のBanditアルゴリズムの問題 • 各armの報酬が常に同一分布に従うという過 程を置いている •
最初の例では広告を見ている人が男性か女 性かという区別を行っていない – この場合でも男性か女性かのセグメントごとに Banditアルゴリズムを利用すれば最適な配信は できるが事前のセグメンテーションが必要
8.
Contextual bandit • 各armの選択の際にcontext
𝑥が与えられているという 設定 • context情報が与えられている場合、例えば線形モデ ルを使って広告のCTRを以下のように予測する – 代表的なアルゴリズムとしてLinUCBがある 広告CTR = 0.1 * 男性 + 0.01 * 女性 広告CTR = 0.05 * 男性 + 0.05 * 女性
9.
LinUCB • WWW 2010でYahooの研究者によって提案され た
– A contextual-‐bandit approach to personalized news arDcle recommendaDon, WWW 2010 • 適応されている問題としてはニュースのレコメン デーション – 性別、年齢、地域、興味カテゴリなどを使ってユーザ ごとに適したニュースを配信する • 論文では提案手法がcontext情報を使わない通 常のBanditと比較してCTRが12.5%高くなったとい う実験結果になっている
10.
LinUCBアルゴリズム(概要) • リッジ回帰で現在の係数ベクトルを計算して、 contextに対する期待値+Upper confidenceを足し た値が最大となるものを選択する
11.
特殊な場合の例 • x=(1)と常に一定の場合を考えるとUCBとほぼ 同じになっていることが分かる CTR=クリック数/インプレッション数 CTR+α*(1/インプレッション数)^(1/2) インプレッション数 クリック数
12.
シミュレーション • 設定 –
トラフィック70%男性, 30%女性 – 広告1: 男性CTR 10%, 女性CTR 2% – 広告2: 男性CTR 2%, 女性CTR 10% – context 二次元ベクトルで男性もしくは女性を表 す • 男性なら(1,0), 女性なら(0,1)
13.
シミュレーション結果 • 1万回の試行を100回シミュレーションした平 均結果 •
期待通り、context情報を使ったLinUCBの方が CTRが高くなっている アルゴリズム 平均CTR UCB 7.56% LinUCB 10.0%
14.
BanditのWebへの応用について ここに何を出すかを決める • 2009年 Yahoo! Researchの研究者がWebのコンテンツ配信をBanditアルゴリズム を使ったという論文を発表
– 実際にオンラインで評価した結果も含んでいる – Explore/Exploit Schemes for web content opDmizaDon, ICDM 2009 (Best Paper) • 2010-‐2011年ぐらいまでYahoo! ResearchからいくつかBandit関連の論文が発表さ れた – A contextual-‐bandit approach to personalized news recommendaDon, WWW 2010 – Unbiased offline evaluaDon of contextual-‐bandit-‐based news arDcle recommendaDon, WSDM 2011 (Best Paper) – An empirical evaluaDon of Thompson sampling, NIPS 2011 • 先端的なWeb企業は4-‐5年前からBanditアルゴリズムやContextual-‐Banditアルゴ リズムを実世界で導入している
15.
アルゴリズムの評価について • 実際にBanditアルゴリズムをシステムに導入す る場合、事前にCTRがどの程度上がるかを知り たいことが多い •
今までの配信ログからオフラインでロジックの評 価が行えることが望ましい • オフラインでの評価方法についてはLinUCBの論 文と同じ著者らが提案している – Unbiased offline evaluaDon of contextual-‐bandit-‐ based news arDcle recommendaDon algorithms, WSDM 2011
16.
オフラインの評価での課題 • アクセスログからでは実際に表示した物に対 する反応しかなく、例えばBanditアルゴリズム が表示されなかったものを配信すると決めた ときに結果が観測できない アクセスログ 2014/1/1,ユーザA,クリエイティブB表示,クリックせず
2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … ここでユーザBにクリエイ ティブAを表示したらどう なったかの情報がない
17.
オフラインでの評価方法 • 簡単にいうとBanditアルゴリズムの出力とロ グの出力があったときのみ、データとして出 力し、他は飛ばすということを行えばよい
18.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム ユーザA,クリエイティブB表示,クリックせず クリエイティブB を選択
19.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム ユーザA,クリエイティブB表示,クリックせず クリエイティブB を選択 ログではクリエイティブAがでて るため履歴には追加しない
20.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム クリエイティブB を選択 ユーザA,クリエイティブB表示,クリックせず
ユーザB,クリエイティブB表示,クリック
21.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム クリエイティブB を選択 ユーザA,クリエイティブB表示,クリックせず
ユーザB,クリエイティブB表示,クリック ログではクリエイティブAがでて るため履歴には追加しない
22.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム クリエイティブA を選択 ユーザA,クリエイティブB表示,クリックせず
ユーザB,クリエイティブB表示,クリック ユーザD,クリエイティブA表示,クリック
23.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … 履歴 バンディットアルゴリズム クリエイティブA を選択 ユーザA,クリエイティブB表示,クリックせず
ユーザB,クリエイティブB表示,クリック ユーザD,クリエイティブA表示,クリック ログではクリエイティブBがでて るため履歴には追加しない
24.
評価方法(例) 2014/1/1,ユーザA,クリエイティブB表示,クリックせず 2014/1/2,ユーザA,クリエイティブA表示,クリックせず 2014/1/3,ユーザB,クリエイティブB表示,クリック 2014/1/4,ユーザC,クリエイティブA表示,クリックせず 2014/1/5,ユーザD,クリエイティブA表示,クリック 2014/1/6,ユーザA,クリエイティブB表示,クリックせず … バンディットアルゴリズム 履歴 ユーザA,クリエイティブB表示,クリックせず
ユーザB,クリエイティブB表示,クリック ユーザD,クリエイティブA表示,クリック 履歴において、バンディットアルゴリズムで は3回表示されて、2回クリックなので CTR=66.6%
25.
リソースについて • 収束性や性能についてのBandit問題の理論 的な話題はNIPS, ICMLのような会議の論文を みるとよくある
• 実応用についてはWWW, KDD, WSDMみたい な会議でよくある
Download