时序差分更新算法和回合更新算法一样都是利用经验数据进行学习,其区别在于时序差分更新不必等到回合结束,可以用现有的价值估计值来更新。因此时序差分更新既可用于回合制任务,也可用于连续性任务。
同策时序差分更新
从给定策略的情况下动作价值函数的定义出发,我们可以得到:
单步时序差分只需要采样一步,用来估计回报样本的值,这里
表示有偏回报样本,与回合更新中由奖励计算得到的无偏回报样本
相区别。
基于以上分析,我们可以定义单步时序差分目标为:
这里的U的上标(q)表示是对动作价值定义的,下标t:t+1表示用的估计值来估计
。如果
是终止状态,默认有
。如果把单步扩展到多步,则n步时序差分目标定义为:
类似于回合更新策略,单步时序更新可以表示为:
SARSA算法
最优策略的求解算法如下:
1. (初始化)任意值,
。如果有终止状态,令
2.(时序差分更新)对每个回合执行以下操作
2.1(初始化状态动作对)选择状态S,再用策略确定动作A
2.2 如果回合未结束(如未达到最大步数,S不是终止状态),执行以下操作:
2.2.1(采样)执行动作A,观测得到奖励R和新状态
2.2.2 用动作价值确定的策略决定动作
(如使用
贪心策略)
2.2.3(计算回报的估计值)

本文介绍了时序差分更新算法,包括SARSA、期望SARSA和Q学习,用于解决回合制和连续性任务。在出租车调度案例中,通过SARSA算法训练模型,展示如何寻找最优策略。最后,讨论了Q学习的优化策略——双重Q学习,以减少估计偏差。

3810

被折叠的 条评论
为什么被折叠?



