【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
前面总结了马尔科夫决策过程之Markov Processes(马尔科夫过程),见下文:马尔科夫决策过程之Markov Processes(马尔科夫过程)
马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程),见下文:马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程)
本文总结一下马尔科夫决策过程之Bellman Equation(贝尔曼方程)网络

1Bellman Equation for MRPs


首先咱们从value function的角度进行理解,value function能够分为两部分:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
见下面的推导公式:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
咱们直接从第一行到最后一行是比较好理解的,由于从状态s到状态s+1,是不肯定,仍是以前的例子。机器学习

好比掷骰子游戏,当前点数是1的状况下,下一个状态有多是1,2,3,4,5,6的任意一种状态可能,因此最外层会有一个指望符号。ide

若是咱们跟着一直推下来的话:有疑问的会在导出最后一行时,将G(t+1)变成了v(St+1)。其理由是收获的指望等于收获的指望的指望。参考叶强童鞋的理解。函数

则最后咱们获得了针对MRP的Bellman方程:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
经过方程能够看出v(s)由两部分组成,一是该状态的即时奖励指望,即时奖励指望等于即时奖励,由于根据即时奖励的定义,它与下一个状态无关。学习

这里解释一下为何会有指望符合,是由于从状态s的下一个状态s+1可能有多个状态,好比掷骰子,下一个状态可能有1,2,3,4,5,6,从s到下一个状态都是有必定几率,因此会有指望符合。lua

另外一个是下一时刻状态的价值指望,能够根据下一时刻状态的几率分布获得其指望,好比在上面掷骰子例子中,从状态1到下一个状态1,2,3,4,5,6求指望的作法,咱们能够直接用几率公式p(1->1),p(1->2),p(1->3),p(1->4),p(1->5),p(1->6) 而后乘以对应下一状态的价值函数便可。3d

若是用s’表示s状态下一时刻任一可能的状态,那么Bellman方程能够写成:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
完整的slides以下:code

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

2Example: Bellman Equation for Student MRP


好,咱们在上面既然知道了经过Bellman Equation来迭代的计算每一个状态的价值函数,下面咱们举出一个例子来算一个状态的value function帮助理解
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
经过上图咱们分析一下4.3如何计算?见下图便可:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
可能还有一些童鞋会问,算该状态的value function的时候,其它的状态的value function是怎么知道的呢?orm

好比算4.3的时候,咱们如何知道它后继状态的value funciton为0.8,10。其实这些值一开始能够任意初始化,后面能够学习更新,就相似于神经网络的权值参数,一开始任意初始化,后面经过loss反向更新同样。blog

3Bellman Equation in Matrix Form


最后咱们能够给出Bellman方程的矩阵形式和求解
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
结合矩阵的具体表达形式以下:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

总的slides以下:
【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

Bellman方程是一个线性方程组,理论上解能够直接求解:

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)
可是它的计算复杂度是0(n^3), 是状态数量,由于矩阵的求逆过程为0(n^3)。
因为求解复杂度较高。所以直接求解仅适用于小规模的MRPs。

大规模MRP的求解一般须要使用迭代法。经常使用的迭代方法有:

  • 动态规划Dynamic Programming、
  • 蒙特卡洛评估Monte-Carlo evaluation、
  • 时序差分学习Temporal-Difference,
    后面会分别介绍这些方法。

参考:
David Silver深度强化学习课程 第2课 - 马尔科夫决策过程叶强:
叶强 https://zhuanlan.zhihu.com/p/28084942

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

推荐阅读:

当RNN神经网络赶上NER(命名实体识别):双向LSTM,条件随机场(CRF),层叠Stack LSTM, 字母嵌入
【深度学习实战】pytorch中如何处理RNN输入变长序列padding
【机器学习基本理论】详解最大后验几率估计(MAP)的理解

欢迎关注公众号学习交流~

【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)

相关文章
相关标签/搜索