Reinforcement Learning -- An Introduction 是强化学习**的经典书籍,非常适合搭建理论基础。 原书英文版第二版于2018年出版,可以从官方网站下载书籍的英文版PDF 下载链接。对于众多中文读者来说,中文官方翻译版这次来得非常及时,《强化学习》 中文版 于2019年9月即首次印刷,由电子工业出版社出版。
本项目记录了我们对《强化学习》的学习笔记,通过对原书习题的解答和代码复现来增加对强化学习的基础理论的认识,梳理强化学习的框架。本项目来源于强化学习爱好者的整理和贡献,包含《强化学习》的习题解答和代码,仅供自学者学习和交流,不可直接用于课程作业,何况本项目的解答可能不完全都是正确的。当然如果你发现错误,欢迎提出issue进行指正交流。在学习阅读本项目之前,你需要具有一定的机器学习和深度学习的理论基础,具有Python编程基础。
GitHub的markdown不再支持tex公式的解析显示,使用Chrome的同学可以安装GitHub with MathJax添加MathJax的解析以对公式正常显示。
如果需要直接阅读模式,可以移步至我们的github.io进行阅读:强化学习读书笔记
- 导论
- 多臂赌博机
- 有限马尔科夫决策过程
- 动态规划
- 蒙特卡洛方法
- 时序差分学习
- n步自举法
- 基于表格方法的规划和学习
- 基于函数逼近的同轨策略预测
- 基于函数逼近的同轨策略控制
- 基于函数逼近的离轨策略方法
- 资格迹
- 策略梯度方法
- 表格型深入研究与前沿技术
持续更新中,欢迎贡献便于理解的优秀代码示例,推荐使用Python代码和Jupyter Notebook提交,并附上说明。请将习题解答或者代码案例提交pull request至contributions文件夹下面,每个习题或者案例单独文件(.md,.py 或者 .ipynb) 进行提交,提交后的代码我们将会尽快review并更新至相应的章节:
- 如果贡献习题解答,命名方式为 ex(chapter)-(execise).md, 例如:第二章第一题ex02-01.md
- 如果贡献案例代码,命名方式为 case(chapter)-(casename).md,例如:case01-井字棋动态规划案例.md
我们分为两个类别的贡献者。
- 负责人也就是对应的该章节习题解答和案例的维护者。
- 贡献者对应于主要的开发者。
原书章节 | 代码示例 | 负责人 | 主要贡献者 |
---|---|---|---|
第一章 导论 | 井字棋小游戏 | @daweicheng | @titicaca |
第二章 多臂赌博机 | @daweicheng | @CharlieSCC @xiangsheng1325 | |
第三章 有限马尔科夫决策过程 | @David-Tangk | @David-Tangk | |
第四章 动态规划 | @David-Tangk | @Ti-Ho | |
第五章 蒙特卡洛方法 | @David-Tangk | @VPCU | |
第六章 时序差分学习 | @Artiprocher | @Artiprocher @ZP1481616577 | |
第七章 n步自举法 | @moming | @moming | |
第八章 基于表格方法的规划和学习 | |||
第九章 基于函数逼近的同轨策略预测 | |||
第十章 基于函数逼近的同轨策略控制 | |||
第十一章 基于函数逼近的离轨策略方法 | |||
第十二章 资格迹 | |||
第十三章 策略梯度方法 |
| 参考文献 | | | |
还有很多同学提出了不少建议,我们都列在此处。
@LxinG-YY @yibo.yan @xiangsheng1325 @CharlieSCC...
如有遗漏,请务必通知我们,可以发邮件至echo ZGF3ZWkuY2hlbmdAc2p0dS5lZHUuY24K | base64 --decode
。
这是我们必须要感谢的,所以不要不好意思。