马尔可夫决策的要求:

1,能够检测到理想状态:比如我们想让强化学习算法来实现走迷宫,最后这个迷宫一定是可以走出的,倘若迷宫没有出口便不可以套用马尔可夫。

2,可以多次尝试:依然使用走迷宫的例子,我们可以在走迷宫失败的时候进行多次尝试,而不是失败以后就停止。

3,系统的下个状态只和当前状态信息有关,而和之前的更早的状态无关,在决策的过程中还和当前采取的动作有关:马尔可夫的条件是,下一个状态st+1仅仅和st有关而和st-n(n>0)无关,同时还和st状态下的行动at有关。仅仅和st和at是有关的。例如走迷宫这个问题,下一步的状态(位置)仅仅和当前的位置和当前走的方向有关,和其余都是没关系的。

在此解释一下P,R,y的概念:

P:例如当前状态s下,可以经过动作a1到达状态s1,经过动作s2到达状态s2。智能体agent在状态可以执行动作a1也可以执行a2,并且两者各自有自身的概率,而P便是反应这种概率的。p(s1|s,a1)就是反应“在s状态下执行动作a1到达状态s1的概率”,同理“p(s2|s,a2)就是反应”在s状态下执行动作a2到达状态s2的概率”

R:智能体在执行动作后,会得到即时奖励的集合。举例说明:小明现在写作业便会得到一块糖吃,小明现在看电视就会被拿走一块糖,那么两者的即时奖励就是{+1糖,-1糖}

y:衰减系数γ,系数γ是一个介于0和1之间的数字。反应的是未来的奖励和现在的奖励之间的衰减关系。举例说明,现在10元钱可以买10个鸡蛋,但是未来十元钱可能只能买5个鸡蛋,但是我们无法知道未来的情况,所以我们假设衰减系数γ是0.5。就是用现在的情况来预计未来的情况

马尔可夫过在我理解就是:智能体在状态s0下选择动作a0,到达状态s1;s1下智能体选择a1到达状态s2;以此类推。

在状态s下选择什么动作,我认为是根据p来选择的。

状态价值函数:在t时刻,状态s下所能得到未来回报的期望,用来衡量每一个状态或者动作-状态的优劣。

强化学习的根本目的就是获得最大的累计奖励,而状态价值函数就是用来描述累计奖励的量。

策略:策略其实是一个动作的集合,例如“把大象放进冰箱需要三步:打开冰箱门,把大象放进去,关上冰箱门”这就是一个策略,一个动作的集合。

最优价值函数:其实就是所有的策略中,最高的累积收益。策略有很多,累计收益也各不相同,最优价值函数反应的就是累计收益最高的那个。

贝尔曼方程:将当前的价值分解为当前的即时奖励和下一步的价值。类似于一个迭代的过程,自举的过程。

在贝尔曼方程中,我们要求,状态集合S和动作集合A都是有限的,因为有限的我们可以通过数学方法,计算期望。下面解释一下以上公式中的各个量:

Π:反应的是当前状态s下,所选择各个不同动作a的概率

p:反应的是在当前状态下,选择动作a进入到下一个状态的概率

依旧,贝尔曼方程的含义仍然是:当前的价值等于当前的即时价值,加上下一个状态的价值,但是下一个状态的价值要乘以一个衰减系数γ,因为未来都会存在衰减。

公式第一项就是:所有即时奖励的期望。Π(当前状态s下,所选择各个不同动作a的概率)乘以r(即时奖励)得到的就是即时奖励的期望

公式的第二项就是:下一步价值的期望。p(在当前状态下,选择动作a进入到下一个状态的概率)乘以v(下一个状态的价值)得到的就是下一步价值的期望。

两项加在一起就是当前的价值

通过实例来理解贝尔曼方程:

图中每一个圆形代表一个状态,而方块代表的是终止状态。我们下面用贝尔曼方程计算红色圆形的价值

可见红色圆形可以向上走到达最终状态,也可以向下走到达小圆点状态。我们假设两个动作的概率都是0.5

向上走:即时奖励可见是R+10,但是到达最终状态以后没有下一步状态,所以向上走的价值就是向上走的概率乘以向上走的即时奖励,也就是0.5*10

向下走:即时奖励就是R+1,向下走以后没有到达最终状态,所以我们还要继续看下一步状态。可见走到小圆点以后还有三种状态,其概率分别为0.2,0.4,0.4,他们各自对应的下一步价值分别是-1.3,2.7,7.4。所以向下走的价值便是:概率*即时奖励+概率*下一步的价值

