バンディットアルゴリズム入門と実践
- 34. 実際の使用イメージ
試行数 アーム1期待値 アーム2期待値 アーム3期待値 活用or探索 ランダム選択
1
2
3
4
5
6
7
8
9
0(0/0)
1(1/1)
0.5(1/2)
0.33(1/3)
0.33(1/3)
0.33(1/3)
0.33(1/3)
0.33(1/3)
0.33(1/3)
0(0/0)
0(0/0)
0(0/0)
0(0/0)
1(1/1)
0.5(1/2)
0.66(2/3)
0.66(2/3)
0.75(3/4)
0(0/0)
0(0/0)
0(0/0)
0(0/0)
0(0/0)
0(0/0)
0(0/0)
0(0/1)
0(0/1)
・・・最も期待値の高いアーム
34
探索
活用
活用
探索
活用
探索
探索
活用
活用
1
2
2
3
-
引くアーム
結果
アーム1
アーム1
アーム1
アーム2
アーム2
アーム2
アーム3
アーム2
アーム2
○
×
×
○
×
○
×
○
○
- 39. 実際の使用イメージ
試行数 アーム1期待値 アーム2期待値 アーム3期待値 活用or探索
0(0/0)
0(0/0)
1
1(1/1)
0(0/0)
2
1(1/1)
0(0/1)
3
1(1/1)
0(0/1)
4
1(2/2)
0(0/1)
5
1(2/2) 0.5(1/2)
6
1(2/2) 0.5(1/2)
7
8 0.66(2/3) 0.5(1/2)
9 0.5(2/4) 0.5(1/2)
10 0.4(2/5) 0.5(1/2)
0(0/0)
0(0/0)
0(0/0)
0(0/1)
0(0/0)
0(0/0)
0(0/2)
0(0/2)
0(0/2)
0(0/2)
・・・最も期待値の高いアーム
39
探索
探索
探索
探索
探索
探索
活用
活用
活用
活用
ランダム選択
引くアーム
結果
1
2
3
1
2
3
-
アーム1
アーム2
アーム3
アーム1
アーム2
アーム3
アーム1
アーム1
アーム1
アーム1
○
×
×
○
○
×
×
×
×
×
- 40. 実際の使用イメージ
試行数 アーム1期待値 アーム2期待値 アーム3期待値 活用or探索
0(0/0)
0(0/0)
1
1(1/1)
0(0/0)
2
1(1/1)
0(0/1)
3
1(1/1)
0(0/1)
4
1(2/2)
0(0/1)
5
1(2/2) 0.5(1/2)
6
1(2/2) 0.5(1/2)
7
8 0.66(2/3) 0.5(1/2)
9 0.5(2/4) 0.5(1/2)
10 0.4(2/5) 0.5(1/2)
0(0/0)
0(0/0)
0(0/0)
0(0/1)
0(0/0)
0(0/0)
0(0/2)
0(0/2)
0(0/2)
0(0/2)
ランダム選択
引くアーム
結果
探索
1
アーム1 ○
探索
2
アーム2 ×
探索
3
アーム3 ×
探索
1
アーム1 ○
一定期間で探索と活用を切り分ける
探索
2
アーム2 ○
探索
3
アーム3 ×
活用
アーム1 ×
活用
アーム1 ×
活用
アーム1 ×
活用
アーム1 ×
引くアームを一度決定したら他のアームには変更しない
40
- 72. シミュレーション1
(当たり確率に大幅な差があるケース)
アームは当たり確率 0.1 と 0.9 の2本のアーム
1回の繰り返しではアームを30回引く
シミュレーション回数は10,000回
epsilon first(ε = 2, 4, 8, 16), epsilon greedy(ε = 0.9, 0.8, 0.6,
0.2), softmax(tau=0.08, 0.1, 0.2, 0.3), UCBについて比較
72
- 77. シミュレーション2
(当たり確率に大きな差がないケース)
アームは当たり確率 0.01 と 0.02 の2本のアーム
1回の繰り返しではアームを1,000回引く
シミュレーション回数は10,000回
epsilon first(ε = 50, 100, 200, 400), epsilon greedy(ε = 0.95,
0.9, 0.8, 0.6), softmax(tau=0.0025, 0.005, 0.01, 0.02), UCBについ
て比較
77
- 82. シミュレーション3
(アームが複数あるケース)
アームは当たり確率 0, 0.15, 0.3, 0.45, 0.6, 0.75 の6本のアーム
1回の繰り返しではアームを1,000回引く
シミュレーション回数は10,000回
epsilon first(ε = 50, 100, 200, 400), epsilon greedy(ε = 0.95,
0.9, 0.8, 0.6), softmax(tau=0.05, 0.1, 0.15, 0.02), UCBについて比較
82
- 89. シミュレーション4
スロットの問題を簡略化
アームは当たり確率 0.1563 が3本, 0.1655 が1本の計4本のアーム
( 104枚の役、7枚の役に差があるので、それを合算した確率)
1回の繰り返しではアームを8,000回引く
シミュレーション回数は1,000回
当たる確率の低いアームを引くと-0.15点、当たる確率の高いアームを引くと
0.15点を加算する
epsiron greedy(ε=0.9), softmax(tau=0.02), UCBについて比較
参考値として、完全ランダムに引いた場合の値も表示
89
- 106. 参考資料
Bandit Algorithms for Website Optimization
John Myles White著 オライリー社
バンディットアルゴリズムのコード
https://github.com/johnmyleswhite/BanditsBook
106