马尔可夫决策过程(Markov Decision Processes,MDPs)

MDPs 简单说就是一个智能体(Agent)采取行动(Action)从而改变自己的状态(State)获得奖励(Reward)与环境(Environment)发生交互的循环过程。绝大多数的增强学习都可以模型化为MDP的问题。MDP 的策略完全取决于当前状态,这也是它马尔可夫性质的体现,根据当前的状态来决定动作。元组表示为: 

状态的好坏其实等价于对未来回报的期望。因此,引入回报来表示某个时刻t的状态将具备的回报,我们的目标是选择一组最佳的action,使得全部的回报加权和期望最大:

从上式可以发现,在t时刻的回报值被打了的折扣,是一个逐步衰减的过程,越靠后的状态对回报和影响越小。

定义在当前状态下,执行某个策略后,出现的结果的好坏,需要定义值函数(value function)

然而,在当前状态下,一个动作可以产生不同的结果,由Bellman等式,根据转移概率从上式得到,其中s’表示下一个状态:

当然,我们求V的目的就是想找到一个当前状态s下,最优的行动策略,定义最优的V*,即从可选择的策略挑选一个最优策略,如下:

上式的Bellman等式形式如下,第二项是一个就决定了每个状态s的下一步动作a,执行a后,s’按概率分布的回报概率和的期望:

定义了最优的V*,我们再定义最优的策略如下:

选择最优的,也就确定了每个状态s的下一步最优动作a,根据以上式子,我们可以知道

当前状态的最优的值函数V*,是由采用最优执行策略的情况下得出的,采用最优执行方案的回报显然要比采用其他的执行策略要好。

这里需要注意的是,如果我们能够求得每个s下最优的a,那么从全局来看,的映射即可生成,而生成的这个映射是最优映射,称为针对全局的s,确定了每一个s的下一个行动a,不会因为初始状态s选取的不同而不同。

Exploration and Exploitation 探索与利用

在上面的算法中,我们可以看到需要使用某一个policy来生成动作,也就是说这个policy不是优化的那个policy,所以Q-Learning算法叫做Off-policy的算法。另一方面,因为Q-Learning完全不考虑model模型也就是环境的具体情况,只考虑看到的环境及reward,因此是model-free的方法。

回到policy的问题,那么要选择怎样的policy来生成action呢?有两种做法:

  • 随机的生成一个动作
  • 根据当前的Q值计算出一个最优的动作,这个policy ππ称之为greedy policy,也就是 
    π(St+1)=argmaxaQ(St+1,a)π(St+1)=argmaxaQ(St+1,a)

使用随机的动作就是exp成loration,也就是探索未知的动作会产生的效果,有利于更新Q值,获得更好的policy。而使用greedy policy也就是target policy则是exploitation,利用policy,这个相对来说就不好更新出更好的Q值,但可以得到更好的测试效果用于判断算法是否有效。

将两者结合起来就是所谓的ϵ−greedyϵ−greedy policy,ϵϵ一般是一个很小的值,作为选取随机动作的概率值。可以更改ϵ

的值从而得到不同的exploration和exploitation的比例。

Q-learning

Q-learning的核心是Q-table。Q-table的行和列分别表示stateaction的值,Q-table的值Q(s,a)

Q Learning的思想完全根据value iteration得到。但要明确一点是value iteration每次都对所有的Q值更新一遍,也就是所有的状态和动作。但事实上在实际情况下我们没办法遍历所有的状态,还有所有的动作,我们只能得到有限的系列样本。因此,只能使用有限的样本进行操作。那么,怎么处理?Q Learning提出了一种更新Q值的办法:

Q(St,At)←Q(St,At)+α(Rt+1+λmaxaQ(St+1,a)−Q(St,At))

虽然根据value iteration计算出target Q值,但是这里并没有直接将这个Q值(是估计值)直接赋予新的Q,而是采用渐进的方式类似梯度下降,朝target迈近一小步,取决于αα,这就能够减少估计误差造成的影响。整个训练过程其实就是原始Q值向目标 Q 值逼近的过程。类似随机梯度下降,最后可以收敛到最优的Q值。

具体的算法如下:


初始化Q(s,a),∀s∈S,a∈A(s)Q(s,a),∀s∈S,a∈A(s), 任意的数值,并且Q(terminal−state,⋅)=0Q(terminal−state,⋅)=0 
重复(对每一节episode): 
    初始化 状态S 
    重复(对episode中的每一步): 
        使用某一个policy比如(ϵ−greedyϵ−greedy)根据状态S选取一个动作执行 
        执行完动作后,观察reward和新的状态S′S′ 
        Q(St,At)←Q(St,At)+α(Rt+1+λmaxaQ(St+1,a)−Q(St,At))Q(St,At)←Q(St,At)+α(Rt+1+λmaxaQ(St+1,a)−Q(St,At)) 
        S←S′S←S′ 
     循环直到S终止

