方策評価(Policy Evaluation)

強化学習における**方策評価(Policy Evaluation)**は、与えられた方策(policy)に対して、その方策に従ったときの各状態の価値(value)を求めるプロセスです。これは、動的計画法(Dynamic Programming, DP)における基本的なステップの一つです。


1. 方策評価とは何か

ある固定された方策 π(状態に対してどの行動を選ぶかを決めるルール)に従ったときに、各状態がどれほど「良い」かを数値的に表すのが**状態価値関数 Vπ(s)**です。

方策評価は、この**Vπ(s)**をすべての状態に対して求めることを目的とします。


2. 数式による定義(ベルマン期待方程式)

方策πに従うときの状態価値関数は、以下の**ベルマン期待方程式(Bellman Expectation Equation)**で定義されます:

Vπ(s)=aAπ(as)sSP(ss,a)[R(s,a,s)+γVπ(s)]V^{\pi}(s) = \sum_{a \in A} \pi(a|s) \sum_{s’ \in S} P(s’|s,a) \left[ R(s,a,s’) + \gamma V^{\pi}(s’) \right]

  • ss: 現在の状態

  • aa: 行動

  • ss’: 遷移先の状態

  • π(as)\pi(a|s): 状態sで行動aを選ぶ確率(方策)

  • P(ss,a)P(s’|s,a): 状態sで行動aを取ったときに状態s’へ遷移する確率

  • R(s,a,s)R(s,a,s’): 報酬

  • γ[0,1)\gamma \in [0,1): 割引率


3. 方策評価のアルゴリズム(反復的方策評価)

数値的に状態価値関数を求めるには、反復的に更新して収束させる手法が用いられます。

ステップ

  1. 任意の初期値 V(s)V(s) を設定(例:すべて0)。

  2. 以下の式を各状態に対して繰り返し適用:

Vk+1(s)=aπ(as)sP(ss,a)[R(s,a,s)+γVk(s)]V_{k+1}(s) = \sum_{a} \pi(a|s) \sum_{s’} P(s’|s,a) \left[ R(s,a,s’) + \gamma V_k(s’) \right]

  1. 変化が十分に小さくなったら(収束したら)終了。


4. 方策評価の役割

方策評価は、以下のタスクにおいて重要な基礎です:

  • 方策改善(Policy Improvement):得られた価値関数をもとに、より良い方策を導く。

  • 方策反復法(Policy Iteration):方策評価と改善を交互に繰り返すことで最適方策を求める。

  • 値反復法(Value Iteration):最適価値関数を直接求める際にも方策評価の概念が応用される。


5. 計算の条件

方策評価を行うには以下が既知である必要があります:

  • 状態集合 SS

  • 行動集合 AA

  • 状態遷移確率 P(ss,a)P(s’|s,a)

  • 即時報酬 R(s,a,s)R(s,a,s’)

  • 方策 π(as)\pi(a|s)

このため、動的計画法ベースの方策評価は「モデルベース」の強化学習であり、環境の遷移モデルを完全に知っている場合に適用されます。


まとめ

項目 内容
目的 固定された方策のもとでの各状態の価値を求める
方法 ベルマン期待方程式を用いて反復的に価値関数を計算
応用 方策反復法、値反復法、方策改善などの基礎ステップ
前提 遷移確率と報酬関数などの環境モデルが既知である必要あり

生成日:2025/06/01