バンディット問題の理論とアルゴリズム
第6章 最適腕識別とA/Bテスト
今日おさえたいこと
最適腕識別の問題設定
累積報酬最大化との違い
-最適腕識別の概要
最適腕識別の方策
ϵ
今日までの話
「スロットマシンの期待値を推定しつつ累積報酬を最大化したい」
-> UCB, MED, トンプソン抽出
今日の話
「ある期間内で期待値最大のアームを高確率で識別したい」
-> UCB, MED, トンプソン抽出??
「期間内に期待値最大のアームを高確率で識別する問題」を最適腕識別と言います.
どんな時に使うの??
例えば,新製品や新たなウェブサイトの開発は試用期間と本稼働期間に分けられます.
試用期間の目的は累積報酬最大化ではなく,売上最大の製品やクリック率最大のデザイン識別です.
最適腕識別(定式化)
各アーム からの報酬の確率分布をi = 1, 2, …, K ,その期待値をPi ,
期待値最大のアーム(最適腕)を
μi
とします.
加えて,
= argi
∗ maxi∈{1,2,…,K} μi
と定義します.= −Δ
i μ1 μi
ここで簡単のため としています.
(※ 勿論プレイヤーはこの事実を知りません.)
≥ ≥ ⋯ ≥μ1 μ2 μK
プレイヤーは各時刻 にいずれかのアームt = 1, 2, … を引き,
確率分布
i = i(t)
に独立に従う報酬Pi を観測します.(t)Xi
そして,計 回アームを引いた後にT の推定値i
∗ を回答し,
その誤認識別率
(T)i ̂ 
∗
の最小化を目指します.= ℙ[ (T) ≠ ]Pe i ̂ 
∗
i
∗
いくつかの設定
固定予算
総選択数 が固定
固定信頼度
総選択数をプレイヤーが可変で決定
誤識別率が 以内となるまで選択し続ける.
期待値の高い上位 個のアームを列挙
これまでの設定は の場合
T
δ δ ∈ (0, 1)
m
m = 1
最適腕識別の方針
「期待値最大である可能性が高いアームに多くの選択数を割り振り,
その可能性の低そうなアームについては早めに探索を打ち切る」
直感的な方針は累積報酬最大化と同じですが,UBCやトンプソン抽出を
そのまま適用してもうまくいきません.(良い結果は得られません)
正規分布のA/Bテスト
に置ける固定予算K = 2 での最適腕識別を考えます.
報酬はそれぞれ正規分布
T
に従い,N( , )μi σ2
, 分散>μ1 μ2 は既知とします.σ2
この問題の最適方策は,両方のアームを 回ずつ引いた後に標本平均T/2 が
大きいアーム
û i
を最適腕の推定値にすることです.(T) = argi ̂ 
∗
maxi û i
= 1 − Φ
( ) ≈Pe
( − )T‾‾√ μ1 μ2
2σ
e
−
T( −μ1
μ2
)
2
8σ2
この場合,標本平均の差 は正規分布−û 2 û 1 に従うため,
この方策の誤識別率
N( − , 4 /T)μ2 μ1 σ2
は以下のようになります.Pe
※ 誤識別率は に対して指数関数的に減少します.T
一方で,累積報酬は期待値最大でないアームを必ず 回引くため,T/2
となります.regret = ( − )T/2μ1 μ2
※ のリグレットが発生します.O(T )
誤識別率は良いですが,累積報酬は良くありません.
(t) = +μi¯ μ̂ i
2 log t
ni
‾ ‾‾‾‾‾‾
√
KL-UCBを適用した場合
正規分布におけるKL-UCB方策は以下のスコアが最大のアームを引く方策です.
※ の導出にはμ̂ 
i
を利用します.D(N( , )||N( , )) =μ1 σ2
μ2 σ2
( −μ2
μ1
)
2
2σ2
 
