【转自本人个人博客 icesuns】 Reinforcement Learning(2)——MDPs
上一篇文章强化学习——简介简单介绍了一下强化学习的相关概念。这篇博客将引入 马尔科夫决策过程(Markov Decision Processes, MDPs)对强化学习进行建模。这篇文章,将对马尔科夫决策过程以及Q-leaning进行介绍。
马尔科夫过程
定义: 若随机过程 {Xn,n∈T} { X n , n ∈ T } 对于任意非负正整数 n∈T n ∈ T 和任意的状态 i0,i1,...,in∈I i 0 , i 1 , . . . , i n ∈ I , 其概率满足
P{Xn+1=in+1∣X0=i0,X1=i1,...,Xn=in}=P{Xn+1=in+1∣Xn=in} P { X n + 1 = i n + 1 ∣ X 0 = i 0 , X 1 = i 1 , . . . , X n = i n } = P { X n + 1 = i n + 1 ∣ X n = i n }则称 {Xn,n∈T} { X n , n ∈ T } 是马尔科夫过程。
马尔科夫过程的一大特点是 无后效性 ,当一个随机过程在给定现在状态和过去状态情况下,其未来状态的条件概率仅依赖于当前状态。在给定现在状态是,随机过程与过去状态是条件独立的。也就是说,系统的下个状态只与当前状态有关,与更早之前的状态无关,一旦知道当前状态之后,过去的状态信息就可以抛弃。
马尔科夫过程还有一个重要的元素,那就是 转移概率矩阵。
Pij(n)=P{Xn+1=j∣Xn=i}
P
i
j
(
n
)
=
P
{
X
n
+
1
=
j
∣
X
n
=
i
}
,指的时刻
n
n
,从状态转移到状态
j
j
的一步转移概率。当y与
n
n
无关是,则称马尔科夫链是齐次的。
P=⎡⎣⎢⎢⎢⎢⎢p11p21⋮pn1p12p22⋮pn2⋯⋯⋱⋯p1np2n⋮pnn⎤⎦⎥⎥⎥⎥⎥
P
=
[
p
11
p
12
⋯
p
1
n
p
21
p
22
⋯
p
2
n
⋮
⋮
⋱
⋮
p
n
1
p
n
2
⋯
p
n
n
]
;其中,
pij≥0
p
i
j
≥
0
,
∑j∈Ipij=1
∑
j
∈
I
p
i
j
=
1
因此,定义一个马尔科夫过程,需要给出有限状态集合
xi∈X,i∈N
x
i
∈
X
,
i
∈
N
以及转移概率矩阵
P
P
。
下图是一个马尔科夫链转移矩阵的例子。
马尔科夫决策过程
上一篇文章介绍了强化学习是一个与不断进行环境交互学习只能agent的学习过程。而MDPs正是立足于agent与环境的直接交互,只考虑离散时间,假设agent与环境的交互可分解为一系列阶段,每个阶段由“感知——决策——行动”构成。如下图:
不同资料对于MDPs定义不同。在这里,我们将MDPs模型定义为一个四元组:
- S S 是一个有限集,其中每个元素 s∈S s ∈ S 代表一个状态
- A A 是一个有限集,其中每个元素 a∈A a ∈ A 代表一个行动
- P P 代表状态之间的转移矩阵, Pass′=P[St+1=s′∣St=s,At=a] P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ]
- R R 是reward函数, Ras=E[Rt+1∣St=s,At=a] R s a = E [ R t + 1 ∣ S t = s , A t = a ]
- γ γ 是discount系数, γ∈(0,1) γ ∈ ( 0 , 1 ) 。
上述定义的是完全观察的马尔科夫决策过程,定义了environment-agent之间的关系。其实这很像是在模拟人或者动物与环境之间的交互过程。agent根据environment的状态作出决策,选择相应的行动action。行动对环境产生影响,改变环境的状态state,对于这个状态的改变,环境作出评估并给出奖励reward。
马尔科夫决策过程能够刻画强化学习,我们对我们的问题建模之后,该考虑agent与environment如何交互,agent怎么选择下一步行动。在这之前,我们需要对一下几点知识做一些了解。
策略(Policy)
策略的 定义:
π(a∣s)=P[At=a∣St=s] π ( a ∣ s ) = P [ A t = a ∣ S t = s ]
策略很通俗地讲,其实就是在状态 s s 下,选择行动的概率。强化学习的本质其实就是要去学习一个最优的策略。策略定义了agent的行为,马尔科夫决策过程策略依赖于当前的状态。
值函数(Value Function)
在介绍值函数之前,需要介绍一下reward。看上图,可以知道agent选择一个行动之后,会对环境产生影响,环境会对这个行动进行评估,量化该行动在该状态下的好坏程度,是该行为在该状态下的即刻奖励。
令
这跟人和动物在做决策的时候一样,不能仅仅看到短期的利益,还应该目光长远。因此马尔科夫决策过程具有一个奖励延迟的特点。
state-value function
马尔科夫决策过程state-value function
vπ(s)
v
π
(
s
)
是从t时刻在状态s下,按照策略
π
π
执行,得到reward的期望。
action-value function
马尔科夫决策过程action-value function
qπ(s,a)
q
π
(
s
,
a
)
是从时刻t,状态s下采取a行动,并按照策略
π
π
执行决策的reward的期望。
本次,介绍了一下马尔科夫链以及马尔科夫决策过程,以及值函数。在下篇文章中,将对Bellman方程进行介绍。并且将会引入动态规划的方法对马尔科夫决策过程进行优化。
参考资料
[1] Hexo编辑数学公式:
+ http://bennychen.me/mathjax.html
+ https://wdxtub.com/2016/03/26/latex-notation-table/[2] 马尔科夫决策过程: https://www.cnblogs.com/jinxulin/p/3517377.html
[3] 马尔科夫链: https://www.cnblogs.com/pinard/p/6632399.html