Temporal-Diffference learning简称TD,是一种时序差分算法,以下主要包括TD算法的state value形式、TD算法的action value形式,如Sarsa、Expected Sarsa、n-Step Sarsa、Q-learning.
①TD learning of state value:
主要是已知,以及给出特定策略π,以t时刻的state value来更新t+1时刻的state value,其中
是TD error,
是
,以下式子表述了在t+1时刻的state value和t时刻的state value的关系,使state value更接近最优的state value。
证明:t+1时刻的state value更接近t时刻的state value
TD算法从数学上是来解决贝尔曼公式的:
贝尔曼公式可以写为:
通过TD learning of state value来求解贝尔曼公式如下:
因此,使用RM算法,RM算法在这里:强化学习(Stochastic iterative algorithms and Stochastic Gradient Descent)-Today7-CSDN博客
条件同样要满足RM的条件,来确保可以访问很多次state,一般α取很小的值。
②Sarsa(TD learning of action value)
Sarsa全称是state-action-reward-state-action的简称,需要给定一个策略来估计action value,做policy evaluation,需要来作为experience,也是来计算贝尔曼公式的算法,具体公式如下:
来解决贝尔曼公式:
以上也也可以和Policy improvement结合,形成完整的policy,Policy improvement使用,具体如下:
,a=其他policy
可以解决从一个固定状态找到一个最优路径。
③Expected Sarsa
其实和Sarsa算法类似,就是将换成了
,具体算法如下:
来解决贝尔曼公式:
④n-step Sarsa
n-step Sarsa其实是介于Sarsa和MC之间的算法,以下是三个算法的对比:
(1)Sarsa(每采样一次数据可更新一次)
解决的贝尔曼公式:
(2)MC(每采样全部数据才可更新一次)MC算法更详细在这里:
强化学习(Monte Carlo learning)-Today6-CSDN博客
解决的贝尔曼公式:
(3)n-step Sarsa(在t+n时数据才可更新一次)
解决的贝尔曼公式:
当n很小时,n-step Sarsa趋近于Sarsa,有很少的随机变量但是可能误差较大
当n很小时,n-step Sarsa趋近于MC,有很大的随机变量但是可能误差较小
还可以和Policy improvement结合得出最优Policy:
,a=其他policy
⑤Q-learning(optimal action value)
Q-learning和以上的算法有一些区别,以上的算法是估计policy evaluation,可以结合policy improvement结合来得到最优policy,而Q-learning可以直接估计得到最优Policy,是用来解决贝尔曼最优公式的,具体算法如下:
解决的贝尔曼最优公式: