markov chain, MRP MDP

在强化学习中,马尔科夫决策过程(Markov decision process, MDP)是对完全可观测的环境进行描述的,也就是说观测到的状态内容完整地决定了决策的需要的特征。几乎所有的强化学习问题都可以转化为MDP。本讲是理解强化学习问题的理论基础。

1. 马尔科夫过程 Markov Process

1.1 马尔科夫性 Markov Property

某一状态信息包含了所有相关的历史,只要当前状态可知,所有的历史信息都不再需要,当前状态就可以决定未来,则认为该状态具有马尔科夫性。

可以用下面的状态转移概率公式来描述马尔科夫性:
在这里插入图片描述

下面状态转移矩阵定义了所有状态的转移概率:
在这里插入图片描述
式中n为状态数量,矩阵中每一行元素之和为1.

1.2 马尔科夫过程 Markov Property

马尔科夫过程 又叫马尔科夫链(Markov Chain),它是一个无记忆的随机过程,可以用一个元组<S,P>表示,其中S是有限数量的状态集,P是状态转移概率矩阵。

1.3 示例——学生马尔科夫链

本讲多次使用了学生马尔科夫链这个例子来讲解相关概念和计算。
在这里插入图片描述
图中,圆圈表示学生所处的状态,方格Sleep是一个终止状态,或者可以描述成自循环的状态,也就是Sleep状态的下一个状态100%的几率还是自己。箭头表示状态之间的转移,箭头上的数字表示当前转移的概率。

举例说明:当学生处在第一节课(Class1)时,他/她有50%的几率会参加第2节课(Class2);同时在也有50%的几率不在认真听课,进入到浏览facebook这个状态中。在浏览facebook这个状态时,他/她有90%的几率在下一时刻继续浏览,也有10%的几率返回到课堂内容上来。当学生进入到第二节课(Class2)时,会有80%的几率继续参加第三节课(Class3),也有20%的几率觉得课程较难而退出(Sleep)。当学生处于第三节课这个状态时,他有60%的几率通过考试,继而100%的退出该课程,也有40%的可能性需要到去图书馆之类寻找参考文献,此后根据其对课堂内容的理解程度,又分别有20%、40%、40%的几率返回值第一、二、三节课重新继续学习。一个可能的学生马尔科夫链从状态Class1开始,最终结束于Sleep,其间的过程根据状态转化图可以有很多种可能性,这些都称为Sample Episodes。以下四个Episodes都是可能的:

C1 - C2 - C3 - Pass - Sleep

C1 - FB - FB - C1 - C2 - Sleep

C1 - C2 - C3 - Pub - C2 - C3 - Pass - Sleep

C1 - FB - FB - C1 - C2 - C3 - Pub - C1 - FB - FB - FB - C1 - C2 - C3 - Pub - C2 - Sleep

该学生马尔科夫过程的状态转移矩阵如下图:
在这里插入图片描述

2 马尔科夫奖励过程 Markov Reward Process

马尔科夫奖励过程在马尔科夫过程的基础上增加了奖励R和衰减系数γ:<S,P,R,γ>。R是一个奖励函数。S状态下的奖励是某一时刻(t)处在状态s下在下一个时刻(t+1)能获得的奖励期望:
在这里插入图片描述

很多听众纠结为什么奖励是t+1时刻的。照此理解起来相当于离开这个状态才能获得奖励而不是进入这个状态即获得奖励。David指出这仅是一个约定,为了在描述RL问题中涉及到的观测O、行为A、和奖励R时比较方便。他同时指出如果把奖励改为 [公式] 而不是 [公式] ,只要规定好,本质上意义是相同的,在表述上可以把奖励描述为“当进入某个状态会获得相应的奖励”。

衰减系数 Discount Factor: γ∈ [0, 1],它的引入有很多理由,其中优达学城的“机器学习-强化学习”课程对其进行了非常有趣的数学解释。David也列举了不少原因来解释为什么引入衰减系数,其中有数学表达的方便,避免陷入无限循环,远期利益具有一定的不确定性,符合人类对于眼前利益的追求,符合金融学上获得的利益能够产生新的利益因而更有价值等等。

