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

1. 马尔可夫模型的几类子模型

大家应该还记得马尔科夫链(Markov Chain),了解机器学习的也都知道隐马尔可夫模型(Hidden Markov Model,HMM)。它们具有的一个共同性质就是马尔可夫性(无后效性),也就是指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关。

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

我们用一个二维表格表示一下,各种马尔可夫子模型的关系就很清楚了:

  不考虑动作 考虑动作
状态完全可见 马尔科夫链(MC) 马尔可夫决策过程(MDP)
状态不完全可见 隐马尔可夫模型(HMM) 不完全可观察马尔可夫决策过程(POMDP)

2. 马尔可夫决策过程

一个马尔可夫决策过程由一个四元组构成M = (S, A, Psa, ?) [注1]

  • S: 表示状态集(states),有s∈S,si表示第i步的状态。
  • A:表示一组动作(actions),有a∈A,ai表示第i步的动作。
  • ?sa: 表示状态转移概率。?s? 表示的是在当前s ∈ S状态下,经过a ∈ A作用后,会转移到的其他状态的概率分布情况。比如,在状态s下执行动作a,转移到s'的概率可以表示为p(s'|s,a)。
  • R: S×A⟼ℝ ,R是回报函数(reward function)。有些回报函数状态S的函数,可以简化为R: S⟼ℝ。如果一组(s,a)转移到了下个状态s',那么回报函数可记为r(s'|s, a)。如果(s,a)对应的下个状态s'是唯一的,那么回报函数也可以记为r(s,a)。

MDP 的动态过程如下:某个智能体(agent)的初始状态为s0,然后从 A 中挑选一个动作a0执行,执行后,agent 按Psa概率随机转移到了下一个s1状态,s1∈ Ps0a0。然后再执行一个动作a1,就转移到了s2,接下来再执行a2…,我们可以用下面的图表示状态转移的过程。

如果回报r是根据状态s和动作a得到的,则MDP还可以表示成下图:

3. 值函数(value function)

上篇我们提到增强学习学到的是一个从环境状态到动作的映射(即行为策略),记为策略π: S→A。而增强学习往往又具有延迟回报的特点: 如果在第n步输掉了棋,那么只有状态sn和动作an获得了立即回报r(sn,an)=-1,前面的所有状态立即回报均为0。所以对于之前的任意状态s和动作a,立即回报函数r(s,a)无法说明策略的好坏。因而需要定义值函数(value function,又叫效用函数)来表明当前状态下策略π的长期影响。

用Vπ(s)表示策略π下,状态s的值函数。ri表示未来第i步的立即回报,常见的值函数有以下三种:

a)

b)

c)

其中:

a)是采用策略π的情况下未来有限h步的期望立即回报总和;

b)是采用策略π的情况下期望的平均回报;

c)是值函数最常见的形式,式中γ∈[0,1]称为折合因子,表明了未来的回报相对于当前回报的重要程度。特别的,γ=0时,相当于只考虑立即不考虑长期回报,γ=1时,将长期回报和立即回报看得同等重要。接下来我们只讨论第三种形式,

现在将值函数的第三种形式展开,其中ri表示未来第i步回报,s'表示下一步状态,则有:

