TD算法超详细解释,一篇文章看透彻!

本文详细介绍了TD(TemporalDifference)算法,包括Sarsa、n-stepSarsa和Q-learning。TD算法是强化学习中无模型的近似动态规划方法,主要用于估计状态或动作值。Sarsa是在线学习算法,用于估计状态-动作值,而Q-learning可以直接估计最优动作值,且是离策略的。文章还探讨了不同TD算法的优缺点,以及它们在解决贝尔曼方程和寻找最优策略中的应用。

【已解决】TD算法超详细解释和实现(Sarsa,n-step Sarsa,Q-learning)一篇文章看透彻!

郑重声明:本系列内容来源 赵世钰(Shiyu Zhao)教授的强化学习数学原理系列,本推文出于非商业目的分享个人学习笔记和心得。如有侵权,将删除帖子。原文链接:https://github.com/MathFoundationRL/Book-Mathmatical-Foundation-of-Reinforcement-Learning

上一节我们讲到,Robbins-Monro Algorithm算法解决了下面的这个求期望的问题,本节我们把问题稍微复杂化一点。

在这里插入图片描述

看下边这个期望的计算:

image-20230304130213228

假设我们可以获得随机变量 R , X R,X R,X的样本那么可以定义下面的函数:

image-20230304130848494

其实,也就是是把之前的一个随机变量变成了一个多元随机变量的函数。下面我们展示,这个例子其实和TD算法的表达很相似了。

TD learning of state values

本节所指的TD算法特指用于估测状态价值的经典TD算法。

算法

image-20230304133232502

这个状态价值的期望形式的表示,有时候被称为贝尔曼期望等式,其实是贝尔曼方程的另一种表达,它是设计和分析TD算法的重要工具。那怎么去解这个方程呢?这就用到了我们前面小节讲到的,RM算法以及随机梯度下降的思想。这里需要注意,每次更新是一次更新一个状态的价值。

image-20230304133219616

推导

通过应用RM算法求解贝尔曼方程,我们可以导出TD算法。

image-20230304135546950

在了解了RM算法的前提下,上面的算法并不难理解。另外,RM算法关于状态价值的解,7.5式,有两个假设值得考虑:

image-20230304135947206

显然,假设1)和2)在实践中都无法实现,对于1)是因为实践中的数据都是一个个的episodes,s在其中只是被抽样到的一个,不能确保每一个episodes都是从s开始的;对于2)我们怎么可以在事先知道其他状态的价值呢,要知道每一个状态的价值都是被算法估测出来的。

如何在RM算法中去除这两个假设的约束呢?

image-20230304140814634

也就是说,RM算法中用的数据以s为起点,把第k次抽样 s ′ s^\prime s 得到的 s k ′ s_k^\prime sk 作为下一个状态,而这样并不能充分利用全局的状态来进行价值的估测,要知道我们得到的数据是一个个episodes,每次只用episodes的开头部分的数据是不可行的。

下面这个地方说明了k和t 的不同:

image-20230304144820532

所以,我们修改了算法使用的序列样本数据的形式为: { ( s t , r t + 1 , s t + 1 ) } \left\{\left(s_t, r_{t+1}, s_{t+1}\right)\right\}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值