强化学习(五)----- 时间差分学习(Q learning, Sarsa learning)

本文介绍了结合DP和MC优点的TD学习,包括TD(0)算法及其与MC的比较。Sarsa算法作为on-policy方法,用于策略估计,而Q-learning则是一种off-policy方法,其Q函数更新公式与Sarsa类似但策略选择不同。两者都是强化学习中的重要算法。
摘要由CSDN通过智能技术生成

接下来我们回顾一下动态规划算法(DP)和蒙特卡罗方法(MC)的特点,对于动态规划算法有如下特性:

  • 需要环境模型,即状态转移概率 Psa
  • 状态值函数的估计是自举的(bootstrapping),即当前状态值函数的更新依赖于已知的其他状态值函数。

相对的,蒙特卡罗方法的特点则有:

  • 可以从经验中学习不需要环境模型
  • 状态值函数的估计是相互独立的
  • 只能用于episode tasks

而我们希望的算法是这样的:

  • 不需要环境模型
  • 它不局限于episode task,可以用于连续的任务

本文介绍的时间差分学习(Temporal-Difference learning, TD learning)正是具备了上述特性的算法,它结合了DP和MC,并兼具两种算法的优点。

TD Learing思想

在介绍TD learning之前,我们先引入如下简单的蒙特卡罗算法,我们称为constant-  MC,它的状态值函数更新公式如下:



其中 是每个episode结束后获得的实际累积回报, 是学习率,这个式子的直观的理解就是 用实际累积回报 作为状态值函数 的估计值。具体做法是对每个episode,考察实验中 的实际累积回报 和当前估计 的偏差值,并用该偏差值乘以学习率来更新得到 的新估值。

现在我们将公式修改如下,把 换成 ,就得到了TD(0)的状态值函数更新公式:

Q-learningSARSA都属于时序差强化学习方法,而不是蒙特卡洛强化学习方法。 时序差强化学习是一种结合了动态规划和蒙特卡洛方法的强化学习方法。它通过使用经验数据进行增量式的更新,同时利用了当前和未来的估计值来逼近最优值函数。 具体来说,Q-learningSARSA都是基于Q值函数的时序差强化学习算法。 1. Q-learning:Q-learning是一种基于动态规划的无模型强化学习算法。它使用了时序差(TD)方法,通过不断迭代更新Q值函数的估计值,使其逼近最优的Q值。Q-learning算法通过将当前状态和动作的估计值与下一个状态和动作的最大估计值相结合,来更新Q值函数的估计值。 2. SARSASARSA是一种基于时序差强化学习算法,也是一种模型-free的强化学习算法SARSA算法使用了时序差的方法,通过不断迭代更新Q值函数的估计值。与Q-learning不同的是,SARSA算法采用了一个策略(Policy)来决定下一个动作,并在更新Q值时使用下一个动作的估计值。 时序差强化学习方法与蒙特卡洛强化学习方法相比,具有更高的效率和更好的适性。它可以在每个时间步骤中进行更新,不需要等到任务结束后才进行更新,从而更快地收敛到最优策略。而蒙特卡洛强化学习方法则需要等到任务结束后才能获取完整的回报信息,进行全局更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值