强化学习-学习笔记7 | Sarsa算法原理与推导

发布时间:2022-12-28 21:30

优质资源分享

学习路线指引(点击解锁) 知识定位 人群定位
Python实战微信订餐小程序 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
Python量化交易实战 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法。注意,这部分属于 TD算法的延申。

7. Sarsa算法

7.1 推导 TD target

推导:Derive。

这一部分就是Sarsa 最重要的内核。

折扣回报:Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+⋯ =Rt+γ⋅Ut+1Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+⋯ =Rt+γ⋅Ut+1U_t=R_t+\gamma R_{t+1}+\gamma^2 R_{t+2}+\gamma^3 R_{t+3}+\cdots \ \quad={R_t} + \gamma \cdot U_{t+1}

即 将Rt+1Rt+1R_{t+1}之后 都提出一个 γγ\gamma 项,后面括号中的式子意义正为 Ut+1Ut+1U_{t+1}

通常认为奖励 RtRtR_t依赖于 t 时刻的状态 StStS_t 与 动作 AtAtA_t 以及 t+1 时刻的状态 St+1St+1S_{t+1}。

当时对于为什么依赖于 Qπ(st,at)=E[Ut|st,at]’ role=“presentation”>Qπ(st,at)=E[Ut|st,at]Qπ(st,at)=E[Ut|st,at]Q_\pi({s_t},{a_t}) = \mathbb{E}[U_t|{s_t},{a_t}] 是回报 UtUtU_t 的期望;

  • 用折扣回报的变换式,把UtUtU_t替换掉:Qπ(st,at)=E[Rt+γ⋅Ut+1|stat]Qπ(st,at)=E[Rt+γ⋅Ut+1|stat]Q_\pi({s_t},{a_t}) = \mathbb{E}[{R_t} + \gamma \cdot U_{t+1} |{s_t}{a_t}]
  • 有两项期望,分解开:=E[Rt|st,at]+γ⋅E[Ut+1|st,at]=E[Rt|st,at]+γ⋅E[Ut+1|st,at]= \mathbb{E}[{R_t} |{s_t},{a_t}] + \gamma \cdot\mathbb{E}[ U_{t+1} |{s_t},{a_t}]

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号