tocomの調査録(機械学習、強化学習多め)

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

ε-greedy行動選択

ε-greedy行動選択の概要

εグリーディ行動選択とは、εの確率でランダムに行動選択、それ以外の確率(1-ε) で最も期待値の高い行動を選択する手法です。強化学習などではsoftmax行動選択手法と同様によく使われます。

下の図のような問題を用いて説明しようと思います。 プレーヤーには、3つの選択肢があります。 ここでは選択肢をA,B,Cとします。下の四角に書いてある 数字は各選択肢を選択した時に得られる利益の期待値です。

f:id:ttt242242:20170115162246p:plain

ε-greedy行動選択を用いて、行動を選択すると以下のように行動を選択します。

(1 - ε)の確率で

(1 - ε)の確率で、期待値の最も高い行動選択をする。 これは、知識利用(exploitation)という動作になります。 現在の知識で最も合理的な行動を選択するということです。

f:id:ttt242242:20170115162255p:plain

εの確率で

行動を選択する際にεの確率でランダムで行動選択。 これは、探索(Exploration)という動作になります。 現在の知識を増やす、もしくは期待値を更新するために行う操作です。

f:id:ttt242242:20171130133720p:plain

εについて

この値を正しく設定、もしくは調整する必要があります。

このεは低すぎるとなかなか最適な行動を見つけることができず、

高すぎると行動がランダムに近い行動になり、獲得できる利益が不安定になるためです。

実装

ε-greedy行動選択のサンプルコードです。

gist15c8cb2f64104528c969e5caf73bc7d2

上述した例。$ε-greedy行動選択で1000回行動選択をしました。

$\epsilon=0.1$の時の結果を以下に示します。

f:id:ttt242242:20190716052111j:plain

εが小さいので最大行動価値の選択肢をひたすら選択していることがわかります。

$\epsilon=0.4$の時の結果を以下に示します。

f:id:ttt242242:20190716052347j:plain

先程の実験よりεを大きくしたので、B, Cを選択する回数が上昇していることがわかります。

多腕バンディット問題でε-greedy

多腕バンディット問題でε-greedy手法を実装してみました

【強化学習】ε-greedyアルゴリズムでバンディット問題を解く【2】 - 強化学習、マルチエージェント強化学習、その他機械学習全般

参考