バンディットアルゴリズム 【bandit algorithm】
概要
バンディットアルゴリズム(bandit algorithm)とは、機械学習の一種である強化学習のアルゴリズムの一つで、新しい選択肢を試してみる「探索」と、既存の最良の選択肢を遂行する「活用」のバランスを取るもの。解説 強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。
学習過程では、実際に様々な行動を試して、より報酬の高い行動を探す「探索」と、既に発見した行動の中で最も報酬の高いものを実行する「活用」が行われる。行動が探索に偏りすぎると既に分かっている報酬の高い行動を取ることができず、活用に偏りすぎると未知の高い報酬の行動を発見できないというジレンマがある。
バンディットアルゴリズムはこの2つを適度にミックスして、最も高い報酬を得ようとするものである。具体的なミックスの仕方を「方策」(policy)と呼び、いくつかの手法が提唱されている。事前に決めたある一定の確率で探索を行い、他は活用を行う「ε-greedy方策」、これまでの成績が高く、かつ試した回数の少ない選択肢ほど優先する「UCB方策」などがよく知られる。
ここでいう「バンディット」(bandit)とはスロットマシンのことで、限られた掛け金で賭場にたくさん並んだスロットマシンのどれをどれくらい回せば報酬を最大化できるかという「多腕バンディット問題」を解く手法として考案された。時間や資金、手数など限られた資源を様々な選択肢に分配して報酬の最大化を目指す問題に広く応用することができる。
(2025.10.16更新)