引言

在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名。马尔可夫过程是不具备记忆特质的(memorylessness)。换言之,马尔可夫过程的条件概率仅仅与系统的当前状态相关,而与它的过去历史或未来状态,都是独立、不相关的。

概论


马尔可夫模型分成四种:马尔可夫链、隐马尔可夫模型(HMM)、马尔可夫决策过程(MDP)和部分可观测马尔可夫决策过程(POMDP)

最简单的马尔可夫模型是马尔可夫链。它用一个随时间变化的随机变量来模拟系统的状态。在这种情况下,马尔可夫性质表明,这个变量的分布只取决于之前状态的分布。当马尔可夫链的状态只能部分观察到,这就是隐马尔可夫模型。隐马尔可夫模型常用的用途是语音识别,它是大多数现代自动语音识别系统的基础。

马尔可夫决策过程也是马尔可夫链,但其状态转换取决于当前状态和应用于系统的动作向量。通常,使用马尔可夫决策过程来计算行动策略,该行为策略将最大限度地提高与预期奖励相关的某种效用。它与强化学习密切相关,可以用价值迭代法和相关方法解决。

部分可观测马尔可夫决策过程是一个系统的状态只被部分观察到的马尔可夫决策过程,其中系统的状态只被部分观察到。部分可观测马尔可夫决策过程可以用于控制简单代理或机器人。

马尔可夫模型还包括马尔可夫随机场(MRF)和马尔可夫链蒙特卡洛(MCMC)——这两个模型也常常被用于近似和预测—— Tolerant Markov model (TMM)、层级马尔科夫模型(Hierarchical Markov models)、层级隐马尔可夫模型(hierarchicalhiddenMarkov model)等。

一、马尔科夫决策过程

机器学习算法(有监督,无监督,弱监督)中,马尔科夫决策过程是弱监督中的一类叫增强学习。增加学习与传统的有监督和无监督不同的地方是,这些方法都是一次性决定最终结果的,而无法刻画一个决策过程,无法直接定义每一次决策的优劣,也就是说每一次的决策信息都是弱信息,所以某种程度上讲,强化学习也属于弱监督学习。从模型角度来看,也属于马尔科夫模型,其与隐马尔科夫模型有非常强的可比性。

下面是一个常用的马尔科夫模型的划分关系

1.1 马尔科夫决策过程定义



马尔可夫决策过程并不要求 SSS 或者 AAA 是有限的,但基础的算法中假设它们由有限的

状态(state): 智能体在每个步骤中所处于的状态集合
行为(action): 智能体在每个步骤中所能执行的动作集合
转移概率(transition): 智能体处于状态s下,执行动作a后,会转移到状态s’的概率
奖励(reward): 智能体处于状态s下,执行动作a后,转移到状态s’后获得的立即奖励值
策略(policy): 智能体处于状态s下,应该执行动作a的概率

MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。举下棋的例子,当我们在某个局面(状态s)走了一步(动作a),这时对手的选择(导致下个状态s’)我们是不能确定的,但是他的选择只和s和a有关,而不用考虑更早之前的状态和动作,即s’是根据s和a随机生成的。

值得注意的是,在马尔科夫决策过程中,状态集合是离散的,动作集合是离散的,转移概率是已知的,奖励是已知的。在这个条件下的学习称之为有模型学习。

1.1.1 MDP的动态过程


1.1.2 策略 π\piπ


a policy π\piπ is a distribution over actionsgiven states
π(a∣s)=P[At=a∣St=s]\pi(a|s)=P[A_t = a | S_t =s]π(a∣s)=P[At​=a∣St​=s]
A policy fully defines the behaviour of an agent

1.1.3 值函数





1.1.4 马尔科夫过程的描述


我们分三种情况来讨论:

  • T=1, greedy case. 这时算法是退化的,拿我们的例子而言,机器人只会考虑下一步动作带来的影响,而不会考虑之后一系列动作带来的影响。但是这个算法却在实际应用中起着重要作用,是很多机器人问题的最优解。因为它计算起来非常简单。它的缺点也很明显,容易陷入局部最优。很明显,此时 γ 的取值不影响结果,只要满足 γ>1 即可。
  • 1<T<∞, finite−horizon case. 此时,一般会取 γ=1. 意思是说每个状态转换的收益权重是一样的。有人会说这种 finite-horizon 的处理方式是最符合实际情况的。但事实上,这种 finite-horizon的情况处理起来比下边提到的infinite-horizon更加复杂。因为我们要求的动作序列是时间的函数。也就是说,即便是从相同的状态开始计算,由于时间参数 T 不同,最后得到的最优动作序列会不同。课本里的原话是, Near the far end of the time horizon, for example, the optimal policy might differ substantially from the optimal choice earlier in time, even under otherwise identical conditions (e.g., same state, same belief). As a result, planning algorithms with finite horizon are forced to maintain different plans for different horizons, which can add undesired complexity.
  • T=∞, infinite−horizon case. 这种情况不会有上边所提到的计算复杂度增加的问题,因为 T 是无穷大的。在这种情况下, γ 的取值很重要,因为它需要保证计算结果是收敛的。假设 RatR_{at}Rat​ 是有界的, |Rat|≤rmaxr_{max}rmax​. 那么我们可以得到

