RL(Reinforcement Learning)强化学习(1)马尔科夫过程(MP)、马尔科夫奖励过程(MRP)、马尔科夫决策过程(MDP)

MP/MRP/MDP

一、Markov process马尔科夫过程

一些概念:

马尔科夫性:在t+1时刻的状态只与t有关,而与其他无关。

马尔科夫过程/马尔科夫链:如果某个随机过程的每个状态都具备马尔可夫性,那么就认为这个过程是马尔科夫过程。

明天的天气只和今天的天气有关,和之前的天气没有任何关系。这就是具备马尔可夫性, 每一天都是这样,这个一天接一天的过程就是马尔科夫过程

状态转移概率矩阵:用来记录状态之间转换概率的矩阵。这个矩阵行和为1。 P i , j P_{i,j} Pi,j代表由状态i到状态j的概率。

状态转移矩阵对于一个状态空间来说只有一个(如果转移概率不变)。因为它包含了所有状态之间转移的概率

所以一个马尔科夫过程可以用<S,P>来表示,其中S是状态,P是该状态下的转移到其他状态的概率矩阵。
在这里插入图片描述

上图是一个马尔科夫过程,各个状态之间的转化概率已经标出,其中sleep是一个终止状态

状态序列(episode):假设当前状态为Class1(C1)
Class1 - Class2 - Sleep
C1-C2-C3-Pass-Sleep
等就是状态序列。

完整状态序列:一个状态序列最后一个状态是终止状态时 。

二、马尔科夫奖励过程(Markov reward process, MRP)

概念

MRP和马尔科夫过程的叙别就是加入了一个奖励的过程。
马尔科夫过程是c参数<S,P>, MRP过程是<M,P,R, γ \gamma γ>

S有限的状态集, 状态空间
P 集合中状态转移概率矩阵。
R 奖励函数, R s = E [ R t + 1 ∣ S t = s ] R_s = E[R_{t+1}|S_t = s] Rs=E[Rt+1St=s]。 t时刻,状态S=s,s状态下的奖励值 R s R_s Rs是由转换到下一t+1时刻下的状态的奖励值 R t + 1 R_{t+1} Rt+1均值决定的。由环境确定。比如老师想要较早的让同学通过考试,就在pass设置较高的奖励,其他的较低。
简单来说就是当前的奖励值,是由未来的(之后的)奖励值决定的。
γ \gamma γ衰减因子,在0和1之间。

收获/回报(return) G t = R t + 1 + γ R t + 2 + . . . G_t = R_{t+1}+\gamma R_{t+2}+... Gt=Rt+1+γRt+2+...
是马尔科夫奖励过程从某个状态 S t S_t St开始知道终止状态的所有的奖励的带衰减的和。

γ \gamma γ如果接近0,意思是更关注眼前的奖励
γ \gamma γ如果接近1,意思是更关注长远的奖励

每个状态都对应了一个return(回报或收获)。间接反映了这个状态的重要程度。
那么出现了一个问题,就是同一个状态作为起点,会有很多的状态序列,而不同的状态序列所计算出来的收获return也不同,这有如何评价呢?
使用价值来衡量:
价值Value是马尔科夫奖励过程中**收获/回报(return)**的数学期望。

v ( s ) = E [ G t ∣ S t = s ] ; v(s) = E[G_t | S_t = s ]; v(s)=E[GtSt=s];
某个状态的价值是 从该状态开始按照状态转移概率矩阵进行采样生成的一些列的状态序列,每个状态序列都计算收获,最终对该状态所有的收获取期望, 得到一个平均的收获。
可以准确的翻译某一个状态的重要程度。

价值函数: 一个给出一定状态就能够得到这个状态的价值的函数。建立了从状态到价值的映射

贝尔曼方程产生的推导

但是,通过计算收获的平均值来求解状态的价值是不可取的。因为对于马尔科夫过程一个状态可能有无穷多个状态序列,无法计算。
在t时刻,状态s的价值函数:

v ( s ) = E [ G t ∣ S t = s ] = E [ R t + 1 + γ R [ t + 2 ] + γ 2 R t + 3 . . . ∣ S t = s ] = E [ R t + 1 + γ ( R [ t + 2 ] + γ R t + 3 . . . ) ∣ S t = s ] = E [ R t + 1 + γ G t + 1 ∣ S t = s ] = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s) = E [G_t | S_t =s ] \\ =E[R_{t+1} + \gamma R[t+2] + \gamma^2R_{t+3} ... | S_t = s ] \\ =E[R_{t+1} + \gamma (R[t+2] + \gamma R_{t+3} ... )| S_t = s ] \\ =E[R_{t+1} + \gamma G_{t+1} | S_t = s ] \\ =E[R_{t+1} + \gamma v(S_{t+1})|S_t = s] v(s)=E[GtSt=s]=E[Rt+1+γR[t+2]+γ2Rt+3...St=s]=E[Rt+1+γ(R[t+2]+γRt+3...)St=s]=E[Rt+1+γGt+1St=s]=E[Rt+1+γv(St+1)St=s]

可以得到等式

v ( s ) = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s)=E[R_{t+1} + \gamma v(S_{t+1})|S_t = s] v(s)=E[Rt+1+γv(St+1)St=s]
进一步, R t + 1 R_{t+1} Rt+1期望是本身,每次离开同一个状态所得到的奖励都是一个固定的值
下一个时刻的状态根据概率转移矩阵的概率进行变化,所以下一时刻状态价值的期望也要乘以概率

v ( s ) = R s + γ ∑ s ′ ∈ S P s s ′ v ( s ′ ) v(s) = R_s + \gamma \sum_{s' \in S}P_{ss'}v(s') v(s)=Rs+γsSPssv(s)

R s R_s Rs该状态的奖励
γ \gamma γ衰减比
P s s ′ P_{ss'} Pss 状态s到状态s’的概率
v(s’) 下一状态的价值
这个方程就是马尔科夫奖励过程(MRP)中的贝尔曼方程(Bellman equation)

贝尔曼方程如果写成矩阵的形式,可以直接求解。但是一般这类问题时间复杂度都是3次方,直接求解不太现实。
在这里插入图片描述在这里插入图片描述

三、马尔科夫决策过程

马尔科夫奖励过程能够评定某些状态的价值,但是强化学习还需要对行为进行选择,所以引出马尔科夫决策过程(Markov decision process,MDP)
MDP是<S, A, P, R, γ \gamma γ>

S 有限状态集
A有限的行为集
P 基于行为的状态转移概率
R 状态行为奖励函数
γ \gamma γ衰减因子
γ \gamma γ 衰减因子

回忆:MRP是<S, P, R, g a m m a gamma gamma>,多了个Action

马尔科夫决策过程的奖励R、状态转移概率P都和行为A直接相关。在相同的状态下,取不同的行为得到的奖励是不一样的。
在这里插入图片描述

相同的图:
在这里插入图片描述

如上图,在不同的状态选择不同的动作行为,会得到不同的奖励,黑点是表示行为

策略: 在某个状态下,从行为集中选择一个行为的依据/方法,叫做策略。用 π \pi π表示

π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s) = P[A_t = a | S_t = s] π(as)=P[At=aSt=s]
策略是基于行为集合的一个概率分布

  • 与当前状态有关,和历史状态无关
  • 策略一般认为是静态的,描述个体产生行为的依据,状态的改变不会引起策略的改变。
  • 个体依在同一个状态使用相同的策略也会产生不同的行为,因为是一个概率分布

随机策略:随机选择行为

好,从头捋一下:
对于一个MDP:M=<S,A,P,R, γ \gamma γ>和一个Policy(策略) π \pi π
状态序列(episod): S1, S2, S3 … 是一个马尔科夫过程<S, P π P_\pi Pπ> (基于策略的,所以有pi的下标)
S1, R2, S2, R3, S3, R4… 是一个符合马尔科夫奖励过程<S, P π , R π , γ P_\pi, R_\pi, \gamma Pπ,Rπ,γ>

一个MDP和Policy对应一个MP和MRP。当policy改变,MP和MRP也会改变。因为都是基于策略的。
基于策略的(状态)价值函数:

v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s) = E[G_t|S_t = s] vπ(s)=E[GtSt=s]

从状态s开始,所有的序列的收获(return)的数学期望。
回忆: G t G_t Gt是每个序列的R的和。
由于行为的加入,在某个状态选择如何选择行为?这需要一个能够评价在某个状态选择不同行为之间的好坏的方法。
行为价值函数:

q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_\pi(s,a) = E[G_t|S_t = s, A_t = a] qπ(s,a)=E[GtSt=s,At=a]
可以看到和价值函数相比只是增加了一个前提条件:选择行为a。
这个行为价值函数是针对状态而言的,不同的状态、同一个行为的价值函数不一定相同。故也可以成为状态行为价值函数

故:
按照贝尔曼方程,可以有:(推导见上)
在这里插入图片描述

行为价值和状态价值之间的关系

行为是两个状态转化之间的桥梁。
要求解状态价值,就要知道下一个状态价值,而下一个状态是根据行为产生的。
状态价值可用该状态下的所有行为价值来表示:
在这里插入图片描述

同理,行为价值可以用状态价值表示:
在这里插入图片描述

所以对于V的贝尔曼方程又可以写成:

在这里插入图片描述

对于Q的贝尔曼方程:
在这里插入图片描述

例:状态价值函数求解

在这里插入图片描述

最优策略

最优状态状态函数 optimal state-value function v ∗ v_* v是所有策略中状态价值函数的的最大值。
最优行为价值函数 q ∗ ( s , a ) q_*(s,a) q(s,a)所有策略中行为价值函数的最大值。

π \pi π优于 π ′ \pi' π:对于任意一个状态价值函数 v π ( s ) ≥ v π ′ v_\pi(s) \geq v_{\pi'} vπ(s)vπ

任何的MDP都存在至少一个最优策略。如果存在多个最优策略,

  • 彼此的状态价值函数相等。
  • 彼此行为价值函数也相等
    优于状态价值函数v和行为价值函数q可以相互表示,所以找最优的策略也可以通过最大化q

最优策略的贝尔曼方程

最优状态价值函数
在这里插入图片描述

最优行为价值函数:
在这里插入图片描述

状态价值函数进一步推理
在这里插入图片描述

行为价值函数进一步推:
在这里插入图片描述

求解:

  • 最优贝尔曼方程的求解是非线性的
  • 通常采用迭代法:
    • Value Iteration
    • Policy Iteration
    • Q-learning
    • Sarsa

四、总结:

强化学习就是找到最优策略,而想要找到最优策略从而更好的做出决定,就需要使该策略下每一个状态价A值函数 v π v_\pi vπ和行为价值函数 q π q_\pi qπ最终优。也就是最大化状态价值函数或者行为价值函数的过程。因为一个最大化了,另一个也必然是最大化。

五、Reference

[1] David Silver深度强化算法学习教学视频
[2] Reinforcement Learning. Richard S. Sutton and Andrew G. Barto
[3] 强化学习入门——从原理到实践. 叶强

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
强化学习是一种机器学习方法,马尔可决策过程(Markov Decision Process,MDP)是其基础理论。在强化学习中,智能体通过与环境的交互,从试错中学习最优策略,以达到最大化奖励的目标。 马尔可决策过程主要由5个要素组成:状态集合、动作集合、状态转移概率、奖励函数、折扣因子。强化学习中的马尔可决策过程可以使用Matlab进行实现。 在Matlab中,可以使用相关的工具包、函数来实现强化学习马尔可决策过程。比如,可以使用Reinforcement Learning Toolbox来建立和训练马尔可决策过程,并通过使用强化学习算法(如Q-learning、Deep Q-Network等)来求解最优策略。 首先,需要定义状态集合和动作集合,可以使用Matlab的矩阵或向量来表示。接下来,需要定义状态转移概率矩阵,它描述了在某个状态下采取某个动作后,转移到其他状态的概率。然后,需要定义奖励函数,它用于评估智能体在不同状态下获得的奖励。最后,还需要设置折扣因子,用于平衡当前奖励和未来奖励的重要性。 通过以上步骤,在Matlab中可以建立马尔可决策过程模型。然后,可以使用强化学习算法来训练模型,并根据训练结果产生最优策略。在训练过程中,智能体将根据当前状态选择最优动作,并根据环境的反馈(奖励)不断更新模型参数,以优化策略。 总之,强化学习马尔可决策过程可以通过Matlab进行实现。使用Matlab中的相关工具包和函数,可以方便地建立和训练马尔可决策过程模型,并求解最优策略。通过强化学习,智能体可以从与环境的交互中不断学习,最终获得最优策略来解决各种问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值