Markov决策过程学习笔记和一些Markov代码实现的记录

这是一个比较有意思的github,包含了一些简单的demo:https://github.com/oyamad/mdp,可以简单浏览下面的内容再看这些例子,可能更利于理解

Study notes of Markov desicion process

在这里插入图片描述

马尔可夫性质(Markov properity)

马尔可夫的性质如下图所示
在这里插入图片描述

马尔可夫的性质表示下一刻的状态只与当前时刻有关,其他的历史信息可以丢弃不用。
对于马尔可夫状态 S S S和下一个状态 s ′ s^{\prime} s,两者之间的状态概率转移矩阵定义为:
P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathcal{P}_{s s^{\prime}}=\mathbb{P}\left[S_{t+1}=s^{\prime} \mid S_{t}=s\right] Pss=P[St+1=sSt=s]
状态转移矩阵 P \mathcal{P} P定义了从所有状态 s s s到所有下一刻状态 s ′ s^{\prime} s的转移概率
t o P =  from  [ P 11 … P 1 n ⋮ P n 1 … P n n ] to \\ \mathcal{P}=\text { from }\left[\begin{array}{ccc} \mathcal{P}_{11} & \ldots & \mathcal{P}_{1 n} \\ \vdots & & \\ \mathcal{P}_{n 1} & \ldots & \mathcal{P}_{n n} \end{array}\right] toP= from P11Pn1P1nPnn
上面式矩阵的每一行的概率之和为1。


马尔可夫过程(Markov Process)

马尔可夫过程定义如下
在这里插入图片描述
马尔可夫过程或者说马尔可夫链是一个 < S , P > <\mathcal{S}, \mathcal{P}> <S,P>的一个元组,其中 S \mathcal{S} S是一个有限的状态集合, P \mathcal{P} P是一个状态转移矩阵,这些都是已知的(虽然我们都不知道怎么已知),如下面这个Student Markov Chain
在这里插入图片描述
我们可以根据这个马尔可夫链进行episode(幕)
在这里插入图片描述


马尔可夫奖励过程(Markov Reward Process)

马尔可夫奖励过程定义如下
在这里插入图片描述
在马尔可夫过程的基础上引入奖励函数 R \mathcal{R} R和折扣因子(discount factor) γ \mathcal{\gamma} γ,因此马尔可夫奖励过程是 < S , P , R , γ > <\mathcal{S}, \mathcal{P},\mathcal{R}, \mathcal{\gamma}> <S,P,R,γ>的一个元组。
因此重新构造Student MRP
在这里插入图片描述


回报Return

回报是马尔可夫奖励过程重要的一个组成部分,其定义如下
在这里插入图片描述
在这里插入图片描述

G t G_{t} Gt定义了一个episodes所产生的折扣回报。其中随着时间的推移,奖励会按一定的折扣衰减,因此 γ \gamma γ决定了未来对结果影响的重要性。例如象棋更注重最后的“将军”的结果,而跑酷游戏更注重此刻不撞墙死亡。
Why discount?
在这里插入图片描述

在相继的时间步中回报是项目相关的,这对于强化学习的理论和算法都是很重要的
G t ≐ R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 R t + 4 + ⋯ = R t + 1 + γ ( R t + 2 + γ R t + 3 + γ 2 R t + 4 + ⋯   ) = R t + 1 + γ G t + 1 \begin{aligned} G_{t} & \doteq R_{t+1}+\gamma R_{t+2}+\gamma^{2} R_{t+3}+\gamma^{3} R_{t+4}+\cdots \\ &=R_{t+1}+\gamma\left(R_{t+2}+\gamma R_{t+3}+\gamma^{2} R_{t+4}+\cdots\right) \\ &=R_{t+1}+\gamma G_{t+1} \end{aligned} GtRt+1+γRt+2+γ2Rt+3+γ3Rt+4+=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+)=Rt+1+γGt+1


值函数(Value Function)

值函数的定义如下:
在这里插入图片描述
简单来说,值函数是状态的函数,用来评估当前智能体在给定状态下有多好,“有多好”则用未来预期的受益来定义,也就是回报的期望值。


贝尔曼方程(Bellman Equation for MRPs)

在这里插入图片描述
贝尔曼方程最重要的性质就是递归
在这里插入图片描述
上图为回溯图(backup diagram)中状态和状态之间存在奖励,通过转移矩阵可以更新当前状态的值函数。
e.g. Bellman Equation for Student MRP
在这里插入图片描述

Bellman Equation in Matrix Form

当状态空间较小时,可以使用矩阵运算来求解值函数
在这里插入图片描述
在这里插入图片描述
可以看出其计算复杂度为 O ( n 3 ) O\left(n^{3}\right) O(n3),当状态空间增大时,其计算量会成倍增加,因此当状态空间太大时,普遍使用的是迭代的方法去求解。


马尔可夫决策过程

马尔可夫决策过程的定义如下
在这里插入图片描述
马尔可夫决策过程是一个伴随着决策的马尔可夫奖励过程,他所处环境中的所有状态都是满足马尔可夫性质。此外,它增加了一个有限的动作集合 A \mathcal{A} A组成一个元组。此外,状态转移矩阵 P \mathcal{P} P和回报函数 R \mathcal{R} R的条件概率变成了动作 a a a已知的情况。
e.g. Student MDP
在这里插入图片描述

策略(Policies)

策略的定义如下
在这里插入图片描述在这里插入图片描述
P s , s ′ π \mathcal{P}_{s, s^{\prime}}^{\pi} Ps,sπ其实是一个联合概率,表示在执行策略π的情况下,状态从s转移到s’的概率

值函数(Value Function)

在这里插入图片描述
在这里插入图片描述

贝尔曼方程(Bellman Expection Equation)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
合并二者
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当我们处于class3时,我们做出一些选择,是去还是不去pub,在做出选择后的事情就是接下来将会发生什么。也就是说要看两步,第一步是执行动作的那步去往的地方,这里获得的是奖励,第二步是在动作执行后所在状态下需要计算未来的走势(所有转移概率乘以值函数的和),而这两步都是基于策略 π \pi π产生的动作,因此需要乘以策略 π \pi π的概率。
同样的,贝尔曼方程也有矩阵形式

在这里插入图片描述

最优值函数方程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上面的方程我们可以知道,最优状态动作值函数q∗(s,a)由两部分组成,一部分是即时奖励,另一部分是所有能够到达状态s’的最优状态值函数按状态转移概率求和。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

贝尔曼最优方程求解

在这里插入图片描述

参考资料:
David Silver强化学习公开课

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值