强化学习—Sarsa算法

Sarsa算法

Sarsa算法是一种基于策略的强化学习算法,用于解决马尔可夫决策过程(MDP)中的控制问题。它是一个在线、基于时间差分(TD)的算法,通过与环境交互学习策略。Sarsa 的名字来源于其更新公式中的五个元素:状态(State)、动作(Action)、奖励(Reward)、下一个状态(Next State)、和下一个动作(Next Action)。

Sarsa算法的核心思想

Sarsa是一个单步时间差分控制算法,它在每个时间步更新动作值函数(Q值),从而改进策略。其主要特点是它是一种基于动作的策略,即在更新 Q 值时考虑了当前的策略选择。

Sarsa算法的工作流程

  1. 初始化

    • 初始化 Q 值表 ( Q(s, a) ) 为一个小的随机值或零。
    • 选择初始状态 ( s_0 )。
  2. 选择动作

    • 根据当前状态 ( s ) 和 Q 值表选择动作 ( a ),通常使用 ε-贪婪策略。
  3. 执行动作

    • 执行动作 ( a ),观察奖励 ( r ) 和下一个状态 ( s’ )。
  4. 选择下一个动作

    • 在状态 ( s’ ) 中,根据 Q 值表选择下一个动作 ( a’ )。
  5. 更新Q值

    • 使用以下更新公式更新 Q 值:
      Q ( s , a ) ← Q ( s , a ) + α [ r + γ Q ( s ′ , a ′ ) − Q ( s , a ) ] 其中, α 是学习率, γ 是折扣因子。 Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma Q(s', a') - Q(s, a)] \\ 其中,\alpha 是学习率,\gamma 是折扣因子。 Q(s,a)Q(s,a)+α[r+γQ(s,a)Q(s,a)]其中,α是学习率,γ是折扣因子。
  6. 状态和动作更新

    • 更新状态 s ← s ′ 和动作 a ← a ′ ,重复步骤 3 至 5 ,直到达到终止状态。 更新状态 s \leftarrow s' 和动作 a \leftarrow a' ,重复步骤 3 至 5,直到达到终止状态。 更新状态ss和动作aa,重复步骤35,直到达到终止状态。

Sarsa算法的特点

  • 基于策略

    • Sarsa 算法是一个基于当前策略的算法,它更新 Q 值时考虑了当前策略选择的动作。
  • 在线学习

    • Sarsa 是一种在线学习算法,即它在与环境交互时实时更新策略。
  • 策略敏感性

    • Sarsa 在更新 Q 值时使用当前策略,因此它对策略的选择较为敏感。

Sarsa与Q-learning的区别

  • 更新机制

    • Sarsa 是基于当前策略进行更新,而 Q-learning 是基于最优策略进行更新。
    • Q-learning 更新 Q 值时使用最大化的未来价值,而 Sarsa 使用当前策略的未来价值。
  • 策略性质

    • Sarsa 是一个保守的算法,因为它遵循当前策略进行学习。
    • Q-learning 是一个偏乐观的算法,因为它总是假设能采取最优动作。

Sarsa算法的应用

Sarsa算法常用于需要在线学习的强化学习任务,如机器人控制、游戏 AI、推荐系统等。它的保守性质使其在不确定环境中较为稳定。

总结

Sarsa算法是一种基于策略的时间差分算法,通过实时更新 Q 值来学习策略。它对策略的选择敏感,适用于在线学习任务。与 Q-learning 的主要区别在于更新机制和策略选择。

笔记

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sarsa算法是一种基于Q-learning的强化学习算法,用于解决马尔可夫决策过程(MDP)中的问题。Sarsa是State-Action-Reward-State-Action的缩写,它是一种在线学习算法,能够逐步更新Q值函数来寻找最优的动作策略。 Sarsa算法的基本思想是通过不断地与环境进行交互来学习最优的行动策略。在每个时间步骤中,算法会根据当前的状态选择一个行动,并观察到下一个状态和获得的奖励。然后,它会根据这些信息来更新Q值函数,以改进行动策略。 具体来说,Sarsa算法的更新规则如下: 1. 在当前状态s,选择一个行动a,可以使用ε-greedy策略来进行行动选择,即以ε的概率选择一个随机行动,以1-ε的概率选择具有最大Q值的行动。 2. 执行行动a,观察到下一个状态s'和获得的奖励r。 3. 根据新的状态s'和选择的行动a',使用Sarsa的更新规则来更新Q值函数: Q(s, a) = Q(s, a) + α * (r + γ * Q(s', a') - Q(s, a)) 其中,α是学习率,γ是折扣因子,用于衡量当前状态与下一个状态之间的重要性。 通过不断地迭代和更新Q值函数,Sarsa算法能够逐步收敛到最优的Q值函数,从而得到最优的行动策略。 总结起来,Sarsa算法是一种基于Q-learning的在线强化学习算法,通过与环境的交互和不断的Q值函数更新来学习最优的行动策略。它适用于解决马尔可夫决策过程中的问题,并可以在各种应用领域中得到有效的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值