mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理
1. 前言
前面的强化学习基础知识介绍了强化学习中的一些基本元素和整体概念。今天讲解强化学习里面最最基础的MDP(马尔可夫决策过程)。
2. MDP定义
MDP是当前强化学习理论推导的基石,通过这套框架,强化学习的交互流程可以很好地以概率论的形式表示出来,解决强化学习问题的关键定理也可以依此表示出来。
MDP(马尔可夫决策过程)包含以下三层含义:
“马尔可夫”表示了状态间的依赖性。当前状态的取值只和前一个状态产生依赖,不和更早的状态产生联系。虽然这个条件在有些问题上有些理想,但是由于它极大地简化了问题,所以人们通常会选择使用它。
“决策”表示了其中的策略部分将由Agent决定。Agent可以通过自己的行动改变状态序列,和环境中存在的随机性共同决定未来的状态。
“过程”表示了时间的属性。如果把Agent和环境的交互按时间维度展开,那么Agent行动后,环境的状态将发生改变,同时时间向前推进,新的状态产生,Agent将获得观测值,于是新的行动产生,然后状态再更新”
3. 价值函数
前面介绍了MDP的基本形式,我们发现游戏的关键在于策略(policy),也就是如何做出决策与执行行动。在理想状态下,每一个行动都要为最终的目标——最大化长期回报努力,那么理论上只要能够找到一种方法,量化每一个行动对实现最终目标贡献的价值,这个方式就是用价值函数(简称值函数)来衡量。
值函数分两类:
状态值函数\(v_{\pi}(s)\):也就是已知当前状态s,按照某种策略行动产生的长期回报期望。
状态-行动值函数\(q_{\pi}(s,a)\):也就是已知当前状态s和行动a,按照某种策略行动产生的长期回报期望。
其中的\(\pi\)是一个行动策略。
3.1 状态值函数
我们从下图中来学习状态值函数:
我们计算左边的\(s^0\)状态的\(v(s^0)\),我们可以通过它后面的\(r_{a_i}^{s^1_{0,i}}+s^1_{0,i}\)加权的和,其中\(r_{a_i}^{s^1_{0,i}}\)是采取行动\(a_i\)后获得的奖励。
所以有状态值函数的Bellman公式:
\[v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(1)
\]
通过这样的计算,我们发现状态值函数可以以递归的形式表示。假设值函数已经稳定,任意一个状态的价值可以由其他状态的价值得到。
3.2 状态-行动值函数
和状态值函数的推到一样,我们有下面这张状态-行动值函数,它是以\(q(s,a)\)为目标来计算值函数。
同样和状态值函数一样,状态-行动值函数也有相应的Bellman公式:
\[q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * \sum_{a_{t+1}}\pi(a_{t+1}|s_{t+1})q_{\pi}(s_{t+1},a_{t+1})]\;\;\;\;\;\;(2)
\]
这个公式和上面的状态值函数的非常类似。
以上\((1)(2)\)个Bellman公式是MDP中最核心的内容,后面的各种强化学习的算法也是建立在上面2个Bellman公式之上。
通过\((1)(2)\),我们还能推导出\(v_{\pi}(s_t),q_{\pi}(s_t,a_t)\)之间的关系。
\[v_{\pi}(s_t)=\sum_{a_t}\pi(a_t|s_t)q_{\pi}(s_t,a_t)\;\;\;\;\;\;(3)
\]
\[q_{\pi}(s_t,a_t)=\sum_{s_{t+1}}p(s_{t+1}|s_t,a_t)[r_{a_t}^{s_{t+1}} + \gamma * v_{\pi}(s_{t+1})]\;\;\;\;\;\;(4)
\]
其实\((3)(4)\)也可以通过上面2幅图得到验证。
4. 总结
MDP是强化学习入门的关键一步,如果这部分研究的比较清楚,后面的学习就会容易很多。因此值得多些时间在这里。虽然MDP可以直接用方程组来直接求解简单的问题,但是更复杂的问题却没有办法求解,因此我们还需要寻找其他有效的求解强化学习的方法。
mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理相关推荐
- 【强化学习】《动手学强化学习》马尔可夫决策过程
[强化学习]<动手学强化学习>马尔可夫决策过程 一.随机过程.马尔可夫过程.马尔可夫奖励过程 二.马尔可夫决策过程 三.蒙特卡洛方法 四.最优策略与贝尔曼最优方程 一.随机过程.马尔可夫过 ...
- 强化学习之——马尔可夫决策过程原理
强化学习之--马尔可夫决策过程原理 1.1 MDP:策略与环境模型 我们以蛇棋为模型引入--蛇棋的关键问题在于:哪些因素决定了蛇棋最终获得分数的多少? 两个因素 选择什么样的手法投掷(也就是投3以内的 ...
- 什么是强化学习(马尔可夫决策过程)
文章目录 什么是强化学习(马尔可夫决策过程) 1. 强化学习(概述) 2. 马尔可夫决策过程 2.1 马尔可夫假设 2.2 马尔可夫决策过程 2.3 状态值函数(state-value functio ...
- 【githubshare】深度学习蘑菇书,覆盖了强化学习、马尔可夫决策过程、策略梯度、模仿学习
GitHub 上的深度学习技术书籍:<蘑菇书 EasyRL>,覆盖了强化学习.马尔可夫决策过程.策略梯度.模仿学习等多个知识点. GitHub:github.com/datawhalech ...
- mdp框架_强化学习:MDP(Markov Decision Process)
0.强化学习(reinforcement learning),特点是引入奖励机制.[强化学习属于机器学习框架中的什么部分?] 1.引出MDP的思路 =>Random variable => ...
- 强化学习之马尔可夫决策过程—机器学习公开课第十五讲
本篇笔记对应的是公开课的第十五讲,主要内容包括 马尔可夫决策过程MDP(Markov Decision Process).价值函数(Value Function).价值迭代(Value Iterati ...
- 强化学习笔记-马尔可夫决策过程
前言 本文首先介绍了三个基本概念:马尔可夫性.马尔可夫过程和马尔可夫决策过程.接着引入贝尔曼方程,给出了值函数.状态行为函数.最优值函数.最优状态行为函数的推导公式以及它们之间的关系. 解释马尔可夫性 ...
- 强化学习_02_DataWhale马尔可夫决策过程习题
习题 1-1 为什么在马尔可夫奖励过程中需要有折扣因子(discount factor)? 马尔可夫过程是带环的,需要避免无穷的奖励 我们没办法完美模拟环境,对未来的预估不一定准确.折扣因子可以将这个 ...
- mdp框架_强化学习中q learning和MDP的区别是什么?
MDP通常是指一种用转移概率描述连续不确定概率过程的数学框架,是强化学习中最基础的概念,很多强化学习的算法都是在把问题抽象为一个MDP之后再想办法求解的. 而q-learning是求解强化学习问题的算 ...
最新文章
- java中abstract关键字
- java 文件读写--转载
- keepalived脑裂问题查找
- WEB编程学习之配置阿里云+宝塔+WordPress
- Oracle 升级(10.2.0.1 -- 10.2.0.4) 包含升级包
- HashMap1.7和1.8头插入与尾插入的原因
- 计算机软件著作权登记指南
- mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
- 30 张快速学习 Java 的思维导图
- HSRP在企业网中的应用(CISCO小凡模拟器)
- QCC3020/QCC3040 TWS耳机按键切换EQ,APP切换EQ功能实现
- Gifox for Mac 1.6.0 优秀的Gif动画录制工具 破解版下载
- 小米4c android5.1,奇兔刷机全网独家攻破小米4c安卓5.1支持一键刷机ROOT
- Linux内核网络UDP数据包发送(四)——Linux netdevice 子系统
- 如何把视频生成二维码,手机扫一扫就可以看
- 利用账号密码模拟登录新浪微博
- Podman 容器 pod 管理工具
- 宝刀——《荒原的呼唤》选载之一
- 【机器学习】算法 之 决策树
- Kafka:High level consumer vs. Low level consumer