下图是一个“马尔科夫奖励过程”图示的例子,在“马尔科夫过程”基础上增加了针对每一个状态的奖励,由于不涉及衰减系数相关的计算,这张图并没有特殊交代衰减系数值的大小。
在这里插入图片描述

2.1 收获 Return

定义:收获GtG_tGt为在一个马尔科夫奖励链上从t时刻开始往后所有的奖励的有衰减的总和。也有翻译成“收益”或"回报"。公式如下:
在这里插入图片描述
其中衰减系数体现了未来的奖励在当前时刻的价值比例,在k+1时刻获得的奖励R在t时刻的体现出的价值是γkR\gamma^k RγkR,γ接近0,则表明趋向于“近视”性评估;γ接近1则表明偏重考虑远期的利益。

2.2 价值函数 Value Function

价值函数给出了某一状态或某一行为的长期价值。

定义:一个马尔科夫奖励过程中某一状态的价值函数为从该状态开始的马尔可夫链收获的期望:
在这里插入图片描述

注:价值可以仅描述状态,也可以描述某一状态下的某个行为,在一些特殊情况下还可以仅描述某个行为。在整个视频公开课中,除了特别指出,约定用状态价值函数或价值函数来描述针对状态的价值;用行为价值函数来描述某一状态下执行某一行为的价值,严格意义上说行为价值函数是“状态行为对”价值函数的简写。

2.3 举例说明收获和价值的计算

为方便计算,把“学生马尔科夫奖励过程”示例图表示成下表的形式。表中第二行对应各状态的即时奖励值,蓝色区域数字为状态转移概率,表示为从所在行状态转移到所在列状态的概率:
在这里插入图片描述
考虑如下4个马尔科夫链。现计算当γ= 1/2时,在t=1时刻(S1=C1S_1=C_1S1=C1 )时状态S1S_1S1 的收获分别为:
在这里插入图片描述

从上表也可以理解到,收获是针对一个马尔科夫链中的某一个状态来说的。

当γ= 0时,上表描述的MRP中,各状态的即时奖励就与该状态的价值相同。当γ≠ 0时,各状态的价值需要通过计算得到,这里先给出γ分别为0, 0.9,和1三种情况下各状态的价值,如下图所示。

各状态圈内的数字表示该状态的价值,圈外的R=-2等表示的是该状态的即时奖励。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

各状态价值的确定是很重要的,RL的许多问题可以归结为求状态的价值问题。因此如何求解各状态的价值,也就是寻找一个价值函数(从状态到价值的映射)就变得很重要了。

2.4 价值函数的推导

2.4.1 Bellman方程 - MRP

先尝试用价值的定义公式来推导看看能得到什么:
在这里插入图片描述

这个推导过程相对简单,仅在导出最后一行时,将Gt+1G_{t+1}Gt+1变成了v(St+1)v(S_{t+1})v(St+1)。其理由是收获的期望等于收获的期望的期望。下式是针对MRP的Bellman方程:
在这里插入图片描述
通过方程可以看出 [公式] 由两部分组成,一是该状态的即时奖励期望,即时奖励期望等于即时奖励,因为根据即时奖励的定义,它与下一个状态无关;另一个是下一时刻状态的价值期望,可以根据下一时刻状态的概率分布得到其期望。如果用s’表示s状态下一时刻任一可能的状态,那么Bellman方程可以写成:
在这里插入图片描述

2.4.2 方程的解释

下图已经给出了γ=1时各状态的价值(该图没有文字说明γ=1,根据视频讲解和前面图示以及状态方程的要求,γ必须要确定才能计算),状态 [公式] 的价值可以通过状态Pub和Pass的价值以及他们之间的状态转移概率来计算:
在这里插入图片描述

在这里插入图片描述

2.4.3 Bellman方程的矩阵形式和求解

在这里插入图片描述
大规模MRP的求解通常使用迭代法。常用的迭代方法有:动态规划Dynamic Programming、蒙特卡洛评估Monte-Carlo evaluation、时序差分学习Temporal-Difference,后文会逐步讲解这些方法。

3 马尔科夫决定过程 Markov Decision Process

相较于马尔科夫奖励过程,马尔科夫决定过程多了一个行为集合A,它是这样的一个元组: <S, A, P, R, γ>。看起来很类似马尔科夫奖励过程,但这里的P和R都与具体的行为a对应,而不像马尔科夫奖励过程那样仅对应于某个状态,A表示的是有限的行为的集合。具体的数学表达式如下:
在这里插入图片描述
在这里插入图片描述

3.1 示例——学生MDP

下图给出了一个可能的MDP的状态转化图。图中红色的文字表示的是采取的行为,而不是先前的状态名。对比之前的学生MRP示例可以发现,即时奖励与行为对应了,同一个状态下采取不同的行为得到的即时奖励是不一样的。由于引入了Action,容易与状态名混淆,因此此图没有给出各状态的名称;此图还把Pass和Sleep状态合并成一个终止状态;另外当选择”去查阅文献”这个动作时,主动进入了一个临时状态(图中用黑色小实点表示),随后被动的被环境按照其动力学分配到另外三个状态,也就是说此时Agent没有选择权决定去哪一个状态。
在这里插入图片描述

3.2 策略Policy

在这里插入图片描述
用文字描述是这样的,在执行策略 [公式] 时,状态从s转移至 s’ 的概率等于一系列概率的和,这一系列概率指的是在执行当前策略时,执行某一个行为的概率与该行为能使状态从s转移至s’的概率的乘积。

3.3 奖励函数

奖励函数表示如下:
在这里插入图片描述
用文字表述是这样的:当前状态s下执行某一指定策略得到的即时奖励是该策略下所有可能行为得到的奖励与该行为发生的概率的乘积的和。

策略在MDP中的作用相当于agent可以在某一个状态时做出选择,进而有形成各种马尔科夫过程的可能,而且基于策略产生的每一个马尔科夫过程是一个马尔科夫奖励过程,各过程之间的差别是不同的选择产生了不同的后续状态以及对应的不同的奖励。

3.4 基于策略π的价值函数

在这里插入图片描述

下图用例子解释了行为价值函数
在这里插入图片描述

3.5 Bellman期望方程 Bellman Expectation Equation

MDP下的状态价值函数和行为价值函数与MRP下的价值函数类似,可以改用下一时刻状态价值函数或行为价值函数来表达,具体方程如下:
在这里插入图片描述
上图中,空心较大圆圈表示状态,黑色实心小圆表示的是动作本身,连接状态和动作的线条仅仅把该状态以及该状态下可以采取的行为关联起来。可以看出,在遵循策略π时,状态s的价值体现为在该状态下遵循某一策略而采取所有可能行为的价值按行为发生概率的乘积求和。
在这里插入图片描述

3.6 学生MDP示例

下图解释了红色空心圆圈状态的状态价值是如何计算的,遵循的策略随机策略,即所有可能的行为有相同的几率被选择执行。
在这里插入图片描述

3.7 Bellman期望方程矩阵形式

在这里插入图片描述

3.8 最优价值函数

在这里插入图片描述

最优价值函数明确了MDP的最优可能表现,当我们知道了最优价值函数,也就知道了每个状态的最优价值,这时便认为这个MDP获得了解决。

学生MDP问题的最优状态价值
在这里插入图片描述

学生MDP问题的最优行为价值

在这里插入图片描述

注:youtube留言认为Pub行为对应的价值是+9.4而不是+8.4

3.9 最优策略

当对于任何状态 s,遵循策略π的价值不小于遵循策略 π’ 下的价值,则策略π优于策略 π’:
在这里插入图片描述

定理 对于任何MDP,下面几点成立:1.存在一个最优策略,比任何其他策略更好或至少相等;2.所有的最优策略有相同的最优价值函数;3.所有的最优策略具有相同的行为价值函数。

3.9.1 寻找最优策略

可以通过最大化最优行为价值函数来找到最优策略:
在这里插入图片描述

