バンディットアルゴリズム
「選択肢はいくつもあるが、どの選択肢が効果が高いのかは事前にはわからない」
「限られた試行回数でできる限りいい選択肢を選んでいき、トータルの報酬を最大化したい」
重要なのはどの選択肢がよいか事前に情報がない、という点です。もし各選択肢について情報があるのであれば、それを学習データとして教師あり学習による予測モデルを作ることで事足ります。バンディットでは学習データがない状況からどの選択肢がよいかを学習しながら、その過程で得られる報酬を最大化することを目的としています。
バンディットアルゴリズムは、アームを選択した結果得られる報酬を動的に反映し、次のアームの選択に活かすことからA/Bテストに比べて機会損失の低減が見込めます。また、コンテンツの入れ替わりが多いようなケースではA/Bテストを都度設計するのは手間ですが、バンディットならシステム化できるというメリットもあります。
特定の枠組みや実装に特化した記事は多いものの、 多腕バンディット問題とは何か?という基礎から出発し、様々な枠組みをその定式化とともに解説している記事は (ググり力が低いだけかもしれませんが) あまり見かけません。 この経験が本記事を書く動機です