机器学习方法篇(27)------时序差分方法

● 每周一言

智商决定深度,而情商决定高度。

导语

前面分别讲解了增强学习当中的动态规划方法和蒙特卡洛方法的算法思想。在实际问题当中,DP通常无法或者很难得到问题的真实模型结构,MC则很难估算一次行动的最终价值奖励。

时序差分方法结合了动态规划和蒙特卡洛方法的优点,是强化学习的核心思想。那么,TD的算法思想是什么?

时序差分方法

前文我们了解了MC是每次对样本进行完整的采样模拟,用最终的实际价值收获来更新策略和价值函数。同样的,TD也是每次对样本进行采样模拟,但并非完整采样,而是每次只采样单步或者几步,根据新状态的价值收获来更新策略和价值函数。

fig1

因此,MC可以理解为最大步数的TD。本节将介绍TD单步学习法,单步学习法理论上可以推广到多步学习法。TD单步学习法最简单的实现步骤如下:

1> 初始化价值函数V(s),s∈S;
2> 选择一个状态-行为对(s, a);
3> 用当前策略函数F,向后模拟一步;
4> 用新状态的奖励R(s, a)更新价值函数V;
5> 用新的价值函数V优化策略函数F;
6> 转第3步,直到模拟进入终止状态。

上述算法中的字母含义可参见 机器学习方法篇(24)——理解RL中的MDP

fig2

在具体算法应用层面,主要有on-policy的 Sarsa算法 和off-policy的 Q-learning算法 两种。

Sarsa算法的策略更新和行为模拟是同一个函数。每一次模拟下一步时,预先计算所有可能的下一步,并随之更新策略函数F,再根据新的F模拟下一步。

Q-learning算法的策略更新和行为模拟不是同一个函数。每一次使用贪心策略直接模拟R最大的下一步,并更新策略函数F。

fig3

上述两种方法的区别在于,更新策略函数F的时候,是先转移状态还是先计算更新。相比之下,Sarsa比较保守,而Q-learning则较为大胆,二者各有优劣。

由于目前小斗对这两种算法还没有实际使用经验,只能暂时点到为止,等日后实操再作进一步分享。

以上便是TD的讲解,敬请期待下节内容。

结语

感谢各位的耐心阅读,后续文章于每周日奉上,敬请期待。欢迎大家关注小斗公众号 对半独白

face

猜你喜欢

转载自blog.csdn.net/cherrylvlei/article/details/80140248