当前位置: 首页 > article >正文

强化学习的数学原理(七-3)TD算法总结

一、TD算法的统一表达

之前的所有能迭代策略的TD算法包括MC算法,都可以统一的表达为下面的形式:

q_{t+1}\left ( s_t,a_t \right )=q_{t}\left ( s_t,a_t \right )-\alpha _{t}\left ( s_t,a_t \right )\left [ q_{t}\left ( s_t,a_t \right )-\overline{q}_{t} \right ]

TD算法的目的就是使q_{t}向TD target \overline{q}_{t}收敛。

Sarsa\overline{q}_{t}=r_{t+1}+\gamma q_{t}\left ( s_{t+1},a_{t+1} \right )
Expected Sarsa\overline{q}_{t}=r_{t+1}+\gamma \mathbb{E}\left [ q_{t}\left ( s_{t+1},A \right ) \right ]=r_{t+1}+\gamma \displaystyle\sum_{a}q_{t}\left ( s_{t+1},a \right )\pi _{t}\left ( a|s_{t+1} \right )
n-step Sarsa\overline{q}_{t}=r_{t+1}+\gamma r_{t+2}+...+\gamma^{n} q_{t}\left ( s_{t+n},a_{t+n} \right )
Q-learning\overline{q}_{t}=r_{t+1}+\gamma \displaystyle\max_{a}q_{t}\left ( s_{t+1},a \right )
MC\overline{q}_{t}=r_{t+1}+\gamma r_{t+2}+...  and  \alpha _{t}\left ( s_t,a_t \right )=1

 二、TD算法求解的数学问题

除了Q-learning其他的TD算法都是把policy evaluation 与policy improvement结合以找到最优策略。而policy evaluation在求解以下的问题。

BE:求解贝尔曼公式;BOE:求解贝尔曼最优公式。 

SarsaBE:q_{\pi }=\mathbb{E}\left [ R_{t+1} +\gamma q_{\pi }\left ( S_{t+1},A_{t+1} \right )| S_{t}=s,A_{t} =a\right ]
Expected SarsaBE:q_{\pi }=\mathbb{E}\left [ R_{t+1}+\gamma \mathbb{E}_{A_{t+1}}\left [ q_{\pi }\left ( S_{t+1},A_{t+1} \right ) \right ]|S_{t}=s,A_{t}=a \right ]
n-step SarsaBE:q_{\pi }=\mathbb{E}\left [ R_{t+1}+\gamma R_{t+2}+...+\gamma^{n} q_{\pi }\left ( S_{t+n},A_{t+n} \right )|S_{t}=s,A_{t}=a \right ]
Q-learningBOE:q_{\pi }=\mathbb{E}\left [ R_{t+1}+\gamma \displaystyle\max_{a}q_{\pi }\left ( S_{t+1},a \right ) |S_{t}=s,A_{t}=a\right ]
MCBE:q_{\pi }=\mathbb{E}\left [ R_{t+1}+\gamma R_{t+2}+... |S_{t}=s,A_{t}=a\right ]  and  \alpha _{t}\left ( s_t,a_t \right )=1

http://www.kler.cn/a/506185.html

相关文章:

  • macos arm 本地/docker/本地k8s 安装jupyterhub 并登陆
  • 运行fastGPT 第四步 配置ONE API 添加模型
  • AWS Lambda
  • 【蓝桥杯】43687.赢球票
  • apidoc thinkphp likeadmin 遇到解析报错
  • windows远程桌面连接限定ip
  • PHP中的魔术函数
  • SpringMVC Idea 搭建 部署war
  • 【React】插槽渲染机制
  • openharmony应用开发快速入门
  • Go实现设计模式
  • Python语言的编程范式
  • C++(二十)
  • 在 Azure 100 学生订阅中新建 Ubuntu VPS 并部署 Mastodon 服务器
  • 使用 `npm install` 时遇到速度很慢的问题
  • .Net MVC中视图的View()的具体用法
  • 【JavaScript】比较运算符的运用、定义函数、if(){}...esle{} 语句
  • Java中的高效集合操作:Stream API实战指南
  • 【2024年华为OD机试】(B卷,100分)- 数据分类 (Java JS PythonC/C++)
  • 使用python+pytest+requests完成自动化接口测试(包括html报告的生成和日志记录以及层级的封装(包括调用Json文件))
  • 浅谈云计算14 | 云存储技术
  • Windows图形界面(GUI)-QT-C/C++ - QT 对话窗口
  • python flask简单实践
  • 谷歌浏览器的兼容性与性能优化策略
  • MySQL程序之:使用选项设置程序变量
  • 滚动字幕视频怎么制作