132 バンディットアルゴリズム

強化学習において活用と探索のバランスをとるアルゴリズム。

バンディットアルゴリズムで扱うのは、

「選択肢はいくつもあるが、どの選択肢が効果が高いのかは事前にはわからない」

「限られた試行回数でできる限りいい選択肢を選んでいき、トータルの報酬を最大化したい」

といったような問題設定です。WEB画面上に表示する広告や配信するコンテンツをどう選択するか、顧客にダイレクトメールを送る際の件名はどの候補がよいか、といったようにこのような問題はビジネスの現場でもよく見られます。

重要なのはどの選択肢がよいか事前に情報がない、という点です。もし各選択肢について情報があるのであれば、それを学習データとして教師あり学習による予測モデルを作ることで事足ります。バンディットでは学習データがない状況からどの選択肢がよいかを学習しながら、その過程で得られる報酬を最大化することを目的としています。
バンディットアルゴリズムで目指すのは累積報酬の最大化です。有限回の試行の中で報酬を最大化するには、優れたアームを多く引き、劣ったアームは引く回数を抑えることが必要となります(バンディットの文脈では選択肢のことをアームと呼びます)。しかし、事前に各アームの良し悪しはわからないので、どのアームが良いかを探りつつ(探索)、良さそうなアームほど積極的に引いていく(活用)をバランスさせるのがバンディットアルゴリズムの本質です。