アルゴリズムたちは、どの宝箱が一番当たりやすいのかをどうやって学ぶのでしょう?

島をつくっています…
ターン0
0
ピコ

こんにちは、ピコだよ! 5つの宝箱には、それぞれ違う「当たりやすさ」がかくれてるんだ。 どれが一番かはまだ知らないから、開けて、試して、覚えていくね。

だれが探検する?

Thompson Sampling:想像力で決める

1歩
スタート
もう一度
はやさ

クエスト

ミッションをクリアしながら、探索と活用、文脈付きバンディットを順番に学ぼう。クリアするとシールがもらえるよ。

シール 0 / 10
第1章 ふつうの島探索と活用のきほん
第2章 天気の島文脈付きバンディット
第3章 気温の島法則を学ぶ LinUCB
クエスト 1:はじめての冒険

🎯 宝箱を10回開ける

宝箱ステータス

大きな数字がピコの見積もり(推定成功確率)。バーの薄い部分は「本当はこのあたりかも」という範囲です。

ソラ
推定成功確率
?
選択回数
0
あたり
0
不確実性もやもや
ミカン
推定成功確率
?
選択回数
0
あたり
0
不確実性もやもや
ミント
推定成功確率
?
選択回数
0
あたり
0
不確実性もやもや
レモン
推定成功確率
?
選択回数
0
あたり
0
不確実性もやもや
モモ
推定成功確率
?
選択回数
0
あたり
0
不確実性もやもや

冒険のきろく

はじめはいろいろな箱を試すので帯の色がまざります。いい箱が分かると色がそろって、後悔の線がねていきます。

ターン数
0
累積報酬
0
平均報酬
—
累積後悔
0.0
いまの本命
—
直近100の正解率
—

ピコが選んだ宝箱の移り変わり

ソラミカンミントレモンモモ
← はじめ最近 →

累積報酬

ピコいつも最良の箱なら

累積後悔

ピコRandom なら

あそびかた

むずかしい数学はいりません。4つの言葉だけ覚えれば、島で起きていることが分かるよ。

  1. 1

    マルチアームド・バンディット

    Multi-Armed Bandit

    どの選択肢が一番良いか分からない状態で、試しながら最良の選択肢を見つける問題。腕(アーム)がたくさんあるスロットマシンが名前の由来で、この島では5つの宝箱が腕です。

  2. 2

    探索

    Exploration

    まだよく分からない選択肢を試して、新しい情報を集めること。すぐ得するとは限らないけど、もっと良い箱を見落とさないために大事!

  3. 3

    活用

    Exploitation

    今までの結果から、一番良さそうな選択肢を選ぶこと。確実に稼げるけど、活用ばかりだと本当の一番に気づけないかも。

  4. 4

    累積後悔

    Cumulative Regret

    最初から一番良い箱だけを開けていれば得られたはずの報酬との差。かしこい探検家ほど、後悔がすぐ増えなくなります。

島の見かた

  • 紫のもや

    まだよく分からない箱。試すほど晴れていく

  • 道と足あと

    よく選ぶ箱ほど、道がくっきり

  • コインの山

    その箱で当たった回数

  • 回る星

    ピコが「いまの本命」と思っている箱

  • アンテナの色

    紫なら探索中、黄色なら活用中

文脈付きバンディットのひみつ

文脈付きバンディット(Contextual Bandit)は、「状況によって一番が変わる」問題です。

その1 天気の島:はじめは、晴れはソラ・雨はミント・くもりはモモが当たりやすい

  1. 1

    文脈(Context)ってなに?

    選ぶ前に分かる「手がかり」のこと。この島では天気です。動画アプリのおすすめなら、時間帯やその人の好みが文脈になります。

  2. 2

    天気を見ないと…

    記録を全部まとめるので「平均して一番」の箱に落ち着きます。でも晴れの日はソラ、雨の日はミントのほうがずっと当たる! どんなにかしこくても越えられない壁があります(後悔グラフの青い点線)。

  3. 3

    天気を見ると…

    天気ごとに記録を分けて、天気ごとの一番を探します。天気の数だけバンディットを並べて解くイメージ。そのぶん、天気ごとに探索も必要です。

「天気を見て選ぶ」を切り替えて、後悔グラフの違いを見てみよう。

その2 気温の島:暑いほどソラ、寒いほどミント、ほどほどならモモ

  1. 1

    状況が多すぎると…

    気温は0℃から30℃まで細かく変わります。気温ごとに記録を分けると、1つ1つの記録が少なすぎて学べません。かといって「さむい・ふつう・あつい」に区切ると、区切りの中の違いが見えなくなります。

  2. 2

    法則を学ぶ(LinUCB)

    LinUCB は「当たりやすさ = 切片 + 傾き × 気温」という直線を、宝箱ごとに学びます。20℃の経験が22℃の予測にも役立つので、まだあまり来ていない気温でも予測できます。

  3. 3

    自信のなさボーナス

    データが少ない気温ほど予測の自信がないので、UCB と同じようにボーナスを足して試します。「ピコの頭の中」で、線が本当の線に近づいていく様子を見てみよう。

Thompson(3段階に区切る)と LinUCB を、VS バトルでも比べてみよう。

キャラクター図鑑

同じ島でも、だれが探検するかで「探索」と「活用」のバランスが変わります。

  • No.01
    Random
    いつも運まかせ

    毎回サイコロを振って、どの宝箱を開けるか決めます。過去の結果はまったく使いません。

    💭 レストランを毎回くじ引きで決める人。

    とくい:比べるための基準(ベースライン)になる

    にがて:学習しないので、いつまでも損をし続ける

  • No.02
    ε-Greedy
    たまに寄り道

    ふだんは「今のところ一番当たりやすい箱」を選びます(活用)。ただし確率 ε(イプシロン)でランダムに箱を選び、新しい情報を集めます(探索)。

    💭 いつもの店に行くけれど、10回に1回は新しい店を試す人。

    とくい:とてもシンプルで分かりやすい

    にがて:探索の相手を選ばないので、明らかに悪い箱も試し続ける

  • No.03
    UCB1
    楽観的なチャレンジャー

    「推定当たり確率」に「まだよく分からない分のボーナス」を足したスコアで選びます。あまり試していない箱ほどボーナスが大きく、「もしかしたら良いかも」と楽観的に考えます。

    💭 口コミが少ない店ほど「隠れた名店かも」と期待して行ってみる人。

    とくい:ランダム性なしに、理論的に効率よく探索できる

    にがて:序盤はボーナスが大きく、探索がやや多め

  • No.04
    Thompson Sampling
    想像力で決める

    各宝箱について「本当はこれくらいの当たり確率かも」という想像(確率分布)を持ち、毎回その想像からランダムに値を1つ引いて、一番高かった箱を選びます。自信のない箱ほど想像の幅が広く、ときどき高い値が出るので自然に探索します。

    💭 経験から「たぶんこの店が一番。でも、あの店も案外…」と直感で選ぶ人。

    とくい:実験的にとても強く、探索と活用のバランスが自然

    にがて:仕組みを理解するには確率分布のイメージが必要

  • No.05
    LinUCB
    法則を見つける研究者

    状況の手がかり(特徴量)と当たりやすさの関係を「直線」で表して学びます。「気温が高いほど当たる」という法則を見つければ、まだ経験していない気温でも予測できます。予測に自信のない箱にはボーナスを足して試します(UCB と同じ考え方)。

    💭 「暑い日ほどアイスが売れる」と気づいた店長。初めての猛暑日でも、売れ行きを予想できる。

    とくい:似た状況から学びを使い回すので、状況の種類が多くても速く学べる

    にがて:関係が直線で表せないと、予測がずれることがある

VS バトル

Compare Mode:この島で2人を100回ずつ探検させて、平均の成績をくらべます。

1P
ε-Greedy
VS
ターンずつ
2P
Thompson Sampling