mysql算法:判断时间的连续性_TD(时间差分法)

0265635ca6604eff0e0c9853c7ff75e5.png

很多时候,我们的智能体是在一个持续无限连续的环境中进行互动学习的。比如类人机器人,他们就是和人类一样在一个社会空间中不断的自我学习更新。MC控制法在这种情况下就不适用了。

dboyaoao:MC--蒙特卡洛方法​zhuanlan.zhihu.com
345df7bd3d5882c668d937a16d2d5ae2.png

MC的Evaluation如下,是对于所有阶段任务中特定状态的平均(不太明白的朋友可以参考上面的MC链接)

9ef900f000fe112e60fe134e8f29d9f0.png

但是在连续性环境中,是无法获取所有的Gt的,这时候我们改变下Evaluation。

TD(0)-V(一步时间差分法状态函数评估)

根据贝尔曼预期方程,贝尔曼(使用后续状态的值潜在的表示前一个状态的值),我么可以将状态函数写成以下形式。

33a65c70ab5e5af054c07bfee1c7c17d.png

用这个方程对MC的Evaluation方程进行修改

cd93a5bc8fc976f1d7986a343fbe9cfe.png

可以发现这样就不需要计算所有阶段任务的和了,也就可以在连续性环境中使用了。这个修改可以使我们在每个时间步之后进行状态值得更新。

如下图所示,在时间t,我们在状态St 执行At,获取到reward Rt+1 以及下一个状态St+1,这是后我们其实就是在这一个很小的时间窗口(t+1 --> t),对St进行更新。获取在时间t是的心得状态估算值。

7efabcf6b2bdf0db2a6eb9a1d174b2f5.png

现在就可以发现我们不需要等到阶段结束就可以更新状态值了。good!!!!

4ca7912d99c4a078c5f1e0de5cf98fc4.png

我们称这个公式为TD-Target,我们进一步改进下这个公式

01ccef24602669e7e9ce8e8b7c09b3e6.png

可以发现更新的值其实就是取决于对估算值和之前的状态值,你更看重哪个。

,所以如果
越大,说明越关注新的策略的回报值,
越小,越关注之前的状态值。我们肯定是不希望
= 0 的,因为这样智能体就完全学不到任何东西了。

这个算法就叫做TD(0),一步差分。一步就是没执行一个时间步长就进行状态更新。

评估算法:

ea4645c9e577359b665fbe3569dde868.png

TD算法也很容易适用于阶段性任务,只要在判断阶段是否结束即可,这里就不多说了。个人感觉TD是比MC更泛化的算法,所以用的也相对比较多了。

TD(0)-Q(一步时间差分法状态动作对评估)

同理,很easy的得出这个结论。

69eca47d80c130964c1eed3e96ed1564.png

TD控制(Sarsa(0))

sarsa(0)借鉴了MC的方法,在每一个时间步长进行更新后,都会通过

进行随机的动作选择。

9cc602d983c86fa8108d55981ea3fd91.png

a3964293542e11c27be1cf403367250b.png

QLearning(SarsaMax)

Qlearning我们从公式上能看出,其实就是在每一次通过下一个状态更新当前状态值得时候,选取最大的动作对的状态值。

dd81aa7892606a2d91a54359e8aee1f7.png

可以看出与TD(0)的区别在于,TD(0)是在当前策略下状态下,通过

获取下个动作,再更新值,而Q学习是通过获取下个状态值最大的动作对之后更新,再通过
获取下个动作。

1bafd2ac4996ba5313393fce829492da.png

Qlearning可以在更新值得过程中就趋向于选取最优策略。

预期Sarsa

还有一种不同于Q学习,它在更新时使用的是下个状态每一个动作的期望值。

2a2ce9c38f7ca5d90bdbe0877ee4365d.png

b2ee786735829212084af4d9bd70e230.png

这些算法之间的区别总结如下:

  • Sarsa 和预期 Sarsa 都是异同策略 TD 控制算法。在这种情况下,我们会根据要评估和改进的相同(epsilonϵ 贪婪策略)策略选择动作。
  • Sarsamax 是离线策略方法,我们会评估和改进(epsilonϵ 贪婪)策略,并根据另一个策略选择动作。
  • 既定策略 TD 控制方法(例如预期 Sarsa 和 Sarsa)的在线效果比新策略 TD 控制方法(例如 Sarsamax)的要好。
  • 预期 Sarsa 通常效果比 Sarsa 的要好。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值