当前位置:网站首页>强化学习---马尔可夫决策过程 MP MRP MDP
强化学习---马尔可夫决策过程 MP MRP MDP
2022-07-23 15:25:00 【多层感只鸡】
1.马尔可夫过程(MP)
1.1马尔可夫性质
马尔可夫性质(Markov property)是指一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件概率分布仅依赖于当前状态。我们假设一个离散的随机过程: X 0 {X_0} X0, X 1 {X_1} X1, · · · , X T {X_T} XT ,这些随机变量的所有可能取值的集合被称为状态空间。如果 X t + 1 {X_{t+1}} Xt+1 对于过去状态的条件概率分布仅是 X t {X_t} Xt 的一个函数,则:
p ( X t + 1 = x t + 1 ∣ X 0 : t = x 0 : t ) = p ( X t + 1 = x t + 1 ∣ X t = x t ) {p (X_{t+1} = x_{t+1} | X_{0:t} = x_{0:t}) = p (X_{t+1} = x_{t+1} | X_t = x_t)} p(Xt+1=xt+1∣X0:t=x0:t)=p(Xt+1=xt+1∣Xt=xt)
从上述式子可以得到,未来仅有当前决定,与过去无关。马尔可夫性质是所有马尔可夫过程的基础。
1.2马尔可夫链
假设一组随机变量 s 1 {s_1} s1, · · · , s t {s_t} st 满足马尔可夫性质。我们定义状态的历史为 h t = s 1 , s 2 , s 3 , . . . , s t {h_t = {s_1, s_2, s_3, . . . , s_t}} ht=s1,s2,s3,...,st,则马克可夫过程可以概括为:
p ( s t + 1 ∣ s t ) = p ( s t + 1 ∣ h t ) {p (s_{t+1} | s_t) = p (s_{t+1} | h_t)} p(st+1∣st)=p(st+1∣ht)
同时,我们将离散的马尔可夫过程成为马尔可夫链。
2.马尔可夫奖励过程(MRP)
马尔可夫奖励过程(Markov reward process, MRP)是马尔可夫链加上奖励函数。在马尔可夫奖励过程中,状态转移矩阵和状态都与马尔可夫链一样,只是多了奖励函数(reward function),即MRP=MP+reward。
2.1回报与价值函数
回报是指把奖励进行折扣后所获得的奖励。回报可以定义为奖励的逐步叠加,即:
G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + γ 3 r t + 4 + . . . + γ T − t − 1 r T {G_t = r_{t+1} + γr_{t+2} + γ^2r_{t+3} + γ^3r_{t+4} + . . . + γ^{T−t−1}r_T} Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+...+γT−t−1rT
其中引入了 γ {γ} γ作为折扣因子,即越往后得到的奖励,折扣越多。当我们定义了回报奖励之后,就可以定义状态价值函数:
V t ( s ) = E [ G t ∣ s t = s ] {V^ t(s) = E[G_t | s_t = s]} Vt(s)=E[Gt∣st=s]
V t ( s ) = E [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + . . . + γ T − t − 1 r T ∣ s t = s ] {V^ t(s)= E[r_{t+1} + γr_{t+2} + γ^2r_{t+3} + . . . + γ^{T−t−1}r_T | s_t = s]} Vt(s)=E[rt+1+γrt+2+γ2rt+3+...+γT−t−1rT∣st=s]
2.2折扣因子
引入折扣因子的原因有多个:
第一,马尔可夫过程有可能带环,如果不引入折扣,则可能形成无穷的奖励,导致整个迭代过程无法结束。
第二,对现实的建模有不准确性,也代表了未来评估的不准确性,因此对未来引入折扣以展示其不确定性,最终希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。
第三,折扣因子可以作为强化学习智能体的一个超参数(hyperparameter)来进行调整,通过调整折扣因子,我们可以得到不同动作的智能体。
2.3贝尔曼方程
我们可以从价值函数中推导出贝尔曼方程如下:
V ( s ) = R ( s ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s ) V ( s ′ ) {V (s) = R(s) +γ \sum_{ {s}'\in S}p (s′ | s) V ({s}′)} V(s)=R(s)+γs′∈S∑p(s′∣s)V(s′)
其中,s′ 可以看成未来的所有状态,p(s′|s) 是指从当前状态转移到未来状态的概率。V (s′) 代表的是未来某一个状态的价值。从上述式子我们可以看出未来奖励的折扣总和加上即时奖励,就组成了贝尔曼方程。
贝尔曼方程的解析解的推导:
V = R + γ P V {V=R+γPV} V=R+γPV I V = R + γ P V {IV=R+γPV} IV=R+γPV ( I − γ P ) V = R {(I-γP)V=R} (I−γP)V=R V = ( I − γ P ) − 1 R {V=(I-γP)^{-1}R} V=(I−γP)−1R
则贝尔曼方程的解析解为:
V = ( I − γ P ) − 1 R {V=(I-γP)^{-1}R} V=(I−γP)−1R
我们可以通过矩阵求逆把V 的价值直接求出来。但是一个问题是这个矩阵求逆的过程的复杂度是 O ( N 3 ) {O(N^3)} O(N3)。所以当状态非常多的时候,比如从10 个状态到1000 个状态,或者到100 万个状态,当我们有100 万个状态的时候,状态转移矩阵就会是一个100 乘100 的矩阵,对这样一个大矩阵求逆是非常困难的。所以这种通过解析解去求解的方法只适用于很小量的马尔可夫奖励过程。
3.马尔可夫决策过程(MDP)
相对于马尔可夫奖励过程,马尔可夫决策过程多了决策(决策是指动作),即MDP=MRP+Action。此外,状态转移也多了一个条件,变成了 p ( s t + 1 = s ′ ∣ s t = s , a t = a ) {p (s_{t+1} = s′ | s_t = s, a_t = a)} p(st+1=s′∣st=s,at=a)。未来的状态不仅依赖于当前的状态,也依赖于在当前状态智能体采取的动作。马尔可夫决策过程满足条件:
p ( s t + 1 ∣ s t , a t ) = p ( s t + 1 ∣ h t , a t ) {p (s_{t+1} | s_t, a_t) = p (s_{t+1} | h_t, a_t)} p(st+1∣st,at)=p(st+1∣ht,at)
此时奖励R因为引入了动作,而变为:
R ( s t = s , a t = a ) = E [ r t ∣ s t = s , a t = a ] {R(s_t = s, a_t = a) = E[r_t | s_t = s, a_t = a]} R(st=s,at=a)=E[rt∣st=s,at=a]
3.1策略
策略定义了在某一个状态应该采取什么样的动作。知道当前状态后,我们可以把当前状态代入策略函
数来得到一个概率,即:
π ( a ∣ s ) = p ( a t = a ∣ s t = s ) {π(a | s) = p (a_t = a | s_t = s)} π(a∣s)=p(at=a∣st=s)
当已知马尔可夫决策过程和策略π,我们可以把马尔可夫决策过程转换成马尔可夫奖励过程。从奖励函数的角度来看:
R π ( s ) = ∑ a ∈ A π ( a ∣ s ) R ( s , a ) {R_{π(s)} = \sum_{ {a}\in A}π(a | s)R(s, a)} Rπ(s)=a∈A∑π(a∣s)R(s,a)
即此时因为所有的action已知,那么当前状态的奖励应该等于所有action所对应的奖励之和。
3.2MP,MRP与MDP的区别:
对于MP与MRP来说,比如当前状态是s,那么直接通过转移概率决定下一个状态是什么。
但对于马尔可夫决策过程,它的中间多了一层动作a ,即智能体在当前状态的时候,首先要决定采取某一种动作,这样会到达某一个黑色的节点。到达这个黑色的节点后,因为有一定的不确定性,所以当智能体当前状态以及智能体当前采取的动作决定过后,智能体进入未来的状态其实也是一个概率分布。
3.3MDP中的价值函数:
马尔可夫决策过程中的价值函数可定义为:
V π ( s ) = E π [ G t ∣ s t = s ] {V_π(s) = E_π [G_t | s_t = s]} Vπ(s)=Eπ[Gt∣st=s]
同时我们引入一个Q函数,Q函数也被成为动作价值函数,Q 函数定义的是在某一个状态采取某一个动作,它有可能得到的回报的一个期望,即:
Q π ( s , a ) = E π [ G t ∣ s t = s , a t = a ] {Q_π(s, a) = E_π [G_t | s_t = s, a_t = a]} Qπ(s,a)=Eπ[Gt∣st=s,at=a]
则MDP的价值函数通过Q函数的形式可以有如下表达:
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) {V_π(s) = \sum_{ {a}\in A}π(a | s)Q_π(s, a)} Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)
此处Q函数可以推导出贝尔曼方程如下:
Q ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V ( s ′ ) {Q(s, a)=R(s, a) + γ\sum_{ {s′}\in S}p (s′ | s, a) V (s′)} Q(s,a)=R(s,a)+γs′∈S∑p(s′∣s,a)V(s′)
3.4贝尔曼期望方程:
价值函数与Q函数都可以被拆分为:即时奖励和后续状态的折扣价值两部分。分解状态价值函数可以得到:
V π ( s ) = E π [ r t + 1 + γ V π ( s t + 1 ) ∣ s t = s ] {V_π(s) = E_π [r_{t+1} + γV_π (s_{t+1}) | s_t = s]} Vπ(s)=Eπ[rt+1+γVπ(st+1)∣st=s] Q π ( s , a ) = E π [ r t + 1 + γ Q π ( s t + 1 , a t + 1 ) ∣ s t = s , a t = a ] {Q_π(s, a) = E_π [r_{t+1} + γQ_π (s_{t+1}, a_{t+1}) | s_t = s, a_t = a]} Qπ(s,a)=Eπ[rt+1+γQπ(st+1,at+1)∣st=s,at=a]
上面二者即为贝尔曼期望方程,它定义了当前状态与未来状态之间的关联。
假设引入价值函数与Q函数的关系式以及Q函数的贝尔曼方程:
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) {V_π(s) =\sum_{ {a}\in A}π(a | s)Qπ(s, a)} Vπ(s)=a∈A∑π(a∣s)Qπ(s,a) Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) {Q_π(s, a)=R(s, a) + γ\sum_{ {s′}\in S}p (s′ | s, a) V_π (s′)} Qπ(s,a)=R(s,a)+γs′∈S∑p(s′∣s,a)Vπ(s′)
(1)式(2)式分别互相带入可以得到贝尔曼期望方程的另一种形式:
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) ) {V_π(s) =\sum_{ {a}\in A}π(a | s)(R(s, a) + γ\sum_{ {s′}\in S}p (s′ | s, a) V_π (s′))} Vπ(s)=a∈A∑π(a∣s)(R(s,a)+γs′∈S∑p(s′∣s,a)Vπ(s′)) Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) {Q_π(s, a)=R(s, a) + γ\sum_{ {s′}\in S}p (s′ | s, a) \sum_{ {a′ }\in A}π(a′ | s′ )Qπ(s′ , a′ )} Qπ(s,a)=R(s,a)+γs′∈S∑p(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
边栏推荐
- MySQL7种JOIN(图)
- Paging class
- @Will multiple bean instances be created by multiple method calls of bean annotations
- [pytorch] basic use 7. GPU allocation
- 卷积核越大性能越强?一文解读RepLKNet模型
- Time series data in industrial Internet of things
- Mysql操作
- 工業物聯網中的時序數據
- Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
- LDAP统一认证服务解决方案[通俗易懂]
猜你喜欢

New opportunities for cultural tourism in the era of digital intelligence? China Mobile Migu creates "the first island in the yuan universe"

Console calculator developed based on C language

乘风破浪!金融科技时代下的数字化转型之路

Why do you get confused when you ask JVM???

数智化时代文旅遇新机?中国移动咪咕造 “元宇宙第一岛”

Tapdata 与优炫数据库完成产品兼容性互认证

Log slimming operation: from 5g to 1g!

@Bean 注解的方法调用多次会创建多个bean 实例吗

As a background developer, you must know two kinds of filters

rust猜数字游戏
随机推荐
5秒到1秒,记一次效果“非常”显著的性能优化
乘风破浪!金融科技时代下的数字化转型之路
Transfer business append log (transaction propagation behavior)
LQR control learning -lqr control matlab official tutorial -lqr controller_ Modeling and analysis of state space system with matlab/simulink
Interviewer: how to use redis to realize distributed locks?
Kv260 single board PS control setting IIC switch chip
深入理解机械系统的模态与振动
At least half of the people can't answer the difference between isempty and isblank
训练和测试的loss不下降,并且精度超低
Leetcode skimming: dynamic planning 04 (different paths)
rust猜数字游戏
rust中的静态分发和动态分发
el-input使用
网页返回更新
New opportunities for cultural tourism in the era of digital intelligence? China Mobile Migu creates "the first island in the yuan universe"
能与PowerDesigner媲美的数据库建模工具PDMan[通俗易懂]
idea debug常用操作
李宏毅《机器学习》丨7. Conclusion(总结)
sns_ sensor_ instance_ api
数智化时代文旅遇新机?中国移动咪咕造 “元宇宙第一岛”