この方策のもとで,最適腕に比べて期待値が だけ小さいアームΔ > 0 を引く回数は,i
程度で抑えられることが示されます.(??)(T) =Ni
2 log Tσ2
Δ
2
この結果は, 回程度引いた時点で期待値が最大のものより2 log Tσ2
Δ
2
以上小さいこと
が見込まれるアームはそれ以降引かれないことを意味しています.
Δ > 0
 
P[ ≈ − Δ] ≈μ̂ 1
μ2 T
−
( − +Δμ1
μ2
)
2
Δ
2
アーム2からの標本平均が となり,アーム1からの≈μ̂ 2
μ2 個のサンプルの
標本平均が
=T0
2 log Tσ2
Δ
2
となった場合にはアーム2を最適腕だと誤認識してしまいます.≈ − Δμ̂ 1
μ2
このような事象は以下の確率で起こり,
精密な下限をとると,誤識別率が となります.
累積報酬は良いですが,誤認識率は良くありません.
(※ リグレットは
>Pe T
−1
を実現するため優れています.)O(log T)
 
累積報酬最大化の方策では,選択数のほとんどが期待値最大と推定されるアームに費やさ
れるため, 最適腕とそれ以外のアームで隔たりが非常に大きくなりうまくいきません.
(多項式オーダー の誤識別率が限界です)exp(−O(log T ))
一方で, 各アームの選択数を同程度のオーダーにする ことで,
の誤識別率が達成可能となります.
累積報酬最大化と最適腕識別は両立できません.
e
−O(T)
最適腕識別の理想的な目標は,
「期待値が のアームを発見する」
ですが,これに基づいた手法は必ずしも有効ではありません.
=μ
∗ maxi μi
(※ 本質的に解決不可能な問題を含んでいます.)
そこで,許容幅 を事前に定めて,
「期待値が
ϵ ≥ 0
以上のアームを1つ以上発見する」
という問題を考えることで現実的な性能を得られることがあります.
− ϵμ
∗
このように許容幅 を設定する定式化をϵ ≥ 0 -最適腕識別と呼び,
期待値が
ϵ
以上のアームを− ϵμ∗ -最適腕と呼びます.ϵ
例として,それぞれの報酬が分散 の正規分布に従う3本のアームがあり,
期待報酬がそれぞれ
= 1σ2
である場合を考えます.= 0.501, 0.5, 0.1μi
この場合,アーム1とアーム2の期待値は非常に近いため,
どちらが真に期待値が大きいかを判断するには大量のサンプルが必要になります.
結果として誤識別を最小にするには,アーム3を引く割合を0.00017%程度に抑えて,
残りをアーム1とアーム2の期待値比較にために引くことになります.
ただし,仮に期待値0.001だけ劣ったものを誤識別したとしても,
ある程度の誤差であれば許容する場合がほとんどです.
したがって,先ほどの例ではアーム2の誤識別率を抑えることよりも,
アーム3の誤識別率を抑えることのほうが重要です.
そこで, に対してϵ > 0.001 -最適腕識別の方策を考えます.ϵ
すると,総選択数の大部分を似通ったアームの比較に費やすことがなくなり,
アーム3(大きく劣ったアーム)を誤識別する確率を小さく抑えることができます.
ところで,最適腕識別にも達成可能な理論限界が
存在することはある程度知られています.
所定の誤識別率を達成するのに必要な試行回数の指標を標本複雑度と呼び,
-最適腕識別における難しさとして用いることができます.ϵ
= +Hϵ
1
2( − + ϵμ1 μ2 )
2 ∑
i=2
K
1
2( − + ϵμ1 μ2 )
2
各アームからの報酬が区間 上に分布している場合を考えます.[0, 1]
このモデルにおける -最適腕識別における問題の難しさϵ を
ここでは次の量により定義し,標本複雑度として用います.
Hϵ
log (1/δ)Hϵ
標本複雑度 の問題Hϵ に対して,
誤識別率
≥ ≥ ⋯ ≥μ1 μ2 μK
でδ > 0 -最適腕識別を行うためには一般にϵ
程度のサンプル数が必要となります.
この量は かつϵ = 0 をμ2 に近づけた時発散しますが,μ1
では高々ϵ > 0 と有限で抑えられるため,K/(2 )ϵ2
-最適腕識別を考える利点の1つとなります.ϵ
事前に定めた に対して,ϵ ≥ 0 -最適腕識別を行う方策について考えます.ϵ
リグレット最小化の場合と同様に,信頼区間の考え方が重要です.
ただし,最適腕識別では信頼上限だけでなく信頼下限も考える点が異なります.
累積報酬最大化の場合,UCBスコア とμi
̂ 
∗¯ を比較することは,
真値
μi¯
と信頼区間の上限μi
̂ 
∗ を比較することとほとんど同値でした.μ¯ i
その結果として,UCBスコアの比較により が
真に期待値最大かどうかを検証することができました.
i
̂ 
∗
一方で,最適腕識別では が真の最適腕であるか検証するには,
「
= argi
̂ 
∗
maxi μ̂ 
i
が偶然大きくなった」
「
μ̂ 
i
̂ 
∗
でi ≠ i
̂ 
∗
が偶然小さくなった」
という2つの可能性を考慮する必要があります.
μ̂ 
i
そこで,前者の寄与を割り引くためにアーム の期待値についての信頼下限を考えることで,i
̂ 
∗
が真の最適腕かを高精度で検証します.i
̂ 
∗
-最適腕識別を行う方策として逐次削除方策があります.
これは,最適腕である可能性が残っているアームを一様に選択していく方策です.
ϵ
逐次削除方策では -最適腕である可能性が残っているアームのリストを用意しておき,
各反復
ϵ
においてそのリスト内のアームを1回ずつ引きます.n = 1, 2, …
その際,基準1を満たしていれば探索候補から外し,
基準2を満たしていればそれを -最適腕として出力します.
(※ 基準1と基準2に関しては次のスライドで説明します)
ϵ
= + , = −μ¯ i,n
μ̂ i,n
β(n, δ)
2n
‾ ‾‾‾‾‾‾
√
μ
⎯⎯i,n
μ̂ i,n
β(n, δ)
2n
‾ ‾‾‾‾‾‾
√
基準1と基準2を説明するために,
各アームの期待値 の信頼度μi での上界と下界をそれぞれe
−β(n,δ)
とします.
基準1
期待値の上界 が最適腕の期待値の下界μ¯ i,n
より小さいアームは,
最適腕である見込みがないとみなして探索候補から除外します.
μ
⎯⎯ ,ni
̂ 
∗
この例では青い分布に対応するアームが探索候補から除外されます.
基準2
最適腕の期待値の現時点での下界 に許容幅μ
⎯⎯i
̂ 
∗ を加えたものが,
それ以外のアームの期待値の上界
ϵ
を上回った時点で,それをμ¯
i
̂ 
∗ -最適腕として出力します.ϵ
この例では赤い分布に対応するアームが -最適腕として出力されます.ϵ
逐次削除方策は探索範囲を狭めながら,
各アーム満遍なく探索するアルゴリズムと言えます.
この方策は全てのアームを同オーダーの回数で引くべきという直感に合っており,
実装も解析も比較的容易ですが,経験的な性能がやや悪くなる場合があります.
最適腕の候補として残っているアームを一様に選択するのではなく,
最適腕の推定に役立つアームを適応的に選択する方策としてLUCB方策があります.
LUCB方策では探索が終了しなかった場合に,最適腕の期待値の下限 とそれ以外の
アームの期待値の上限
(t)μ
⎯⎯i
̂ 
∗
の差が広がるように,アーム(t)μ¯
i
̂ 
∗∗ とアームi ̂ 
∗
を引きます.i ̂ 
∗∗
LUCB方策では推定された最適腕 を各反復ごとに選択するため,
最適腕の選択数が過度に多くなってしまいます.
i ̂ 
∗
そこで,反復ごとにアーム とアームi ̂ 
∗
のうちサンプル数が小さいもの
のみを選択する方策として,UGapE方策が提案されています.
i ̂ 
∗∗
おしまい

最適腕識別