1.2 问题求解

两种求解有限状态MDP具体策略的有效算法。这里,我们只针对MDP是有限状态、有限动作的情况。

1.2.1 策略迭代算法



1.2.2 值迭代算法



1.3 实例

1.3.1 策略迭代实例


使用马尔科夫决策过程策略迭代算法进行计算,具体过程详见,

https://github.com/persistforever/ReinforcementLearning/tree/master/carrental

1.3.2 值迭代实例

赌徒问题 :一个赌徒抛硬币下赌注,如果硬币正面朝上,他本局将赢得和下注数量相同的钱,如果硬币背面朝上,他本局将输掉下注的钱,当他输光所有的赌资或者赢得$100则停止赌博,硬币正面朝上的概率为p。赌博过程是一个无折扣的有限的马尔科夫决策问题。

使用马尔科夫决策过程值迭代算法进行计算,具体过程详见,
https://github.com/persistforever/ReinforcementLearning/tree/master/gambler

1.4 MDP中的参数估计



1.4.1 Policies策略

1.4.2 Policy based Value Function基于策略的价值函数

1.4.3 Bellman Expectation Equation贝尔曼期望方程



1.4.4 Optimal Value Function最优价值函数

1.4.5 Theorem of MDP定理

1.4.6 Finding an Optimal Policy寻找最优策略

1.4.7 Bellman Optimality Equation贝尔曼最优方程


1.4.7.1 Solving the Bellman Optimality Equation求解贝尔曼最优方程

贝尔曼最优方程是非线性的,通常而言没有固定的解法,有很多著名的迭代解法:

  • Value Iteration 价值迭代
  • Policy Iteration 策略迭代
  • Q-learning
  • Sarsa

这个可以大家之后去多了解了解。

1.5 最优决策

也许上面的目标函数还不清晰,如何求解最有决策,如何最大化累积回报

下面结合例子来介绍如何求解上面的目标函数。且说明累积回报函数本身就是一个过程的累积回报,回报函数才是每一步的回报。

下面再来看求解上述最优问题,其中 就是以s为初始状态沿着决策函数走到结束状态的累积回报。

1.6 值迭代

1.7 策略迭代

值迭代是使累积回报值最优为目标进行迭代,而策略迭代是借助累积回报最优即策略最优的等价性,进行策略迭代。

1.8 MDP中的参数估计

回过头来再来看前面的马尔科夫决策过程的定义是一个五元组,一般情况下,五元组应该是我们更加特定的问题建立马尔科夫决策模型时该确定的,并在此基础上来求解最优决策。所以在求解最优决策之前,我们还需更加实际问题建立马尔科夫模型,建模过程就是确定五元组的过程,其中我们仅考虑状态转移概率,那么也就是一个参数估计过程。(其他参数一般都好确定,或设定)。

假设,在时间过程中,我们有下面的状态转移路径:

二、连续时间马尔科夫过程

2.1 连续时间马尔科夫链的一般定义


和起始时间t无关的话,我们称这是时间齐次的马尔科夫链。这个转移矩阵和离散时间不同的是,离散时间给出的是一步转移概率,但是连续马尔科夫链的转移概率给出的是和时间相关的。

2.2 连续时间马尔科夫链的另一类定义

我们考虑连续时间马尔科夫链从一个状态 i开始,到状态发生变化,比如变成j所经过的时间,由于马尔科夫链的马尔科夫性,这个时间是具有无记忆性的,所以这个时间是服从指数分布的。这和离散时间马尔科夫链是密切相关的,离散时间马尔科夫链中的时间是离散时间,因为由无记忆性,所以是服从几何分布的。
这样我们就可以这样定义连续时间马尔科夫链。马尔科夫链是这样的一个过程。

  • (i)在转移到不同的状态 iii前,它处于这个状态的时间是速率为viv_ivi​的指数分布。
  • (ii)当离开状态 iii时,以某种概率PijP_{ij}Pij​进入下一个状态jjj,当然PijP_{ij}Pij​满足

对比于半马尔科夫链,我们可以发现,连续时间马尔科夫链是一种特殊的半马尔科夫链,在一个状态所待的时间是只不过是一个具体的分布–指数分布,而半马尔科夫链只是说所待的时间是任意的一个随机时间。

