理解马尔可夫决策过程
https://www.toutiao.com/a6651196916329611780/
2019-01-28 01:17:00
在高层次的直觉中,马尔可夫决策过程(MDP)是一种对机器学习非常有用的数学模型,具体来说就是强化学习。该模型允许机器和agent确定特定环境中的理想行为,从而最大限度地提高模型在环境中实现特定状态甚至多个状态的能力。这个目标是由我们称为策略的东西决定的,策略应用于依赖于环境的agent的操作,MDP试图优化为实现这样的解决方案所采取的步骤。这种优化是通过奖励反馈系统完成的,在这个系统中,不同的行为根据这些行为将导致的预测状态进行加权。
分解
要了解MDP,我们首先应该看一下流程的独特组成部分。它包含:
- 存在于我们指定环境中的一组状态:S(state)
- 在指定环境中存在一组有限的行为:A(agent)
- 描述每个动作对当前状态的影响:T
- 给出所需状态和行为的奖励函数:R(s,a)。
- 寻求解决MDP的政策。您可以将其视为从状态到我们的行为的映射。用更简单的术语表示在状态S时应该采取的最佳行为'a'。
MDP的图像概述
理解模型:
从上图中可以看出,我们有T(S,a,S')〜P(S'| S,a)。
该模型通常被称为转换模型。T代表了我们行为的概念化。我们从一些状态S开始,我们采取行动A,我们的agent发现自己处于一个新状态S'。
接下来,我们定义P,或者我们通过在前一种状态中采取行动而达到新状态的概率。
Markov性质:
P[St+1 | a, S0, ….. , St]= P[St+1 |a, St]
上面的公式是马尔科夫性质状态的定义。我们再来分解一下。
St+1可以被解释为未来的状态,[ S 1,...,S t ]表示状态历史中存在的所有相关信息的历史。当然,a仍然代表着正在采取的行为。但是,新状态仅取决于之前的状态。
给定马尔可夫状态,定义转移概率。
鉴于我们的agent处于某种状态s,对于每一个存在的状态,都有一种到达第一种状态的概率,另一种到达第二种状态的概率,依此类推。这是转换概率。
我们可以采用这些概率并将它们输入状态矩阵!让我们定义一个带有3种状态天气问题的例子。规则如下:
- 你住在阳光镇,但可悲的是,阳光镇从来没有连续两天好天气。
- 如果你有个美好的一天,第二天就有可能下雪或下雨。
- 如果我们下雪或下雨,第二天有50%的机会有相同的天气。
- 如果天气从下雪或下雨变化,它只会一半的时间变成晴天。
使用这个假的环境信息,我们可以像这样构造一个状态矩阵:
其中,矩阵的第一行表示在给定雨天的情况下,未来几天天气的概率。第二行表示正常日子的概率,第三行表示雪天的概率。这种转换概率矩阵称为转换矩阵。
现在,让我们从我们的矩阵中尝试一个模型真正的问题从矩阵p²(ij)
i表示当前状态,j表示未来状态。
我们想知道今天下雨的可能性是多少,从现在开始两天后下雪的可能性是多少?假设在下雨,我们可能的状态是什么?
唯一的限制是不能连续两天过得很好。从现在到那时的所有其他状态都是可能的。所以明天可能会下雨,第二天可能会下雪,明天可能会很好,第二天可能会下雪,明天可能会下雪,第二天也可能会下雪。
以等式形式:
P²(Rain⁰Snow²) = P(RainRain)*P(RainSnow) + P(RainNormal)*P(NormalSnow) + P(RainSnow)*P(SnowSnow)
现在我意识到这看起来很痛苦,但是你可能已经意识到这本质上是向量和矩阵的数学。我们取第一行和第三行做点积。
可视化使生活更轻松
让我们假设我们希望预测给定6天时间周期的P,或者6个状态转变。我们还没有定义一个初始状态,我们只是希望在给定初始概率的情况下,求出过渡时期状态的概率。这被称为正则马尔可夫链。如你所见,我们继续使用向量数学通过点积来计算每个状态的概率。
但我们如何确定初始起始状态?它将如何影响我们的概率计算或如何创建马尔可夫链:
我们可以将其定义为:u ^(n)= uP ^(n)
其中u是表示状态初始分布的向量,P是马尔可夫链的转换矩阵。
我们知道我们有三种状态,我们把它带入.u³=uP³
我们来解第三天的概率。我们制作一个1x3向量来表示初始分布,并采用点积来求出给定随机初始状态的第三天每种状态的可能性。
如何找到这么多状态的最佳解决方案以获得理想的结果?这就是我想用强化学习来做的。
为了理解如何计算状态和操作的优化,我们需要给它们赋值。为了理解价值,我们需要定义一个策略,为了定义一个策略,我们需要了解奖励和回报。
奖励和回报价值
强化agent寻求最大化未来奖励的总和。他们希望预测获得最大奖励的行为。这称为return,我们可以像这样建模,r表示奖励,R表示返回,下标t表示时间步长,在我们的例子中是状态转换。
现在,正如你所看到的,这个等式允许趋于无穷大,但处理许多问题是没有意义的。我们希望奖励的总和结束。我们称任务结束剧集。想象一下大富翁棋盘游戏,一开始给所有人分配相同的价值,然后给出一系列可能的状态和行为,这一集最终以赢家结束。一个新内容可以从创建游戏的新实例开始。
处理回报价值的更常用方法是称为未来累积折扣奖励的方法
其中,奖励前的折扣表示0到1之间的值。这种方法的好处是,现在对无限回报有了更好的模型,而且它更重视更直接的回报。这个模型现在关心的是更早的回报,而不是未来的回报。我们可以自己加权。我们选择的折扣越小,越强调早期奖励。正如您可能想象的那样,1的折扣变成了我们原来的奖励方程,0的折扣创建了一个只关心第一个奖励的模型。这在某种意义上是有用的,因为agent将会在特定的时刻学习绝对最好的事情,但它将缺乏对自己未来的洞察力。
更多关于政策
π(s,a)是我们的政策函数。它描述了一种行为方式。它采用当前状态和agent操作,并返回在该状态下执行该操作的概率。有点像我们上面演示的那样。
如果你考虑这意味着什么,那么在给定所有行为的情况下,所有状态的集合必须等于1的概率。
我们的政策应描述如何在每个状态采取行动。
以Josh Greaves创建的这个策略为例
正如你所看到的,当我们吃饱时,我们会得到奖励,当我们饥饿就吃饭时,我们会得到奖励,并且我们因为吃饱而不吃东西而获得奖励。如果饥饿而不吃饭是,我们会受到极大的惩罚,并且在吃饱时吃饭会受到惩罚。很容易看出,在这个非常简单的例子中,最优策略是在饥饿时吃东西。
价值函数:
强化学习中的两种价值函数是状态价值函数V(s)和行为价值函数Q(s, a)。
状态值函数解释给定特定策略的状态的值。当我们从初始状态s开始并在我们的策略规则中行动时,它是对回报的计算。
操作值函数返回在遵循指定策略时在给定状态下执行操作的值。
现在,考虑到在选择操作时,环境是返回下一个状态的,我们必须记住,如果我们的策略发生变化,值函数也会发生变化。我们希望看到这些函数有一个给定的返回值,然而,在到达某个状态时可能会有大量的随机性,并且转换函数也会影响我们的状态。我们不可能有100%的可能性。
理解马尔可夫决策过程相关推荐
- 如何理解马尔可夫决策过程?
1 引言 马尔可夫性:无后效性,指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关: 马尔可夫链(Markov Chain, MC):系统的下一个状态只与当前状态相关: 马尔可夫决策过程(M ...
- (二)马尔可夫决策过程
从第一章中了解到强化学习中,智能体通过和环境进行交互获得信息.这个交互过程可以通过马尔可夫决策过程来表示,所以了解一下什么是MDP至关重要. 不过在了解马尔可夫决策过程之前,先要一些预备知识, ...
- 第二章 马尔可夫决策过程及表格型方法
马尔可夫决策过程. 在介绍马尔可夫决策过程之前,先介绍它的简化版本:马尔可夫链以及马尔可夫奖励过程,通过跟这两种过程的比较,我们可以更生动地理解马尔可夫决策过程. 第二部分会介绍马尔可夫决策过程中的 ...
- 【EasyRL学习笔记】第二章 Markov Decision Process 马尔可夫决策过程
文章目录 一.马尔可夫过程 1.1 马尔可夫性质 1.2 马尔可夫链 1.3 马尔可夫过程的例子 二.马尔可夫奖励过程 2.1 回报与价值函数 2.2 贝尔曼方程 2.3 计算马尔可夫奖励过程价值的迭 ...
- 马尔可夫决策过程的一些个人理解
(!一些个人理解!) 马尔可夫决策过程:Agent与环境交互,通过优化Agent的行为策略,使Agent在环境中实现需要的状态 策略:Agent根据环境选择行为,这一系列Agent选择的行为的组合及这 ...
- 深度强化学习入门:马尔可夫决策过程(井字棋案例理解)
注:笔记 来自知乎文章 深度强化学习综述(上) Tips①:只是记录从这个文章学到的东西 Tips②:只摘选了文章中部分理论阅读整理 Tips③:重点是对文章中的一些公式进行理解,方便自己回顾 Tip ...
- DeepMind 的马尔可夫决策过程(MDP)课堂笔记
DeepMind Teaching by David Silver 视频课程链接(Youtube资源,需梯子):https://youtu.be/lfHX2hHRMVQ 文章目录 DeepMind T ...
- 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)
引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名.马尔可夫过程是不具备记忆特质的(memoryless ...
- 马尔可夫决策过程(MDP)
目录 智能体与环境 马尔科夫决策过程 智能体与环境 强化学习问题不同于传统机器学习问题,它是一种在交互的过程中学习并实现目标的问题.这里把具有学习能力和决策能力的程序或系统称之为Agent(代理,智能 ...
- 人工智能必备数学知识· 学习笔记 ·002【马尓可夫链,马尓可夫链奖励过程,马尔可夫决策过程】
注:笔记 来自课程 人工智能必备数学知识 Tips①:只是记录从这个课程学到的东西,不是推广.没有安利 Tips②:本笔记主要目的是为了方便自己遗忘查阅,或过于冗长.或有所缺省.或杂乱无章,见谅 Ti ...
最新文章
- Oracle 10g 应用补丁PSU 10.2.0.5.180717
- 上海沙龙 - 接口测试自动化经验分享
- Http代理程序,基于hash缓存实现
- NodeJS优缺点及适用场景讨论
- tomcat 和 jdk 版本 对应关系
- Python 3.3.2 中文版
- rxjava获取异步请求的结果_我为什么不再推荐用 RxJava
- html 日历系统 源码,calendar.html
- php微信支付使用ajax,接入微信公众号支付,选择支付方式后,只弹出“error’”(php)...
- Lync Server 2013视频会议新功能及配置
- c#设计模式之简单工厂
- Android跑马灯的效果
- 斐讯K2刷回原厂固件
- cisp-pte考试经验分享
- 磁盘精灵 4.5 版本
- Unity3D 屏幕点击特效
- java jws-_java JWS 应用及实践
- 资源-1.中国2000个城市名和对应的拼音
- 基于cesium+canvas构建小区内部风场图
- Linux下 wchar_t 与char 转换
热门文章
- 【漏洞复现】Hadoop YARN 资源管理系统 REST API未授权访问
- Apple Pencil平替哪个好?Apple Pencil平替笔推荐
- c语言对称矩形的判定,八年级数学下册 第19章 矩形、菱形与正方形 19.1.2 矩形的判定教案 (新版)华东师大版...
- Java并发之-队列同步器AQS
- Python—字典的操作
- SQL练习题——店铺UV、访客信息
- 实操!!!论坛项目开发流程(java)
- 调侃大学生[太有才了]
- 微信强制性诱导分享php,微信公众号运营者注意了,下面这些诱导分享到朋友圈都是不可以的...
- 基于NodeJS实现企业微信机器人推送