对于任何MDP问题,总存在一个确定性的最优策略;同时如果我们知道最优行为价值函数,则表明我们找到了最优策略。

3.9.2 学生MDP最优策略示例

红色箭头表示的行为表示最优策略
在这里插入图片描述

3.10 Bellman最优方程 Bellman Optimality Equation

针对 [公式] ,一个状态的最优价值等于从该状态出发采取的所有行为产生的行为价值中最大的那个行为价值:

在这里插入图片描述
在这里插入图片描述
针对q∗q_*q ,在某个状态s下,采取某个行为的最优价值由2部分组成,一部分是离开状态 s 的即刻奖励,另一部分则是所有能到达的状态 s’ 的最优状态价值按出现概率求和:
在这里插入图片描述
在这里插入图片描述

3.11 Bellman最优方程学生MDP示例

在这里插入图片描述

3.12 求解Bellman最优方程

Bellman最优方程是非线性的,没有固定的解决方案,通过一些迭代方法来解决:价值迭代、策略迭代、Q学习、Sarsa等。后续会逐步讲解展开。

4 MDP延伸——Extensions to MDPs

简要提及:无限状态或连续MDP;部分可观测MDP;非衰减、平均奖励MDP

https://zhuanlan.zhihu.com/p/28084942

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(网络)流和会话

流:指具有相同五元组(源IP,源端口,目的IP,目的端口,协议)的所有包 会话:指由双向流组成的所有包(源和目的互换)

Filtration, σ-algebras

1. Filtration filtration在钱敏平老师和龚光鲁老师的《随机过程论》中直接称其为非降的KaTeX parse error: Undefined control sequence: \sigmma at position 1: \̲s̲i̲g̲m̲m̲a̲代数族。如图。 一般叫σ\sigmaσ-代数流或σ\sigmaσ-域流 在鞅论中的花体FtF_tFt​&…

gradle 命令行_Gradle命令行便利

gradle 命令行在我的《用Gradle构建Java的gradle tasks 》一文中&#xff0c;我简要提到了使用Gradle的“ gradle tasks ”命令来查看特定Gradle构建的可用任务。 在这篇文章中&#xff0c;我将对这一简短提及进行更多的扩展&#xff0c;并查看一些相关的Gradle命令行便利。 Gr…

怎样更好地理解并记忆泰勒展开式

本段的核心思想是仿造。当我们想要仿造一个东西的时候&#xff0c;无形之中都会按照上文提到的思路&#xff0c;即先保证大体上相似&#xff0c;再保证局部相似&#xff0c;再保证细节相似&#xff0c;再保证更细微的地方相似……不断地细化下去&#xff0c;无穷次细化以后&…

新的DMN编辑器预览

Workbench 7.13.0.Final于10月16日星期二发布&#xff0c;此版本带来了许多有趣的功能和重要的修复程序。 亮点之一是作为技术预览功能的新DMN编辑器&#xff0c;该功能仍在开发中&#xff0c;但您可以开始使用。 在本文中&#xff0c;您将学习如何启用DMN编辑器预览&#xff…

指数矩阵(exponential matrix)

类似于指数ex……e^x……ex……的本质是一种近似&#xff0c;eAt……e^{At}……eAt……是同样原理。 http://www.mashangxue123.com/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0/1756604500.html

Boole‘s,Doob‘s inequality,中心极限定理Central Limit Theorem,Kolmogorov extension theorem, Lebesgue‘s domin

1. Boole’s inequality In probability theory, Boole’s inequality, also known as the union bound, says that for any finite or countable set of events, the probability that at least one of the events happens is no greater than the sum of the probabilities …

秩为 1 的矩阵的一些性质

前言 从上面的分析和例题看到&#xff0c;对于秩为1的n阶矩阵&#xff0c;零是其n重或n-1重特征值&#xff0c;如果是n-1重&#xff0c;则非零特征值是矩阵的主对角线元素之和;另外还看到&#xff0c;秩为1的矩阵可以分解为一个非零列向量与另一个非零列向量的转置的乘积&#…

