1. 强化学习引入MDP的原因

强化学习的环境的状态转化模型,它可以表示为一个概率模型,即在状态下采取动作a,转到下一个状态s′的概率,表示为

如果按照真实的环境转化过程看,转化到下一个状态s′的概率既与上一个状态s有关,还与上上个状态,以及上上上个状态有关。这一会导致我们的环境转化模型非常复杂,复杂到难以建模。因此我们需要对强化学习的环境转化模型进行简化。简化的方法就是假设状态转化的马尔科夫性,也就是假设转化到下一个状态s′的概率仅与上一个状态s有关,与之前的状态无关。用公式表示就是:

除了对于环境的状态转化模型这个因素做马尔科夫假设外,我们还对强化学习第四个要素个体的策略(policy)π也做了马尔科夫假设。即在状态s时采取动作a的概率仅与当前状态s有关,与其他的要素无关。用公式表示就是

对于第五个要素,价值函数也是一样, 现在仅仅依赖于当前状态了,那么现在价值函数表示为:

其中,代表收获(return), 是一个MDP中从某一个状态开始采样直到终止状态时所有奖励的有衰减的之和。

2. MDP的价值函数与贝尔曼方程

对于MDP,我们在第一节里已经讲到了它的价值函数的表达式。但是这个表达式没有考虑到所采用的动作带来的价值影响,因此我们除了这个状态价值函数外,还有一个动作价值函数,即

根据价值函数的表达式,我们可以推导出价值函数基于状态的递推关系,比如对于状态价值函数,可以发现:

也就是说,在时刻的状态时刻的状态是满足递推关系的,即:

这个递推式子我们一般将它叫做贝尔曼方程。这个式子告诉我们,一个状态的价值由该状态的奖励以及后续状态价值按一定的衰减比例联合组成。

同样的方法,我们可以得到动作价值函数的贝尔曼方程:

3. 状态价值函数与动作价值函数的递推关系

根据动作价值函数和状态价值函数的定义,我们很容易得到他们之间的转化关系公式:

也就是说,状态价值函数是所有动作价值函数基于策略π的期望。通俗说就是某状态下所有状态动作价值乘以该动作出现的概率,最后求和,就得到了对应的状态价值。

反过来,利用上贝尔曼方程,我们也很容易从状态价值函数表示动作价值函数,即:

通俗说就是状态动作价值有两部分相加组成,第一部分是即时奖励,第二部分是环境所有可能出现的下一个状态的概率乘以该下一状态的状态价值,最后求和,并加上衰减。

这两个转化过程也可以从下图中直观的看出:

 把上面两个式子互相结合起来,我们可以得到:

4. 最优价值函数

解决强化学习问题意味着要寻找一个最优的策略让个体在与环境交互过程中获得始终比其它策略都要多的收获,这个最优策略我们可以用 表示。一旦找到这个最优策略,那么我们就解决了这个强化学习问题。一般来说,比较难去找到一个最优策略,但是可以通过比较若干不同策略的优劣来确定一个较好的策略,也就是局部最优解。

如何比较策略的优劣呢?一般是通过对应的价值函数来比较的,也就是说,寻找较优策略可以通过寻找较优的价值函数来完成。可以定义最优状态价值函数是所有策略下产生的众多状态价值函数中的最大者,即:

同理也可以定义最优动作价值函数是所有策略下产生的众多动作状态价值函数中的最大者,即:

对于最优的策略,基于动作价值函数我们可以定义为:

只要我们找到了最大的状态价值函数或者动作价值函数,那么对应的策略就是我们强化学习问题的解。同时,利用状态价值函数和动作价值函数之间的关系,我们也可以得到:

反过来的最优价值函数关系也很容易得到:

利用上面的两个式子也可以得到和第三节末尾类似的式子:

5. MDP实例

上面的公式有点多,需要一些时间慢慢消化,这里给出一个UCL讲义上实际的例子,首先看看具体我们如何利用给定策略来计算价值函数。

例子是一个学生学习考试的MDP。里面左下那个圆圈位置是起点,方框那个位置是终点。上面的动作有study, pub, facebook, quit, sleep,每个状态动作对应的即时奖励R已经标出来了。我们的目标是找到最优的动作价值函数或者状态价值函数,进而找出最优的策略。

为了方便,我们假设衰减因子γ=1,=0.5。

对于终点方框位置,由于其没有下一个状态,也没有当前状态的动作,因此其状态价值函数为0。对于其余四个状态,我们依次定义其价值为v1,v2,v3,v4,分别对应左上,左下,中下,右下位置的圆圈。

我们基于

计算所有的状态价值函数。可以列出一个方程组。

上面我们固定了策略,虽然求出了每个状态的状态价值函数,但是却并不一定是最优价值函数。那么如何求出最优价值函数呢?这里由于状态机简单,求出最优的状态价值函数或者动作价值函数比较容易。

我们这次以动作价值函数来为例求解。首先终点方框处的好求。

接着我们就可利用

列方程组求出所有的。有了所有的利用就可以求出所有的。最终求出的所有如下图:

从而我们的最优决策路径是走6->6->8->10->结束。 

6. MDP小结

