马尔科夫决策过程(MDP)

近期在接触强化学习的项目,在这里对学习的知识 进行记录,希望可以持续下去介绍强化学习的相关知识。本人也是刚开始接触强化学习,所以有什么不对的地方,欢迎大家指正。
概念
  马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。
  马尔科夫决策过程具有马尔可夫性(无后效性,及系统的下个状态只与当前状态信息有关,与更早的状态无关),但不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。
马尔科夫决策要求:
  1. 能够检测到理想的状态。
  2. 可以多次尝试(死了重来、输了重来等)。
  3. 系统的下个状态只与当前状态信息有关,而与更早之前的状态无关。在决策过程中还和当前采取的动作有关。
定义
马尔科夫决策过程可以用一个五元组(S, A, P(:,:), R(:,:), γ)来描述,其中:
  • S是一组有限的状态集(state);
  • A是一组有限的动作集(action);
  • Pa(s,s')=Pr(St+1=s'|St=s,at=a)表示在时间 t 状态 s 采取动作 a 可以在时间 t+1 转换到状态 s' 的概率;
  • Ra(s,s')表示通过动作 a ,状态 s 转换到 s' 所带来的及时收益或回报(reword);
  •  γ 是折扣因子,表示未来收益和当前收益之前的差别,意味着当下的 reward 比未来反馈的 reward 更重要。
    马尔可夫决策过程并不要求 S 或者 A 是有限的,但基础的算法中假设它们是有限的。
    通俗的来讲:
     明天是打游戏还是学习?如果打游戏会挨打,学习会奖励小红花。挨了打会难受,得了小红花会高兴。
    在这个过程中,你相当于一个agent,你的action有两个,打游戏或学习,每个action的及时回报(reword)分别是挨打和小红花,选择打游戏之后你的状态改变为难受,选择学习后你的状态改变为高兴。那么长期的奖励就是选择学习则能考上大学,打游戏就考不上大学(这其实是一个持续的过程,暂时这么理解),你要做的就是让自己获得的奖励最大化(为了考上大学,所以就得少打游戏多学习~)。
MDP的动态过程如下:智能体(agent)初始状态 S0,然后从A中挑选一个动作a0执行,agent按照概率 Pa 随机转移到下一个状态S1,然后再执行动作a1,就转移到了S2,以此类推,可以用下图表示状态转移过程:

描述
那么,如何让自己的奖励最大化呢?在这个问题中就是如何让自己尽可能考上大学,就需要做一个决策(policy),这个决策的目的就是能够让agent尽可能的得到最大化奖励。
这就引出来,MDP的关键目的就在于寻找一个最好的策略(一般用 π表示):对每个 状态s,选择一个动作a,组成π中的一个<s,a> 。这个策略可以累积化最大收益R(T),这里T代表了整个过程持续的时间。
  
你可能会想这不是按照时间序列一步步来的吗?怎么就选择最优的策略呢?
其实马尔科夫决策过程就是一个与时间序列有关的过程,除非到达最终状态停止(比如考上大学,或赢了一盘棋),不然每一次动作的执行,都会作为一个新的样本加入到训练数据中,为当前状态选择最优策略,且每一次动作的执行不能更改(落子无悔)。到达终止状态后,就再重新开始呗,不管输赢,就当积累经验了。 
一般情况下都会根据一定数量的数据集先进行训练,而不是直接拿过来就开始选择的。比如 AlphaGo,都是提前和大师以及和自己训练很多次下棋之后,摸清了规律,发现赢下一盘棋的最优的策略,才能在与世界围棋冠军下的时候不害怕,每一步都根据当前状态找最好的落子。
总结
马尔科夫决策过程就是一个状态-动作的选择的过程。
这一篇文章主要讲了马尔科夫决策过程具体的内容,并没有给出怎么计算,下一次我们将讨论策略到底是什么、如何确定策略的好与坏以及如何确定最优策略,我们将会涉及到折扣因子 γ
以上就是本篇内容,第一次写篇幅较小,望各位道友多多指教。

马尔科夫决策过程(Markov Decision Process)相关推荐

  1. 【机器学习】强化学习:马尔科夫决策过程(Markov decision process)

    本章是强化学习的基础,主要讲的就是马尔科夫决策过程,以后的内容都是以这一节为基础的,所以对本节的相关概念的理解是很重要的. 这一节的概念比较多,也是后面章节的基础,一开始笔者也是一头雾水,只有多看几遍 ...

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

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

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

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

  4. 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程

    写在前面的话:从今日起,我会边跟着硅谷大牛Siraj的MOVE 37系列课程学习Reinforcement Learning(强化学习算法),边更新这个系列.课程包含视频和文字,课堂笔记会按视频为单位 ...

  5. 强化学习(一)---马尔科夫决策过程

    目录 先大致了解工智能,机器学习,深度学习之间的联系与区别 主学习网址 莫烦python网址 [David Silver强化学习公开课中文讲解及实践](https://zhuanlan.zhihu.c ...

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

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

  7. 马尔科夫决策 matlab,马尔科夫决策过程的matlab编程实现

    [实例简介] 马尔科夫决策过程的matlab编程实现 [实例截图] [核心代码] 马尔科夫决策过程的matlab编程实现 └── 马尔科夫决策过程的matlab编程实现 ├── Markov Deci ...

  8. 马科夫过程(MP) -> 马尔科夫奖励过程(MRP) -> 马尔科夫决策过程(MDP)

    一 .马尔可夫性 - 只与当前状态有关 马尔科夫性,当前状态包含了对未来预测所需要的有用信息,过去信息对未来预测不重要,该就满足了马尔科夫性,严格来说,就是某一状态信息包含了所有相关的历史,只要当前状 ...

  9. 强化学习系列(三):马尔科夫决策过程

    一.前言 第二章中我们提到了多臂老 虎 ji问题,该问题只有一个state,需要选择一个action,不需要考虑在不同state下选择action的问题--(associative problem), ...

最新文章

  1. IEs 4 Linux 新版支撑 IE 7
  2. EIGRP的路由汇总与认证
  3. Windows Phone 7.1 Sensor プログラミング基礎
  4. 嵌入式设备串口命名的地方
  5. wxWidgets:wxTimePickerCtrl类用法
  6. 关于百度地图 BMap.InfoWindow 只显示最后一条信息解决方法
  7. Chrome DevTools — Network
  8. 一个基本c语言注释用什么字符,C语言的词法规则京鸿智武 今天提纲:本文主要介绍了C语言中...
  9. mysql安装教程8.0.22_mysql 8.0.22 安装配置方法图文教程
  10. win10无法开启夜间模式
  11. 第三节:ES6中另一个不得不说的关键字const
  12. 单片机c语言编程300例,51单片机C语言实例(350例)Proteus仿真和代码
  13. MySQL随机排序的正确姿势
  14. 大疆无人机实现目标定位
  15. python绘制简单彩虹图_python绘制简单彩虹图
  16. 联合循环——16(电缆终端接地总结)
  17. idea连接linux中mysql[08S01]错误
  18. openoffice java linux 安装_linux环境下安装 openOffice 并启动服务 的方法
  19. 如何在C语言中添加自己的函数
  20. 星环科技TDS 2.4.0 发布: 数据开发、数据治理、数据运营套件能力再次升级

热门文章

  1. CGroup的原理和使用
  2. Android APP开发框架选择——JSBridge既个人心得和技巧
  3. 用c语言编写kcl方程,求助各位大手子 求了好多次都不对 用kvl kcl求出电容c
  4. MFC中CFile读取中文乱码
  5. 怎样提取音频制作手机铃声
  6. gsoc 任务_gsoc20第3集从谱线中识别元素
  7. 面试中常见的数据结构
  8. IOS手机ssh连接linux好用工具
  9. 2019 My excel
  10. excel实现自动排序