probability space 概率空间,Filtration,σ-algebras

1. probability space 概率空间 1.1 概率基础 1.2 概率空间 2. Filtration filtration在钱敏平老师和龚光鲁老师的《随机过程论》中直接称其为非降的KaTeX parse error: Undefined control sequence: \sigmma at position 1: \̲s̲i̲g̲m̲m̲a̲代数族。如图。 一般叫σ\…

概率论中PDF、PMF和CDF的区别与联系

在概率论中&#xff0c;经常出现PDF、PMF和CDF&#xff0c;那么这三者有什么区别与联系呢&#xff1f; 1. 概念解释 PDF&#xff1a;概率密度函数&#xff08;probability density function&#xff09;, 在数学中&#xff0c;连续型随机变量的概率密度函数&#xff08;在不至…

随机游走 Random Walk

随机游走&#xff08;英语&#xff1a;Random Walk&#xff0c;缩写为 RW&#xff09;&#xff0c;是一种数学统计模型&#xff0c;它是一连串的轨迹所组成&#xff0c;其中每一次都是随机的。[1][2]它能用来表示不规则的变动形式&#xff0c;如同一个人酒后乱步&#xff0c;所…

wald

1. Wald’s equation Let (Xn)n∈N(X_n)_{n∈ℕ}(Xn​)n∈N​ be a sequence of real-valued, independent and identically distributed (i.i.d.) random variables and let NNN be a nonnegative integer-value random variable that is independent of the sequence (Xn)n∈…

Java 11就在这里,您准备好进行切换了吗?

在应该将Java 9发行版“震撼我们的世界”一年之后&#xff0c;我们实际上一直在等待的LTS版本终于来了 我们知道&#xff0c;大多数开发人员&#xff0c;团队&#xff0c;公司等尚未通过Java 8进行更新。 即使去年发布了模块Java 9&#xff0c;然后在3月又发布了Java 10。 令…

随机变量和的分布—卷积公式distribution convolution的应用

在概率论里面&#xff0c;大家都会碰到一类问题&#xff0c;就是涉及到这样一类题目&#xff1a; 一般来说&#xff0c;这种类型的题目有两种方法来解决&#xff0c;第一种就是二重积分法&#xff1b;第二种就是应用卷积公式。下面我给大家列出了卷积公式&#xff1a; 但是…

Fluent Design单选按钮,复选框,选择框,Java菜单

这次我对JMetro进行了重大更新。 3.8版引入了以下新的Fluent Design &#xff08;FDS&#xff09;启发风格&#xff08;深色和浅色&#xff09;和更新&#xff1a; 新的单选按钮样式&#xff1b; 复选框的新样式&#xff1b; 菜单的新样式&#xff1b; 更新了上下文菜单的样…

stability condition in queueing system

https://www.unf.edu/~cwinton/html/cop4300/s09/class.notes/e1-Stability.pdf

undertow服务器分析_进入Undertow Web服务器

undertow服务器分析随着Java EE 7的到来以及处理诸如Web Sockets API和HTTP升级&#xff08;例如EJB over HTTP&#xff09;之类的高级功能的要求&#xff0c;WildFly开发团队已经做出了重要决定。 在长期致力于JBoss Web服务器&#xff08;Apache Tomcat的一个分支&#xff09…

matlab中的rng函数

一、matlab中的随机函数有&#xff1a;rand、randn 1、rand&#xff08;&#xff09; 功能&#xff1a;生成0-1之间的伪随机数 e.g. rand(3) 生成一个3*3的0-1之间的伪随机数矩阵 2、randn&#xff08;&#xff09; 功能&#xff1a;生成标准正态分布的伪随机数(均值为0&am…

inf sup上下确界与 min, max 的区别

inf 是 infimum 的简称&#xff0c;sup 是 supremum 的简称。 使用 inf 或 sup 总能保证一个函数的 inf 或 sup 存在&#xff0c;而函数的 min 或 max 有时候不存在。 inf 的定义&#xff1a;一个集合最大的下界 下确界&#xff1a;infimum&#xff0c;简写为 inf&#xff08…