📜  Q-learning数学背景

📅  最后修改于: 2022-05-13 01:54:26.844000             🧑  作者: Mango

Q-learning数学背景

先决条件: Q-Learning。

在以下推导中,将使用先决条件文章中定义的符号。
Q 学习技术基于贝尔曼方程

v(s) = E(R_{t+1}+\lambda v(S_{t+1})|S_{t}=s)
在哪里,
E : 期望
t+1 : 下一个状态
\lambda : 折扣系数

以 Q 值的形式重新表述上述方程:-

Q^{\pi}(s,a) = E(r_{t+1}+\lambda r_{t+2}+\lambda ^{2}r_{t+3}+...|S_{t}=s,A_{t}=a)

= E_{s'}(r_{t}+\lambda Q^{\pi}(s',a')|S_{t}=s,A_{t}=a)

最佳 Q 值由下式给出

Q^{*}(s,a) = E_{s'}(r_{t}+\lambda max_{a'}Q^{*}(s',a')|S_{t}=s,A_{t}=a)

策略迭代:这是为模型确定最优策略的过程,包括以下两个步骤:-

  1. 策略评估:此过程使用从最后一个策略改进步骤获得的贪婪策略估计长期奖励函数的值。
  2. 策略改进:此过程使用使每个状态的 V 最大化的操作来更新策略。重复这个过程,直到达到收敛。

涉及的步骤:-

  • 初始化:

    V(s) = 任何实随机数
    \pi(s) = 任意选择的任何 A(s)

  • 政策评估:

    \Delta = 0尽管( \Delta > \theta ) {对于 S 中的每个 s { v = V(s)V(s) = \sum_{s',r}(p(s',r|s,\pi (s))(r+\lambda V(s')))\Delta = max(\Delta ,|v-V(s)|) } } \theta \rightarrow 0^{+}

  • 政策改进:

    isPolicyStable = true while(true)对于 S 中的每个 s { a = \pi (s)\pi (s) = 如果( a\neq \pi (s) ) isPolicyStable = false如果( isPolicyStable == true )从两个循环中中断}返回 V, \pi

  • 值迭代:此过程根据最优贝尔曼方程更新函数V。

    v_{*}(s) = max_{a}E(R_{t+1}+\gamma v_{*}(S_{t+1})|S_{t}=s,A_{t}=a)

工作步骤:

  • 初始化:用任意随机实数初始化数组 V。
  • 计算最优值:

    \Delta = 0尽管( \Delta > \theta ) {对于 S 中的每个 s { v = V(s)V(s) = \sum_{s',r}(p(s',r|s,\pi (s))(r+\lambda V(s')))\Delta = max(\Delta ,|v-V(s)|) } } \pi (s) = argmax_{a}\sum _{s',r}(p(s',r|s,a)(r+\gamma V(s')))返回\pi