给定策略π和初始状态s,则动作a=π(s),下个时刻将以概率p(s'|s,a)转向下个状态s',那么上式的期望可以拆开,可以重写为:

上面提到的值函数称为状态值函数(state value function),需要注意的是,在Vπ(s)中,π和初始状态s是我们给定的,而初始动作a是由策略π和状态s决定的,即a=π(s)。

定义动作值函数(action value functionQ函数)如下:

给定当前状态s和当前动作a,在未来遵循策略π,那么系统将以概率p(s'|s,a)转向下个状态s',上式可以重写为:

在Qπ(s,a)中,不仅策略π和初始状态s是我们给定的,当前的动作a也是我们给定的,这是Qπ(s,a)和Vπ(a)的主要区别。

知道值函数的概念后,一个MDP的最优策略可以由下式表示:

即我们寻找的是在任意初始条件s下,能够最大化值函数的策略π*。

4. 值函数与Q函数计算的例子

上面的概念可能描述得不够清晰,接下来我们实际计算一下,如图所示是一个格子世界,我们假设agent从左下角的start点出发,右上角为目标位置,称为吸收状态(Absorbing state),对于进入吸收态的动作,我们给予立即回报100,对其他动作则给予0回报,折合因子γ的值我们选择0.9。

为了方便描述,记第i行,第j列的状态为sij, 在每个状态,有四种上下左右四种可选的动作,分别记为au,ad,al,ar。(up,down,left,right首字母),并认为状态按动作a选择的方向转移的概率为1。

1.由于状态转移概率是1,每组(s,a)对应了唯一的s'。回报函数r(s'|s,a)可以简记为r(s,a)

如下所示,每个格子代表一个状态s,箭头则代表动作a,旁边的数字代表立即回报,可以看到只有进入目标位置的动作获得了回报100,其他动作都获得了0回报。 即r(s12,ar) = r(s23,au) =100。

2. 一个策略π如图所示:

3. 值函数Vπ(s)如下所示

根据Vπ的表达式,立即回报,和策略π,有

Vπ(s12) = r(s12,ar) = r(s13|s12,ar) = 100

Vπ(s11)= r(s11,ar)+γ*Vπ(s12) = 0+0.9*100 = 90

Vπ(s23) = r(s23,au) = 100

Vπ(s22)= r(s22,ar)+γ*Vπ(s23) = 90

Vπ(s21)= r(s21,ar)+γ*Vπ(s22) = 81

4. Q(s,a)值如下所示

有了策略π和立即回报函数r(s,a), Qπ(s,a)如何得到的呢?

对s11计算Q函数(用到了上面Vπ的结果)如下:

Qπ(s11,ar)=r(s11,ar)+ γ *Vπ(s12)  =0+0.9*100 = 90

Qπ(s11,ad)=r(s11,ad)+ γ *Vπ(s21)  = 72

至此我们了解了马尔可夫决策过程的基本概念,知道了增强学习的目标(获得任意初始条件下,使Vπ值最大的策略π*),下一篇开始介绍求解最优策略的方法。

PS:发现写东西还是蛮辛苦的,希望对大家有帮助。另外自己也比较菜,没写对的地方欢迎指出~~

[注]采用折合因子作为值函数的MDP也可以定义为五元组M=(S, A, P, γ, R)。也有的书上把值函数作为一个因子定义五元组。还有定义为三元组的,不过MDP的基本组成元素是不变的。

参考资料:

[1] R.Sutton et al. Reinforcement learning: An introduction , 1998

[2] T.Mitchell. 《机器学习》,2003

[3] 金卓军,逆向增强学习和示教学习算法研究及其在智能机器人中的应用[D],2011

[4] Oliver Sigaud et al,Markov Decision Process in Artificial Intelligence[M], 2010

MDP马尔可夫决策过程(二)相关推荐

  1. mdp框架_强化学习-MDP(马尔可夫决策过程)算法原理

    1. 前言 前面的强化学习基础知识介绍了强化学习中的一些基本元素和整体概念.今天讲解强化学习里面最最基础的MDP(马尔可夫决策过程). 2. MDP定义 MDP是当前强化学习理论推导的基石,通过这套框 ...

  2. 【学习笔记】传说中的马尔可夫决策过程(MDP)和贝尔曼方程(Bellman Equation)

    最近读了几篇paper,都着重涉及到了强化学习,都点到了马尔可夫决策过程(Markov Decision Process) 和贝尔曼方程或者叫贝尔曼等式(Bellman Equation),捧着似懂非 ...

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

    马尔可夫决策过程 一.马尔可夫过程(MP) 二.马尔可夫奖励过程(MRP) 三.马尔可夫决策过程(MDP) 四.价值函数的求解方法 1.蒙特卡罗法 2.动态规划法 3.时序差分学习 五.MDP的两个核 ...

  4. 人工智能必备数学知识· 学习笔记 ·002【马尓可夫链,马尓可夫链奖励过程,马尔可夫决策过程】

    注:笔记 来自课程 人工智能必备数学知识 Tips①:只是记录从这个课程学到的东西,不是推广.没有安利 Tips②:本笔记主要目的是为了方便自己遗忘查阅,或过于冗长.或有所缺省.或杂乱无章,见谅 Ti ...

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

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

  6. 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)

    引言 在概率论及统计学中,马尔可夫过程(英语:Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名.马尔可夫过程是不具备记忆特质的(memoryless ...

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

    目录 智能体与环境 马尔科夫决策过程 智能体与环境 强化学习问题不同于传统机器学习问题,它是一种在交互的过程中学习并实现目标的问题.这里把具有学习能力和决策能力的程序或系统称之为Agent(代理,智能 ...

  8. 机器学习——马尔可夫模型及马尔可夫决策过程(MDP)

    一.马尔可夫模型 1. 马尔可夫链 设表示随机变量X在离散时间t时刻的取值.若该变量随时间变化的转移概率仅依赖于它的当前值,即: 也就是时候状态转移概率指依赖于前一个状态,称这个变量为马尔可夫变量,其 ...

  9. 论文学习「MDP」:马尔可夫决策过程原理与代码实现

    最近在学习 RL ,不得不先接触一下" 马尔可夫决策过程 ",这里找到了 David Silver 的课程: UCL Course on RL (http://www0.cs.uc ...

最新文章

  1. 修复mysql编码错乱的数据_关于MySQL数据库编码修复相关问题
  2. HTML在表格右边增加一个表格,如何在表格右侧增加一列
  3. [yc]详解link
  4. 封装一个帮助类来写文件到android外置存储器上
  5. JavaScript中清空数组的三种方式
  6. 2 Linux基本命令复习2
  7. Builder模式——自由扩展你的项目
  8. 中国虾养殖和捕捞现状分析,养殖产量成上升趋势「图」
  9. 使用VMWARE(VMware8)安装Mac OSX 雪豹操作系统
  10. 为Windows 10 UWP 应用设置代理
  11. 天龙mysql_天龙八部游戏数据库mysql安装.doc
  12. WiFi,你真的还安全吗?
  13. 如何判断linux使用的是HDD还是SSD、HHD;磁盘阵列RAID
  14. 269 t101 对称二叉树
  15. 大数据之Hive函数及案例
  16. Springboot使用Specification连表多条件查询(完整demo)
  17. 借钱容易要债难?Python新功能,专治借钱不还
  18. 一副让李宇春最尴尬的计划生育广告宣传画!
  19. vue-devtools的安装与使用
  20. HTML5:让Web应用跟上多媒体时代,互联网营销

热门文章

  1. 错误1053服务没有及时_怎样保护服务器的安全?
  2. 【英语学习】【WOTD】palimpsest 释义/词源/示例
  3. 利用python开发app实战
  4. UE4 FBX静态网格物体通道
  5. Unreal4 IOS上使用第三方库和C++11 特性问题解决
  6. Java网络编程----基础
  7. js获取页面传来参数的方法
  8. 收集系统性能数据并通过gnuplot绘图
  9. 我为什么用 SQLite 和 FMDB 而不用 Core Data
  10. 10天学安卓-第七天