2.3 生灭过程

2.4 连续时间马尔科夫链的两个定义(2.1和2.2)之间的关系



接下来,我们举个例子来说明马尔科夫链的极限分布的应用



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



2.5 最优决策

也许上面的目标函数还不清晰,如何求解最优决策,如何最大化累积回报

下面结合例子来介绍如何求解上面的目标函数。且说明累积回报函数本身就是一个过程的累积回报,回报函数才是每一步的回报。

下面再来看求解上述最优问题,其中 就是以s为初始状态沿着决策函数走到结束状态的累积回报。

2.5.1 值迭代

2.5.2 策略迭代

值迭代是使累积回报值最优为目标进行迭代,而策略迭代是借助累积回报最优即策略最优的等价性,进行策略迭代。

2.6 MDP中的参数估计

回过头来再来看前面的马尔科夫决策过程的定义是一个五元组,一般情况下,五元组应该是我们更加特定的问题建立马尔科夫决策模型时该确定的,并在此基础上来求解最优决策。所以在求解最优决策之前,我们还需更加实际问题建立马尔科夫模型,建模过程就是确定五元组的过程,其中我们仅考虑状态转移概率,那么也就是一个参数估计过程。(其他参数一般都好确定,或设定)。

假设,在时间过程中,我们有下面的状态转移路径:

2.7 转移速率

连续时间马尔科夫链的假设

  • 当前状态i到下一个转移的时间服从参数viv_ivi​的指数分布,且独立于之前的历史过程和下一个状态
  • 当前状态i以概率pijp_{ij}pij​到达下一个状态j,而且独立于之前的历史过程和下一个状态

三、马尔可夫链

3.1 一些定义

3.2 C-K方程

查普曼-柯尔莫格洛夫方程(Chapman-Kolmogorov equation,C-K equation)给出了计算 [公式] 步转移概率的一个方法:

3.3 状态的分类



命题得证。

很显然,暂态也是一个类性质。而利用上述性质可以得到:有限马尔可夫链的所有状态不可能都是暂态,有限不可约马尔可夫链的所有状态都是常返态。

3.4 长程性质和极限概率



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

马尔可夫决策过程为决策者在随机环境下做出决策提供了数学架构模型,为动态规划与强化学习的最优化问题提供了有效的数学工具,广泛用于机器人学、自动化控制、经济学、以及工业界等领域。当我们提及马尔可夫决策过程时,我们一般特指其在离散时间中的随机控制过程:即对于每个时间节点,当该过程处于某状态(s)时,决策者可采取在该状态下被允许的任意决策(a),此后下一步系统状态将随机产生,同时回馈给决策者相应的期望值

,该状态转移具有马尔可夫性质。


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

四、马尔可夫过程

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

五、Markov Reward Process马尔可夫奖励过程

5.1 MRP

简单来说,马尔可夫奖励过程就是含有奖励的马尔可夫链,要想理解MRP方程的含义,我们就得弄清楚奖励函数的由来,我们可以把奖励表述为进入某一状态后收获的奖励。奖励函数如下所示:

5.2 Return回报

5.3 Value Function价值函数

5.4 Bellman Equation贝尔曼方程

六、广义马尔科夫模型

广义马尔科夫模型 (generalized Markov model) 指的是连续时间上的随机过程,在一系列时间点0≤S1≤S2≤≤...0 \leq S_1 \leq S_2 \leq \leq ...0≤S1​≤S2​≤≤...上满足Markov特性。

6.1 Markov renewal process

In probability and statistics, a Markov renewal process (MRP) is a random process that generalizes the notion of Markov jump processes. Other random processes like Markov chains, Poisson processes and renewal processes can be derived as special cases of MRP’s.

Consider a state space S\mathrm{S}S. Consider a set of random variables (Xn,Tn)(X_{n},T_{n})(Xn​,Tn​), where TnT_{n}Tn​ are the jump times and $X_{n} $are the associated states in the Markov chain (see Figure above). Let the inter-arrival time, τn=Tn−Tn−1\tau_n=T_n-T_{n-1}τn​=Tn​−Tn−1​. Then the sequence (Xn,Tn)(X_n,T_n)(Xn​,Tn​) is called a Markov renewal process if

What is Markov Modulated Poisson Process (MMPP)
1.A process, belonging to the class of markov renewal processes, where arrivals occur according to a statedependent poisson process with different rates governed by a continuous-time markov chain.

https://mp.weixin.qq.com/s?__biz=Mzg3OTAyMjcyMw==&mid=2247485738&idx=1&sn=f31a646d6cee548fd99525d2c798fdf4&chksm=cf0b8ec6f87c07d05960be03b64eddbce47426bc6ccaef7a97c49c2ff5f23c07a940e2b557cf&token=1326040548&lang=zh_CN#rd
https://zhuanlan.zhihu.com/p/149765762
http://xtf615.com/2017/07/15/RL/
https://zhuanlan.zhihu.com/p/271221558
https://zhuanlan.zhihu.com/p/148932940

马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)相关推荐

  1. 【深度强化学习】马尔可夫决策过程(Markov Decision Process, MDP)

    1. Markov Process 我们一步一步来讲解 Markov Decision Process.按顺序,从 Markov Process 到 Markov Reward Process,再到 ...

  2. 马尔可夫决策过程(Markov Decision Process, MDP)

    马尔可夫决策过程(Markov Decision Processes,MDPs) MDPs 简单说就是一个智能体(Agent)采取行动(Action)从而改变自己的状态(State)获得奖励(Rewa ...

  3. 增强学习(二)----- 马尔可夫决策过程MDP

    1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM).它们具有的一个共同性质就是 ...

  4. MDP马尔可夫决策过程(二)

    增强学习(二)----- 马尔可夫决策过程MDP 1. 马尔可夫模型的几类子模型 大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov ...

  5. 马尔可夫决策过程-强化学习学习笔记(二)

    概念引入 强化学习的通俗理解 马尔可夫的通俗介绍 简介 马尔可夫决策过程 (Markov Decision Processes, MDPs)是对强化学习问题的数学描述. 马尔可夫决策过程(Markov ...

  6. 如何理解马尔可夫决策过程?

    1 引言 马尔可夫性:无后效性,指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关: 马尔可夫链(Markov Chain, MC):系统的下一个状态只与当前状态相关: 马尔可夫决策过程(M ...

  7. 第二章 马尔可夫决策过程及表格型方法

    马尔可夫决策过程. 在介绍马尔可夫决策过程之前,先介绍它的简化版本:马尔可夫链以及马尔可夫奖励过程,通过跟这两种过程的比较,我们可以更生动地理解马尔可夫决策过程. 第二部分会介绍马尔可夫决策过程中的 ...

  8. 二、马尔可夫决策过程与贝尔曼方程

    这里写目录标题 1 马尔可夫性质 2 马尔可夫过程 3 马尔可夫奖励过程(Markov reward process, MRP) 3.1 MRP的贝尔曼方程 3.2 MRP的贝尔曼方程求解方法 3.3 ...

  9. 深度强化学习笔记(二)马尔可夫决策过程

    地址:https://datawhalechina.github.io/easy-rl/ 马尔可夫决策过程 上图介绍了在强化学习里面 agent 跟 environment 之间的交互,agent 在 ...

最新文章

  1. 九、将cs文件快速的转换成可执行文件和响应文件(配置编译开关的文件)
  2. PC软件/web网站/小程序/手机APP产品如何增加个人收款接口
  3. Linux 有趣命令
  4. python傅里叶变换例子
  5. 成功解决The scripts freeze_graph.exe, saved_model_cli.exe, tensorboard.exe, tflite_convert.exe, toco.exe
  6. 深入探究.Net Core Configuration读取配置的优先级
  7. ubuntu不锁屏设置
  8. linux 误删除mysql表能恢复吗_linux rm误删除数据库文件的恢复方法
  9. java final resource_java 中的常量定义,final 的问题
  10. .NET反编译工具Reflector及插件Reflector.FileDisassembler.dll
  11. 月薪 1 万和 10 万的人,到底差在哪儿?
  12. jdbc批量执行SQL insert 操作
  13. 2021河北计算机专接本考试复习资料
  14. 2022-2027年中国智能硬件行业市场深度分析及发展战略规划报告
  15. dd 命令用来测试硬盘及网络带宽读写速度
  16. python游戏开发keydown_pygame.KEYDOWN移动对象
  17. 手把手教你使用R语言做出SCI论文中的表二(单因素分析表)(3)
  18. 喜马拉雅如何正序播放
  19. 重装解决一切 Linux:unknown filesystem
  20. input_dim、input_length的理解

热门文章

  1. 使用Spring Roo进行概念验证
  2. 每个Java开发人员应拥有的持久断点
  3. Hibernate继承:每个类层次结构的表
  4. 等待正确的时刻–集成测试
  5. 使用Hibernate 4,JPA和Maven的架构创建脚本
  6. 天津计算机中级职称需要什么,天津市中级职称评定条件是什么
  7. hpux oracle9,oracle 9.2.0.8在HP-UX 11.31 下的安装步骤和注意事项
  8. mysql函数和索引冲突问题_Mysql索引常见问题汇总
  9. C 语言精髓之变参函数
  10. php system 执行失败,PHP 执行 system、exec 等函数发生错误