专栏名称: 大数据挖掘DT数据分析
实战数据资源提供。数据实力派社区,手把手带你玩各种数据分析,涵盖数据分析工具使用,数据挖掘算法原理与案例,机器学习,R语言,Python编程,爬虫。如需发布广告请联系: hai299014
目录
相关文章推荐
InfoTech  ·  腾讯今年的薪资.... ·  昨天  
数据派THU  ·  【ICML2025】《基于低分辨率词元枢轴的 ... ·  20 小时前  
软件定义世界(SDX)  ·  2025年中国金融科技(FinTech)行业 ... ·  3 天前  
InfoTech  ·  再见了!DeepSeek ·  3 天前  
数据派THU  ·  【ICML2025】因果感知对比学习用于鲁棒 ... ·  2 天前  
51好读  ›  专栏  ›  大数据挖掘DT数据分析

增强学习算法讲解:马尔可夫决策过程MDP

大数据挖掘DT数据分析  · 公众号  · 大数据  · 2018-04-22 19:45

正文

请到「今天看啥」查看全文


如果回报r是根据状态s和动作a得到的,则MDP还可以表示成下图:


3. 值函数(value function)

上篇我们提到增强学习学到的是一个从环境状态到动作的映射(即行为策略),记为策略π: S→A。而增强学习往往又具有延迟回报的特点: 如果在第n步输掉了棋,那么只有状态s n 和动作a n 获得了立即回报r(s n ,a n )=-1,前面的所有状态立即回报均为0。所以对于之前的任意状态s和动作a,立即回报函数r(s,a)无法说明策略的好坏。因而需要定义值函数(value function,又叫效用函数)来表明当前状态下策略π的长期影响。


用V π (s)表示策略π下,状态s的值函数。r i 表示未来第i步的立即回报,常见的值函数有以下三种:

a)

b)

c)

其中:

a)是采用策略π的情况下未来有限h步的期望立即回报总和;

b)是采用策略π的情况下期望的平均回报;

c)是值函数最常见的形式,式中γ∈[0,1]称为折合因子,表明了未来的回报相对于当前回报的重要程度。特别的,γ=0时,相当于只考虑立即不考虑长期回报,γ=1时,将长期回报和立即回报看得同等重要。接下来我们只讨论第三种形式,

现在将值函数的第三种形式展开,其中r i 表示未来第i步回报,s'表示下一步状态,则有:

给定策略π和初始状态s,则动作a=π(s),下个时刻将以概率p(s'|s,a)转向下个状态s',那么上式的期望可以拆开,可以重写为:

上面提到的值函数称为 状态值函数 (state value function),需要注意的是, 在V π (s)中,π和初始状态s是我们给定的,而初始动作a是由策略π和状态s决定的,即a=π(s)

定义 动作值函数 (action value functionQ函数)如下:

给定当前状态s和当前动作a,在未来遵循策略π,那么系统将以概率p(s'|s,a)转向下个状态s',上式可以重写为:

在Q π (s,a)中,不仅策略π和初始状态s是我们给定的,当前的动作a也是我们给定的,这是Q π (s,a)和V π (a)的主要区别。

知道值函数的概念后,一个MDP的最优策略可以由下式表示:

即我们寻找的是在任意初始条件s下,能够最大化值函数的策略π*。


4. 值函数与Q函数计算的例子

上面的概念可能描述得不够清晰,接下来我们实际计算一下,如图所示是一个格子世界,我们假设agent从左下角的start点出发,右上角为目标位置,称为吸收状态(Absorbing state),对于进入吸收态的动作,我们给予立即回报100,对其他动作则给予0回报,折合因子γ的值我们选择0.9。


为了方便描述,记第i行,第j列的状态为s ij , 在每个状态,有四种上下左右四种可选的动作,分别记为a u ,a d ,a l ,a r 。(up,down,left,right首字母),并认为状态按动作a选择的方向转移的概率为1。

1.由于状态转移概率是1,每组(s,a)对应了唯一的s'。回报函数r(s'|s,a)可以简记为r(s,a)

如下所示,每个格子代表一个状态s,箭头则代表动作a,旁边的数字代表立即回报,可以看到只有进入目标位置的动作获得了回报100,其他动作都获得了0回报。 即r(s 12 ,a r ) = r(s 23 ,a u ) =100。







请到「今天看啥」查看全文