文章目录
前言
最近在学习强化学习的时候接触到了他的核心建模方法,马尔科夫决策过程(MDP),有必要对此方法进行记录,以便加深理解和供需要的同伴参考。这是概率中的概念,没想到在物理里面也有如此大的作用,它是一种随机过程,因此,在谈马尔科夫过程之前,先闲聊几句随机过程。
随机过程
首先从概率的角度抛出这个概念。在现实生活中有这样一种不确定现象,它每次随机试验会持续一段时间,其可能结果是一个关于时间的函数。比如,我们收集
t
t
t 时间段内通信中随机信号的变化情况,每次随机试验都可以得到一个
ξ
(
t
)
\xi(t)
ξ(t) 的函数,而且每次试验的函数曲线都不一样。我们把试验结果画到同一个坐标系中,可以看到
ξ
(
t
)
\xi(t)
ξ(t) 的结果有无数个且服从某一分布,有规律的分布的
a
(
t
)
a(t)
a(t) 附近,因此我们把这种不确定现象称为随机过程(Stochastic Process)。
图1 随机过程图(实际曲线有无数条,这里只列举三条来阐述概念)
马尔科夫决策过程(MDP)
随机过程和经典的牛顿力学相似,都在试图解释宏观世界的动力学特征—参数随时间的变化规律。不同之处在于,牛顿力学阐释的是每个时刻研究对象确定的位置和动量,而随机过程只能给出某个确定的时刻我们想要得到的物理量的概率分布。而马尔可夫过程作为随机过程中的一种,最大的特征在于,当前状态分布概率只与前一时刻相关,下面用数学公式表示:
P
(
S
n
=
i
n
∣
S
n
−
1
=
i
n
−
1
,
…
,
S
0
=
i
0
)
=
P
(
S
n
=
i
n
∣
S
n
−
1
=
i
n
−
1
)
P(S_n=i_n|S_{n-1}=i_{n-1},\ldots,S_0=i_0)=P(S_n=i_n|S_{n-1}=i_{n-1})
P(Sn=in∣Sn−1=in−1,…,S0=i0)=P(Sn=in∣Sn−1=in−1)
其中:
S
n
S_n
Sn 表示在第
n
n
n 个时间步长后的随机变量
S
S
S ,
i
n
i_n
in 代表
S
S
S 的取值。在这种假设条件的约束下,它和牛顿力学的表达思想基本一样,当前时刻只与上一时刻的状态有关。基于上述性质,我们可以得到每一刻的随机变量取值
P
(
S
n
=
i
n
,
S
n
−
1
=
i
n
−
1
,
…
,
S
0
=
i
0
)
=
P
(
S
n
=
i
n
∣
S
n
−
1
=
i
n
−
1
)
⋯
P
(
S
1
=
i
1
∣
S
0
=
i
0
)
P
(
S
0
=
i
0
)
P(S_n=i_n,S_{n-1}=i_{n-1},\ldots,S_0=i_0)=P(S_n=i_n|S_{n-1}=i_{n-1})\\\cdots P(S_1=i_1|S_0=i_0)P(S_0=i_0)
P(Sn=in,Sn−1=in−1,…,S0=i0)=P(Sn=in∣Sn−1=in−1)⋯P(S1=i1∣S0=i0)P(S0=i0)
受王树森老师在深度强化学习中《超级马力欧兄弟》的例子启发,这里我们不以马力欧兄弟进行举例,我们以简单的抛硬币为例,假设每抛出一个硬币都有两种可能,一种是正面向上
+
1
+1
+1,一种是正面向下
−
1
-1
−1,记第
n
n
n 次抛硬币后的得分为
S
n
S_n
Sn, 我们有
S
0
=
0
,
S
n
=
S
n
−
1
+
ζ
n
S_0=0,S_n=S_{n-1}+\zeta_n
S0=0,Sn=Sn−1+ζn,其中
ζ
n
\zeta_n
ζn是抛硬币第
n
n
n 次的得分,可能是得分为正,也可能是得分为负,我们假设
ζ
n
=
1
\zeta_n=1
ζn=1 为得分为正,概率为
p
p
p,
ζ
n
=
−
1
\zeta_n=-1
ζn=−1 为得分为负,概率为
1
−
p
1-p
1−p,可以得到:
P
(
S
n
=
j
∣
S
n
−
1
=
i
)
=
{
p
,
j
=
i
+
1
1
−
p
,
j
=
i
−
1
P(S_n=j|S_{n-1}=i)=\left\{\begin{array}{r}p,j=i+1\\1-p,j=i-1\end{array}\right.
P(Sn=j∣Sn−1=i)={p,j=i+11−p,j=i−1
这就是一个马尔可夫决策过程(MDP)。
它作为强化学习的数学基础和建模工具,通常由状态空间、动作空间、奖励函数、状态转移函数、折扣率等组成。
后续内容请参考王树森《深度强化学习》一书,这里附上github地址(https://github.com/wangshusen/DRL),讲解简单易懂。
参考文献
[1] Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto