Contextual Bandit入門
@DSIRNLP
坪坂 正志
m.tsubosaka@gmail.com
本発表の内容
• BanditアルゴリズムにContexutalな情報を
使ったContextual Banditに対する解説と簡単
なシミュレーションによる実験結果を紹介する
Banditアルゴリズムについて
• 報酬がわからない複数のスロットマシンが
あったときに何回か試行することにより最も
利得が高いスロットマシンを発見する
– 広告のクリエイティブのうち最も高いCTRを見つけ
る

• 参考 Finite-time Analysis of multiarmed
bandit problem, Machine Learning,2002
モチベーション
• 下の二つの広告のCTRが以下のようになって
た場合
• 最終的に左の広告を100%打てばCTRは8.2%
CTR 8.2%

CTR 5%
モチベーション
• でも実はトラフィックの80%が男性で20%が女性とかで
• 男性全部には左の広告を女性全部に右の広告を打
てば
• CTRは9%になる

男性CTR 10%
女性CTR 1%

男性CTR 5%
女性CTR 5%
通常のBanditアルゴリズムの問題
• 各armの報酬が常に同一分布に従うという過
程を置いている
• 最初の例では広告を見ている人が男性か女
性かという区別を行っていない
– この場合でも男性か女性かのセグメントごとに
Banditアルゴリズムを利用すれば最適な配信は
できるが事前のセグメンテーションが必要
Contextual bandit
• 各armの選択の際にcontext 𝑥が与えられているという
設定
• context情報が与えられている場合、例えば線形モデ
ルを使って広告のCTRを以下のように予測する
– 代表的なアルゴリズムとしてLinUCBがある
広告CTR = 0.1 * 男性 + 0.01 * 女性

広告CTR = 0.05 * 男性 + 0.05 * 女性
LinUCBアルゴリズム(概要)
• リッジ回帰で現在の係数ベクトルを計算して、
contextに対する期待値+Upper confidenceを足し
た値が最大となるものを選択する
シミュレーション
• 設定
– トラフィック70%男性, 30%女性
– 広告1: 男性CTR 10%, 女性CTR 2%
– 広告2: 男性CTR 2%, 女性CTR 10%
– context 二次元ベクトルで男性もしくは女性を表
す
• 男性なら(1,0), 女性なら(0,1)
シミュレーション結果
• 1万回の試行を100回シミュレーションした平
均結果
• 期待通り、context情報を使ったLinUCBの方が
CTRが高くなっている
アルゴリズム

平均CTR

UCB

7.56%

LinUCB

10.0%
参考資料
• 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

Introduction to contexual bandit