Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

強化学習

強化学習(reinforcement learning)はエージェント(行動する主体)が環境と相互作用し、報酬というフィードバックを受けて試行錯誤しながら学習していく学習方法。

バンディット問題

バンディット問題(bandit problem)は、複数のスロットマシン(bandit)が存在していてどのスロットマシンが最も多い平均的なリターンをもたらすのかがわからない中で、最適なスロットマシンを選んで合計のリターンを最大化する問題。

各スロットマシンのリターンを推測するためにレバーを引いていく「探索(exploration)」と、リターンが多いスロットマシンのレバーを引く「活用(exploitation)」の2つの行動をとることができるが、探索ばかりをしていてもリターンの最大化ができず、かといって活用ばかりをしていてもよりよいスロットマシンの存在を見逃すリスクがあるというトレードオフが存在する。

強化学習の枠組みでは、スロットマシンは環境(environment)、問題に取り組むプレイヤーはエージェント(agent)と呼ばれ、得られるリターンのことは報酬(reward)と呼ばれる。

報酬が[0,1][0, 1]の一様分布U(0,1)U(0, 1)に従うスロットマシン(環境)aaと、報酬が平均0.7、分散0.1の正規分布N(0.7,0.1)N(0.7, 0.1)に従うスロットマシンbbがあるとする。

Source
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import japanize_matplotlib

np.random.seed(0)
x = np.linspace(0, 1, 100)
a = stats.uniform.pdf(x, 0, 1)
b = stats.norm.pdf(x, loc=0.7, scale=0.1)

fig, ax = plt.subplots(ncols=2, figsize=[6, 2])
ax[0].plot(x, a)
ax[1].plot(x, b)
<Figure size 432x144 with 2 Axes>

マルコフ決定過程

1時点前の状態にのみ依存することをマルコフ性といい、

マルコフ決定過程(Markov Decision Process: MDP)