强化学习-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)
		
作者:YJLAugus 博客: https://www.cnblogs.com/yjlaugus 项目地址:https://github.com/YJLAugus/Reinforcement-Lear ...
 - David Silver强化学习Lecture2:马尔可夫决策过程
		
课件:Lecture 2: Markov Decision Processes 视频:David Silver深度强化学习第2课 - 简介 (中文字幕) 马尔可夫过程 马尔可夫决策过程简介 马尔可夫决 ...
 - 转:增强学习(二)----- 马尔可夫决策过程MDP
		
1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...
 - 增强学习(二)----- 马尔可夫决策过程MDP
		
1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...
 - 马尔可夫决策过程MDP
		
1. 马尔可夫模型的几类子模型 马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是马尔可夫性(无 ...
 - 【cs229-Lecture16】马尔可夫决策过程
		
之前讲了监督学习和无监督学习,今天主要讲“强化学习”. 马尔科夫决策过程:Markov Decision Process(MDP) 价值函数:value function 值迭代:value iter ...
 - 【RL系列】马尔可夫决策过程——状态价值评价与动作价值评价
		
请先阅读上两篇文章: [RL系列]马尔可夫决策过程中状态价值函数的一般形式 [RL系列]马尔可夫决策过程与动态编程 状态价值函数,顾名思义,就是用于状态价值评价(SVE)的.典型的问题有“格子世界(G ...
 - 【RL系列】马尔可夫决策过程——Jack‘s Car Rental
		
本篇请结合课本Reinforcement Learning: An Introduction学习 Jack's Car Rental是一个经典的应用马尔可夫决策过程的问题,翻译过来,我们就直接叫它“租 ...
 - [Reinforcement Learning] 马尔可夫决策过程
		
在介绍马尔可夫决策过程之前,我们先介绍下情节性任务和连续性任务以及马尔可夫性. 情节性任务 vs. 连续任务 情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节,可以看作 ...
 
随机推荐
- 在Node.js中在保持目录结构的情况下压缩指定目录
			
最近在做一个文件升级的功能,需要从下载服务器中指定目录下的文件.在学习了zlib后发现这个模块达不到这个功能 在查找资料后发现后发现 archiver 模块很好用,不过我也发现大部分中文资料没有如果查 ...
 - MySQL 一对多查询
			
group_concat简单来说,这个函数的作用就是连接多个字段 数据表首先我们先建立两个表 CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREME ...
 - phpmyadmin#1045 无法登录 MySQL 服务器
			
使用lnmp安装wordpress在登录phpmyadmin数据库的时候诡异的出现了 phpmyadmin#1045 无法登录 MySQL 服务器,解决方法如下: 1 修改root的密码—不可以行 ...
 - BZOJ3273 : liars
			
枚举每个人,计算他必定是诚实者的情况下至少有几个人说谎,若超过$t$则他肯定是说谎者. 对于至少有几个人说谎,区间信息可以合并: 每个区间维护最左最右两个人$l,r$以及$f[i][j]$表示$l$和 ...
 - Egret EUI的学习
			
官方地址:https://developer.egret.com/cn/article/index/id/518 官方案例:https://github.com/egret-labs/egret-ex ...
 - 学习Struts--Chap03:struts.xml常用配置(基础)
			
1.package属性 name:包名 用来唯一的指定一个package.package可以扩展,当一个package扩展自 另一个package时该package会在本身配置的基础上加入扩展的pac ...
 - javascript中的onmousewheel事件处理
			
滚轮事件在不同浏览器会有一点点区别,一个像Firefox使用DOMMouseScroll ,FF也可以使用addEventListener方法绑定DomMouseScroll事件,其他的浏览器滚轮事件 ...
 - 【数论&想法题】小C的问题 @"科林明伦杯"哈尔滨理工大学第八届程序设计竞赛
			
Time Limit: 1000 MS Memory Limit: 256000 K Description 小C是一个可爱的女孩,她特别喜欢世界上最稳定的图形:三角形.有一天她得到了n根木棍,她把这 ...
 - HTML5 学习01——浏览器问题、新元素
			
Internet Explorer 浏览器问题 问题:Internet Explorer 8 及更早 IE 版本的浏览器不支持HTML5的方式. <!--[if lt IE 9]> < ...
 - 1、html基础认识&常用标签(1)
			
从今天期我们进入前端的学习,先学习html,没有任何复杂难懂的逻辑需要烧脑,只需要记忆.练习.练习.练习. 本篇导航: HTML初识 常用标签介绍 <body>内常用标签 一.HTML初识 ...