最佳在学习贝尔曼方程的过程中,一个关键的推导步骤让我思考了很久,最后终于搞明白了。
先补充一个回报Gt的公式在这:
然后价值函数V(s)定义:也就是回报Gt在状态St的回报的期望
有了上面的知识,我们就能推到贝尔曼方程了
下面是贝尔曼方程推导的过程:
从第一步到第四步相信大家都没什么问题,就是将回报Gt的公式展开后,提取折扣因子后,括号中的内容即为回报Gt+1,这时得到了第四步。
从第四步到第五步也就是关键的,令人困惑的地方,从第四步到第五步为什么Gt+1直接就能替换成v(St+1)呢?
首先将期望拆解成两部分:
然后我们主要关注的是蓝色的右边部分
它的进一步推导过程如下:
这里十分有意思,和常规不同,我们一般熟悉的是E[Gt | St=s]即V(s),但这里左边表示在St=s状态状态下,Gt+1的期望值
它等价于在当前s出发,我们有多个选择转移到不同的s’,到状态s'的概率是p(s'|s)
E[Gt+1 | St=s,St+1=s' ]表示的是我当前的状态是s,我下一个状态是s',然后我计算从下一个状态出发所得到的return(也就是Gt+1) 的mean
最后把他们两项相乘,表示的就是从s状态出发,Gt+1的期望值。
同时等式右边的St=s这一项是可以去掉的,因为根据马尔可夫性质-----下一个状态St+1只于它的前一个状态St有关,因此只保留St+1即可
这时候就已经很明朗了,E[Gt+1 | St=s,St+1=s' ]就是价值函数V(s')的定义,至此推导结束。