《西瓜书》上对时序差分学习的描述搞得人很晕,而且公式推导让人看不明白,《南瓜书》也没写详细的推导过程,让人感觉逻辑不是很严谨,所以自己查了一些资料,并针对时序差分学习分享一些自己的心得,如个人理解有误请见谅,欢迎探讨,话不多说,进入正文。
个人理解时序差分学习本质上是用t步的价值函数和 t 步所采样本的价值函数来推导 t+1 步的价值函数,并以此为依据不断迭代,从而求得一个稳定的价值函数,然后根据稳定的价值函数来获取最佳策略π
由《西瓜书》公式16.3可知(公式16.3可以由公式16.8和16.10推导所得);
采样时,执行策略π会生成一个样本(轨迹)sample:<x,a,r,x’>
对于特定样本(轨迹),每一步的动作和状态都是唯一且确定的,所以可将上式转换成:
因此,在时序差分学习中,价值函数的估计可以写成:
其中α表示权重
上述公式的意思就是说,t+1 步的价值函数是逼近t步的价值函数,还是逼近采样所得样本sample的价值函数,采样到的sample样本数越多,α就越大。
比如说,我们采样N亿次,全部采样生成的样本或者轨迹都是<x,a,r,x’>,那么α=1,根据样本算出来的价值函数就是最终稳定的价值函数
对上式进行移项即可得:
此式对应的即是《西瓜书》中的公式16.31