Deep-Q-learning

q-table存在一个问题,真实情况的state可能无穷多,这样q-table就会无限大,解决这个问题的办法是通过神经网络实现q-table。输入state,输出不同action的q-value。

Experience replay

强化学习由于state之间的相关性存在稳定性的问题,解决的办法是在训练的时候存储当前训练的状态到记忆体MM,更新参数的时候随机从MM中抽样mini-batch进行更新。

具体地,MM中存储的数据类型为 <s,a,r,s′><s,a,r,s′>,MM有最大长度的限制,以保证更新采用的数据都是最近的数据。

Exploration and Exploitation 探索与利用

在上面的算法中,我们可以看到需要使用某一个policy来生成动作,也就是说这个policy不是优化的那个policy,所以Q-Learning算法叫做Off-policy的算法。另一方面,因为Q-Learning完全不考虑model模型也就是环境的具体情况,只考虑看到的环境及reward,因此是model-free的方法。

回到policy的问题,那么要选择怎样的policy来生成action呢?有两种做法:

  • 随机的生成一个动作
  • 根据当前的Q值计算出一个最优的动作,这个policy ππ称之为greedy policy,也就是 
    π(St+1)=argmaxaQ(St+1,a)π(St+1)=argmaxaQ(St+1,a)

使用随机的动作就是exploration,也就是探索未知的动作会产生的效果,有利于更新Q值,获得更好的policy。而使用greedy policy也就是target policy则是exploitation,利用policy,这个相对来说就不好更新出更好的Q值,但可以得到更好的测试效果用于判断算法是否有效。

将两者结合起来就是所谓的ϵ−greedyϵ−greedy policy,ϵϵ一般是一个很小的值,作为选取随机动作的概率值。可以更改ϵϵ的值从而得到不同的exploration和exploitation的比例。

算法

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

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

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

  2. 马尔可夫决策过程(Markov Decision Process)学习笔记

    Markov Decision Process学习笔记 马尔可夫决策过程(Markov Decision Process)学习笔记 1. 基本的概率定义 2. 如何理解状态SSS和动作AAA 3. 策 ...

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

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

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

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

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

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

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

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

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

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

  8. 系统学习机器学习之增强学习(二)--马尔可夫决策过程

    参考: http://blog.csdn.net/zz_1215/article/details/44138823 http://www.cnblogs.com/jerrylead/archive/2 ...

  9. mdp框架_强化学习:MDP(Markov Decision Process)

    0.强化学习(reinforcement learning),特点是引入奖励机制.[强化学习属于机器学习框架中的什么部分?] 1.引出MDP的思路 =>Random variable => ...

最新文章

  1. css html 优化,CSS Animation性能优化
  2. 皮一皮:这是结婚还是华山论剑...
  3. 测试集的构成比例对网络分类性能的影响cp
  4. 语录系统2.0随机一段话源码
  5. testbench文件显示波形_modelsim仿真没有波形或看不到波形的原因及解决方法 - 全文...
  6. 数据流重导向 -- 第11章   认识与学习 BASH
  7. 【C++】C++中你不了解的类型转换
  8. virt_to_page
  9. Cognos 11.0快速开发指南 Ⅱ
  10. 百度云云盘搜索助手可查询提取码 内置5个搜索引擎
  11. 什么是 Sidecar
  12. exlc表格怎么换行_excel如何换行_表格怎么换行上下换行
  13. 分析ERP审单失败,提示:库存不足的原因及应对方案
  14. 【algods】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、散列表...
  15. 这一次,除了骂阿里云,还能做些什么?
  16. Elastic 今日在纽交所上市,股价最高暴涨122%。
  17. 近期要读的书(经济类)
  18. 写轮眼常见的一些问题
  19. 联盛德 HLK-W806 (五): W801开发板上手报告
  20. mysql 解析器_MySQL ngram全文解析器

热门文章

  1. 数据库操作银行管理系统
  2. HSV颜色空间和RGB颜色空间相互转换C语言实现
  3. NPOI实现Word删除表格
  4. Message创建方式:new Message和obtainMessage的区别
  5. 关系代数和SQL语法
  6. Mysql在表中添加约束条件
  7. @Alias使用技巧
  8. Proximal Point Algorithm(PPA)
  9. 敏捷开发的Scrum晨会实践
  10. 赋值表达式与赋值语句