Sarsa & Sarsa(λ)

本文是根据莫烦老师的强化学习教程整理的Sarsa和Sarsa(λ)笔记。Sarsa与Q-Learning的主要区别在于Sarsa采用的实际行动进行更新,而Q-Learning则是估计的。Sarsa(λ)结合了单步更新与轨迹更新,λ参数控制衰减速度,λ=0对应回合更新,λ=1对应单步更新。
摘要由CSDN通过智能技术生成

跟着莫烦老师的强化学习教程时做的笔记,原贴:https://mofanpy.com/tutorials/machine-learning/reinforcement-learning/

Sarsa

和Q-Learing的区别:

更新方式不同

Q Learing 估计出来的下一个action不一定会走,但是sarsa一定会走

import numpy as np
import pandas as pd


class RL(object):
    def __init__(self, action_space, learning_rate=0.01, reward_decay=0.9, e_greedy=0.9):
        self.actions = action_space  # a list
        self.lr = learning_rate
        self.gamma = reward_decay
        self.epsilon = e_greedy

        self.q_table = pd.
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、付费专栏及课程。

余额充值