增强学习(二)——策略迭代与值迭代
来源:互联网 发布:js事件绑定on 编辑:程序博客网 时间:2024/05/20 14:16
在上一篇文章中,我主要介绍了马尔可夫决策过程(MDP)。在了解了增强学习的基本思想后,我们便可以继续讨论“最优策略”的求解方法:
我们之前已经说到了MDP可以表示成一个元组(X, A, Psa, R),我们对最优策略的求解方法自然也就与这个元组密切相关:如果该过程的四元组均为已知,我们称这样的模型为“模型已知”,对这种已知所有环境因素的学习称为“有模型学习”(model-basedlearning);与之对应的就是“无模型学习”,环境因素机器无法得知的,主要是指状态转移概率Pxa。
本篇博客对“有模型学习”的两种方法进行介绍,分别是策略迭代和值迭代。在此之前,我们需要明确增强学习的两大步骤,策略评估与策略改进:
策略评估:
在上一篇博客中,我们已经对“状态值函数”和“状态动作值函数”进行了简单介绍,但在之前的考虑中,我们是认为策略已知,故在贝尔曼方程中没有考虑策略π的取值与改进问题。我们在此以“状态值函数”和“状态动作值函数”的T步累积奖赏为例重新进行完整的推导:
(1)
关于下标,Rax->x’表示的是在x状态下采取a动作,转移到x’状态后得到的回报,其他的类比即可。同理可以得到关于“状态动作值函数”Q的公式:
(2)
这样的递归式才是对于完整的MDP四元组的贝尔曼等式。也就是说,我们通过这两个公式,就可以通过逐步递归的方式,在编程上实现对策略π的评估。伪代码如下:
策略改进:
由于我们已经知道了怎样对策略进行评估,那么,我们可以产生一个很直接的求解最优策略的方法:从一个初始化的策略出发,先进行策略评估,然后改进策略,评估改进的策略,再进一步改进策略……不断迭代更新,直达策略收敛,这种做法被称为“策略迭代”,伪代码如下:
其中,Q的计算是根据公式(2)来进行的。
此外,我们不难理解,当Qπ(x,π’(x))>=Vπ(x)时,我们可以认为在x的状态下,π’策略相比原来的策略更好。再结合上一篇博文中的最优贝尔曼方程,我们可以将策略的改进视为值函数的改善,以此得出“值迭代”方法,伪代码如下:
但是,这两种方法的缺点显而易见:必须知道状态转移概率才能进行最优策略的计算。这在我们真实的使用场景中几乎不可能实现,所以,我们将在下一篇中介绍适用性更强的“无模型学习”。
- 增强学习(二)——策略迭代与值迭代
- 策略迭代与值迭代的区别
- 值迭代、策略迭代
- 菜鸟学习JVM(二)——分代回收
- 菜鸟学习JVM(二)——分代回收
- 图像增强处理之:同态滤波与Retinex算法(二)McCann Retinex和McCann99 Retinex迭代算法
- 迭代(二)
- 京东算法大赛-高潜用户购买意向预测(二)策略迭代
- Python的高级特征(二)——迭代
- 集合(二)—集合中的迭代
- 大话设计模式学习(二)——策略模式
- 数据结构与算法学习笔记——二叉树遍历(一)(递归、迭代)
- 实例学习SSIS(二)--使用迭代
- 实例学习SSIS(二)--使用迭代
- 增强学习--策略梯度算法(Policy Gradient)
- 深入理解Java虚拟机学习笔记——二、垃圾收集器与内存分配策略
- 深度增强学习David Silver(二)——马尔科夫决策过程MDP
- 干货 | 算法工程师入门第二期——穆黎森讲增强学习(二)
- 第一个过滤器实例
- Spring Boot入门教程-数据源外部配置
- 聚能聊 | 哪个国家拥有全世界最牛逼的程序员?
- 数组概述
- PAT (Basic Level) Practise (中文) 1015. 德才论 (25)
- 增强学习(二)——策略迭代与值迭代
- myeclipse2016 cl破解 亲测好用 没有闪退问题
- HTextView:非常炫酷的 TextView 效果
- hadoop最新稳定版本使用建议
- 一张图看懂SpringMVC请求流程
- JVM内存管理
- 字符串中提取数字
- 项目实战-RS
- 测试大牛的一些博客