【TD算法】Sarsa

Sarsa 算法时TD算法的一种

推导TD Target

  • 回顾折扣回报 U t U_t Ut
    在这里插入图片描述
  • 动作价值函数 Q π Q_{\pi} Qπ
    在这里插入图片描述
  • 拆解 Q π Q_{\pi} Qπ,关注最后一项,其中 Q π ( S t + 1 , A t + 1 ) = U t + 1 Q_{\pi}(S_{t+1},A_{t+1})=U_{t+1} QπSt+1,At+1=Ut+1的期望
    在这里插入图片描述
  • 于是得到
    在这里插入图片描述
  • 其中右边期望部分,用一部分真实值替代期望,得到:
    在这里插入图片描述
  • 并将右边记为TD target : y t y_t yt,TD 算法就是尽可能的让估计值 Q π Q_{\pi} Qπ接近 y t y_t yt
    y t y_t yt里面有一部分是真实值,更接近真实情况。
    在这里插入图片描述

Sarsa算法

表格形式

在这里插入图片描述
算法流程
在这里插入图片描述

  • 其中 Q π ( s t + 1 , a t + 1 ) Q_{\pi}(s_{t+1},a_{t+1}) Qπ(st+1,at+1)通过查表得到
    在这里插入图片描述

神经网络形式

  • 如果状态和动作很多的时候,数据量就比较大了,表格难以操作
    可以训练神经网络近似动作价值函数 Q π Q_{\pi} Qπ
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sarsa(λ)算法是一种强化学习算法,用于解决马尔可夫决策过程(MDP)问题。它是基于Q-learning算法的一种改进,可以更好地处理连续的状态空间和动作空间。Sarsa(λ)算法使用了一种称为“ eligibility trace”的技术,可以更好地处理长期的奖励信号和非马尔可夫性。在Sarsa(λ)算法中,每个状态-动作对都有一个对应的值函数,表示在该状态下采取该动作的长期回报。算法通过不断更新这些值函数来学习最优策略。 具体来说,Sarsa(λ)算法使用了一种基于时间差分(TD)的方法来更新值函数。在每个时间步骤中,算法会根据当前状态和动作,计算出当前的奖励和下一个状态,然后使用这些信息来更新当前状态-动作对的值函数。同时,算法还会根据当前状态和动作,计算出下一个状态和下一个动作,并使用这些信息来更新下一个状态-动作对的值函数。这样,算法可以不断地迭代更新值函数,直到收敛到最优策略。 在Sarsa(λ)算法中,λ是一个控制权重的参数,用于平衡长期和短期奖励。当λ=0时,算法只考虑当前的奖励,而当λ=1时,算法考虑所有未来的奖励。在实际应用中,λ的取值通常介于0和1之间。 总之,Sarsa(λ)算法是一种强化学习算法,用于解决马尔可夫决策过程问题。它使用了一种基于时间差分的方法来更新值函数,并使用“ eligibility trace”技术来处理长期的奖励信号和非马尔可夫性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值