最后的公式就是图中最上面的黑色字体(本例中忽略衰减系数γ)

51cto强化学习(1)马尔可夫与贝尔曼方程学习笔记相关推荐

  1. 隐马尔可夫模型HMM学习备忘

    隐马尔可夫模型HMM学习备忘 目录 隐马尔可夫模型HMM学习备忘 1.马尔可夫模型的理解 2.隐马尔可夫模型 2.1.HHM的组成 2.2.HMM解决的三个基本问题 隐马尔可夫模型示意图如图[1]: ...

  2. 贝尔曼方程动态规划python,【强化学习】马尔科夫决策过程之Bellman Equation(贝尔曼方程)...

    前面总结了马尔科夫决策过程之Markov Processes(马尔科夫过程),见下文:马尔科夫决策过程之Markov Processes(马尔科夫过程) 马尔科夫决策过程之Markov Reward ...

  3. 【强化学习系列】超详细整理实用资料——1 强化学习概述(包含马尔科夫、贝尔曼方程、蒙特卡洛、时间差分法)

    文章目录 前言 强化学习通用工作方式(敲重点!!) 几个重要概念 工作流程 模型通用设计要点(每个模型都需要注重的点) 强化学习适用场景 马尔科夫 马尔可夫链 马尔可夫随机过程 马尔可夫决策过程(敲重 ...

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

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

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

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

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

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

  7. 强化学习(part2)--马尔科夫决策

    学习笔记,仅供参考,有错必纠 文章目录 马尔科夫决策 马尔科夫决策要求 马尔科夫决策过程由5个元素构成 状态转移过程 状态价值函数 最优价值函数 Bellman方程 马尔科夫决策 马尔科夫决策要求 能 ...

  8. 强化学习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) 奖励函 ...

  9. 强化学习之马尔科夫过程与马尔科夫链(附py代码,因为是自己打的,没完成的功能慢慢打)

    1.马尔可夫过程 1.1马尔可夫性或无后效性 马尔可夫过程最显著的特点是:如果在已知目前过程状态的条件下,过程未来的演变不依赖于它以往的演变. 即当随机过程时刻 ti 的状态已知的情况下,过程在t & ...

最新文章

  1. ASP.NET的WebFrom组件LinkButton编程
  2. python模块之json,pickle
  3. 虚拟目录和应用程序的区别
  4. WCFAppFabric :异常消息: 内存入口检查失败
  5. leetcode算法题--二维区域和检索 - 矩阵不可变
  6. 让C++对象只能分配到堆/栈和静态区上并判断分配位置
  7. Oracle CPU使用率过高问题处理
  8. powerpc 汇编linux,PowerPc下的寻址模式
  9. c# 判断是否为数组_c# – 如何检查反射类型是否为数组
  10. 小米MIX 4真机亮屏照曝光?真全面屏 边框窄到窒息
  11. eclipse中使用Lombok(转)
  12. 在Linux 安装Python3.5.6详细文档!!!!
  13. 数据结构------图(一)
  14. 智能翻译android,离线翻译SDK,让智能小设备如虎添翼
  15. 电厂的计算机人员职位结构简图,我们电厂汽轮机结构示意图(老师傅整理)
  16. android开发实现微博正文效果、顶部悬浮、ScrollView嵌套ListView
  17. 《Beyond Part Models: Person Retrieval with Refined Part Pooling 》PCB论文解读
  18. 实用科普|推荐收藏:我的车,到底该选什么功率充电桩?
  19. Instagram密友名单与私密账户的区别
  20. conda 清除已经下载的缓冲包

热门文章

  1. 小程序Cannot set property 'userInfo' of undefined
  2. 我实现了客户要求的五彩斑斓的黑!!!
  3. 全氟己基碘烷行业研究及十四五规划分析报告
  4. O2O模式下,生活服务类App精准引流和渠道评估方法
  5. 日语二级语法汇总(part4/16)
  6. 软件需求管理用例方法 pdf_德国易用的需求管理方法-tenowork敏捷管理
  7. css中background-size属性cover、contain、100%的含义案例详解
  8. 什么是老生代的标记算法
  9. G1:为什么老生代分区到新生代分区和老生代到老生代需要记录引用关系
  10. SpeedMent入门集成SpringBootStream常见操作