SARSA算法是一种无模型、在线、基于策略的强化学习方法。SARSA代理是一种基于价值的强化学习代理,它训练批评者来估计回报或未来的回报。
有关不同类型的强化学习代理的更多信息,请参见强化学习代理.
SARSA人员可以在以下观察和行动空间的环境中接受培训。
观察太空 | 行动空间 |
---|---|
连续或离散 | 离散 |
SARSA代理使用下列批评表示。
评论家 | 演员 |
---|---|
核反应能量函数评论家问(年代,一个),您可以使用 |
SARSA特工不使用演员。 |
在训练过程中,agent使用贪婪探索探索动作空间。在每个控制区间内,代理要么选择一个随机行动的概率ϵ或者对概率为1-的值函数贪婪地选择一个动作ϵ.这种贪婪行为是价值函数最大的行为。
为了估计价值函数,SARSA代理人保持一个批评家问(年代,一个),这是一个表或函数近似器。评论家进行观察年代和行动一个作为输入并返回相应的长期回报期望。
有关创建值函数近似的批评家的更多信息,请参见创建策略和价值功能表示.
当训练完成时,将训练的值函数近似器存储在批评家中问(年代,一个).
创建SARSA代理:
创建一个批评家使用rlQValueRepresentation
对象。
指定代理选项rlSARSAAgentOptions
对象。
使用rlSARSAAgent
对象。
SARSA代理使用以下训练算法。要配置训练算法,请使用rlSARSAAgentOptions
对象。
初始化批评问(年代,一个),使用随机值。
对于每个培训集:
设定初始观测值年代.
对于当前的观测年代,选择一个随机动作一个的概率ϵ.否则,选择批评家价值作用最大的行动。
指定ϵ和它的衰减率,用EpsilonGreedyExploration
选择。
对每一个情节重复以下步骤,直到年代是一种终端状态:
执行动作一个.观察奖励R其次观察年代.
选择一个行动一个“遵循国家的政策年代.
如果年代是终端状态,设定值函数的目标吗y来R.否则,设置为
设置折扣率γ,可以使用DiscountFactor
选择。
计算批评家参数更新。
使用学习速率更新批评家α.
属性,在创建评论家表示时指定学习速率LearnRate
选项rlRepresentationOptions
对象。
设置观察年代来年代.
设置操作一个来一个“.
rlSARSAAgent
|rlSARSAAgentOptions