Transcript
Page 1: Introduction to contexual bandit

Contextual Bandit入門 @DSIRNLP

坪坂 正志

[email protected]

Page 2: Introduction to contexual bandit

本発表の内容

• BanditアルゴリズムにContexutalな情報を使ったContextual Banditに対する解説と簡単なシミュレーションによる実験結果を紹介する

Page 3: Introduction to contexual bandit

Banditアルゴリズムについて

• 報酬がわからない複数のスロットマシンがあったときに何回か試行することにより最も利得が高いスロットマシンを発見する

–広告のクリエイティブのうち最も高いCTRを見つける

• 参考 Finite-time Analysis of multiarmed bandit problem, Machine Learning,2002

Page 4: Introduction to contexual bandit

モチベーション

• 下の二つの広告のCTRが以下のようになってた場合

• 最終的に左の広告を100%打てばCTRは8.2%

CTR 8.2% CTR 5%

Page 5: Introduction to contexual bandit

モチベーション

• でも実はトラフィックの80%が男性で20%が女性とかで

• 男性全部には左の広告を女性全部に右の広告を打てば

• CTRは9%になる

男性CTR 10% 女性CTR 1%

男性CTR 5% 女性CTR 5%

Page 6: Introduction to contexual bandit

通常のBanditアルゴリズムの問題

• 各armの報酬が常に同一分布に従うという過程を置いている

• 最初の例では広告を見ている人が男性か女性かという区別を行っていない

– この場合でも男性か女性かのセグメントごとにBanditアルゴリズムを利用すれば最適な配信はできるが事前のセグメンテーションが必要

Page 7: Introduction to contexual bandit

Contextual bandit

• 各armの選択の際にcontext 𝑥が与えられているという設定

• context情報が与えられている場合、例えば線形モデルを使って広告のCTRを以下のように予測する – 代表的なアルゴリズムとしてLinUCBがある

広告CTR = 0.1 * 男性 + 0.01 * 女性 広告CTR = 0.05 * 男性 + 0.05 * 女性

Page 8: Introduction to contexual bandit

LinUCBアルゴリズム(概要)

• リッジ回帰で現在の係数ベクトルを計算して、contextに対する期待値+Upper confidenceを足した値が最大となるものを選択する

Page 9: Introduction to contexual bandit

シミュレーション

• 設定

– トラフィック70%男性, 30%女性

–広告1: 男性CTR 10%, 女性CTR 2%

–広告2: 男性CTR 2%, 女性CTR 10%

– context 二次元ベクトルで男性もしくは女性を表す

• 男性なら(1,0), 女性なら(0,1)

Page 10: Introduction to contexual bandit

シミュレーション結果

• 1万回の試行を100回シミュレーションした平均結果

• 期待通り、context情報を使ったLinUCBの方がCTRが高くなっている

アルゴリズム 平均CTR

UCB 7.56%

LinUCB 10.0%

Page 11: Introduction to contexual bandit

参考資料

• A contextual-bandit approach to personalized news article recommendation, WWW 2010

– LinUCBに関する論文

• An empirical evaluation of thompson sampling, NIPS 2011

• Content recommendation on web portal, CACM 2013