MDP是强化学习入门的关键一步,如果这部分研究的比较清楚,后面的学习就会容易很多。因此值得多些时间在这里。虽然MDP可以直接用方程组来直接求解简单的问题,但是更复杂的问题却没有办法求解,因此我们还需要寻找其他有效的求解强化学习的方法。

强化学习 马尔科夫决策过程(MDP)相关推荐

  1. 强化学习——马尔科夫决策过程 MDP

    马尔可夫决策过程是强化学习里面的一个基本框架. 马尔可夫过程.马尔可夫反馈过程是马尔可夫决策过程的基础,所以本博客将会一并介绍. 文章目录 1. 马尔科夫过程 Markov Process,MP 1. ...

  2. 深度强化学习-马尔科夫决策过程和表格型方法

    深度强化学习-马尔科夫决策过程和表格型方法-笔记(二)_wield_jjz的博客-CSDN博客 深度强化学习2--马尔科夫决策过程(MDP)_谢宜廷的博客-CSDN博客 (零基础可以看懂)强化学习中的 ...

  3. 强化学习note1——马尔科夫奖励过程MRP和马尔科夫决策过程MDP各个函数的定义与区别

    马尔科夫奖励过程MRP 状态转移函数:P(St+1=s′∣st=s)P\left(S_{t+1}=s^{\prime} \mid s_{t}=s\right)P(St+1​=s′∣st​=s) 奖励函 ...

  4. 强化学习(二)马尔科夫决策过程(MDP)

    在强化学习(一)模型基础中,我们讲到了强化学习模型的8个基本要素.但是仅凭这些要素还是无法使用强化学习来帮助我们解决问题的, 在讲到模型训练前,模型的简化也很重要,这一篇主要就是讲如何利用马尔科夫决策 ...

  5. 强化学习——day13 马尔科夫决策过程MDP

    马尔科夫决策过程 简介 马尔可夫过程 随机过程 马尔可夫性质 马尔可夫过程 马尔可夫奖励过程 回报 价值函数 马尔可夫决策过程 策略 状态价值函数 动作价值函数 贝尔曼期望方程 蒙特卡洛方法 占用度量 ...

  6. 马尔科夫决策过程(MDP)

    聊一聊我对强化学习的理解 对应的代码请访问我的GitHub:fxyang-bupt(可能你进去之后发现什么都没有,那是因为我注册了新的账号还在整理,这并不影响你先follow一下我的GitHub~) ...

  7. 强化学习——day11 马尔科夫决策过程MDP

    第 3 章 马尔可夫决策过程 3.1 简介 马尔可夫决策过程(Markov decision process,MDP)是强化学习的重要概念.要学好强化学习,我们首先要掌握马尔可夫决策过程的基础知识.前 ...

  8. 【强化学习入门】马尔科夫决策过程

    本文介绍了马尔可夫决策过程,首先给出了马尔可夫决策过程的定义形式 ,其核心是在时序上的各种状态下如何选择最优决策得到最大回报的决策序列,通过贝尔曼方程得到累积回报函数:然后介绍两种基本的求解最优决策的 ...

  9. 强化学习课程笔记(二)——马尔科夫决策过程和动态规划寻找最优策略

    参考材料 1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048 2.课程对应知乎讲解https://zhuanlan.zhihu.com/re ...

最新文章

  1. 创建节约内存的JavaBean
  2. 钢琴演奏:舒伯特的小夜曲 --- 女儿的钢琴学习
  3. pyecharts第五节、关系图
  4. 闪退的解决方法_王者荣耀2.0不闪退需要什么手机?王者荣耀2.0闪退解决方法
  5. Codeforces Round #723 (Div. 2)
  6. windows 本地搭建git仓库_Windows系统下搭建Git本地代码库
  7. LuaForUnity5:Lua的字符串
  8. 工作几年只会增删改查怎么了,大神们都是从第一行代码开始的!
  9. exchange服务器磁盘性能,Exchange磁盘空间不够了怎么办?
  10. 数据库系统的结构和组成
  11. 计算机二级Python笔记——第一部分
  12. ESX修复Linux虚拟机重启只读模式
  13. java计算机毕业设计共享充电宝管理系统演示录像2021源码+mysql数据库+系统+lw文档+部署
  14. 都说数据是资产,那么到底什么是数据资产?
  15. 最简单的加载器免杀思路
  16. C++之详解coredump
  17. ECharts-Javascript的图表库推荐
  18. 电脑无法识别(读取)U盘
  19. 遇到.dll文件删不掉怎么办?来这里教你一招删掉。(亲自实用)
  20. 诺基亚E50/E61/E61i/E62比较,仅供个人参考

热门文章

  1. 解决H5 audio自动播放无效问题(应用于一切环境的一切浏览器)
  2. 使用 js 将图片进行转Base64转码
  3. 武汉意向岗位(二)——中国农业银行研发中心
  4. [bzoj5020][THUWC 2017]在美妙的数学王国中畅游
  5. 我为什么要写博客,写博客的意义是什么??
  6. linux mp3插件名,Linux 福利:TAL Software 八款插件开始支持 Linux ,其中有两款免费...
  7. gtd android 知乎,(知乎)律师的时间管理能力和GTD.pdf
  8. NVT | NVT 67X IQ移植
  9. php 接入erp系统设计,erp系统对接用友T+系统(PHP版本)
  10. 财路网每日原创推送: 科普:区块链在其他领域的一些应用