文章目录
- 1.马尔可夫过程
- 1.1.随机过程
- 1.2.马尔可夫性质
- 1.3.马尔可夫过程
- 2. 马尔可夫奖励过程
- 2.1.回报
- 2.2.价值函数
- 3.马尔可夫决策过程
1.马尔可夫过程
马尔可夫过程(Markov process) 指具有 马尔可夫性质 的 随机过程 ,也被称为马尔可夫链(Markov chain)。我们把定义中的两个定语(马尔可夫性质 和 随机过程)拿出来,分别进行解释。
1.1.随机过程
首先是提到 随机过程 ,就不得不提到另外一个名词——概率论 。二者经常拿来做对比,看一下两者的区别:
- 概率论 研究 静态 随机现象的统计规律。
- 随机过程 研究 动态 随机现象的统计规律。
不过,二者当中都提到了一个新词——“随机现象”,可能有的人对这个词有疑惑,“随机现象” 又是什么呢?官方的定义是这样:
在一定条件下,在个别试验或观察中呈现不确定性,但在大量重复试验或观察中其结果又具有一定规律性的现象,称为随机现象。
通俗来说,“随机现象” 就是某个不确定性的事情。比如:你参加本学期的期末考试,具体各门课程能考多少分是不确定的。但是,你会得出某些规律性的结论,比如专业课可能分数偏低,但公共课分数偏高等,所以:期末考试的分数就是一个随机现象。
那什么是概率论呢?概率论 是研究你期末考试成绩有哪些静态规律,比如某门课程考满分的概率、有多大的概率会及格、有多大概率会够拿奖学金的标准。它是对你已有数据的一个静态分析。
而 随机过程 则是研究你期末考试成绩有哪些动态规律 ,比如你考试成绩随着时间变化有何影响?早考的课是不是分数偏高、晚考的课会不会分数偏低等等。它是随着你考试过程进行的一个动态分析。
综上:
- 随机现象: 期末考试各科能考多少分。
- 概率论: 研究你期末考试分数有哪些静态的规律,比如你专业课考高分的概率、公共课满分的概率等。
- 随机过程: 研究你期末考试分数有哪些动态的规律,比如你考试分数随时间的变化,早考的课是不是分数偏高、晚考的课会不会分数偏低等。(生活中,研究股票随着时间发生波动、天气随着时间发生变化,都是随机过程的例子)
1.2.马尔可夫性质
当且仅当 某时刻的状态 只取决于上一时刻的状态 时,一个随机过程被称为具有马尔可夫性质(Markov property),用公式表示为:
P ( S t + 1 ∣ S t ) = P ( S t + 1 ∣ S 1 , S 2 , … … , S t ) P(S_{t+1} | S_t) = P(S_{t+1} | S_1, S_2, ……, S_t) P(St+1∣St)=P(St+1∣S1,S2,……,St)
也就是说:下一个状态 S t + 1 S_{t+1} St+1 只取决于当前的状态 S t S_t St ;当前状态 S t S_t St 只取决于上一状态 S t − 1 S_{t-1} St−1 。
1.3.马尔可夫过程
定义: 马尔可夫过程(Markov process) 指具有 马尔可夫性质 的 随机过程 ,也被称为马尔可夫链(Markov chain)。
我们通常用二元组 < S , P > <\mathcal{S,P}> <S,P> 来描述一个马尔可夫过程。其中 S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵(State Transition Matrix),状态转移矩阵定义了从任意状态 i i i 到任意状态 j j j 的转移的概率。
下图是一个含有6个状态的马尔可夫过程的简单例子。其中每个绿色圆圈表示一个状态,每个状态都有一定概率(包括概率为 0)转移到其他状态。
以状态
S
1
S_1
S1 为例,从状态
S
1
S_1
S1 到状态
S
1
S_1
S1 的概率为0.9;从状态
S
1
S_1
S1 到状态
S
2
S_2
S2 的概率为0.1;因此
P
(
S
1
∣
S
1
)
=
0.9
,
P
(
S
2
∣
S
1
)
=
0.1
P(S_1|S_1)=0.9,P(S_2| S_1)=0.1
P(S1∣S1)=0.9,P(S2∣S1)=0.1。
这个马尔可夫过程的状态转移矩阵(行列式元素
a
i
j
a_{ij}
aij 就代表从状态
i
i
i 到状态
j
j
j 的转移概率):
P = [ 0.9 0.1 0 0 0 0 0.5 0 0.5 0 0 0 0 0 0 0.6 0 0.4 0 0 0 0 0.3 0.7 0 0.2 0.3 0.5 0 0 0 0 0 0 0 1 ] P=\begin{bmatrix} 0.9 & 0.1 & 0 & 0 & 0 & 0 \\ 0.5 & 0 & 0.5 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0.6 & 0 & 0.4 \\ 0 & 0 & 0 & 0 & 0.3 & 0.7 \\ 0 & 0.2 & 0.3 & 0.5 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix} P= 0.90.500000.10000.2000.5000.30000.600.500000.300000.40.701
2. 马尔可夫奖励过程
通俗理解:马尔可夫奖励过程 = 马尔可夫过程 + 奖励。
-
马尔可夫过程 是二元组 < S , P > <\mathcal{S,P}> <S,P> ; S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵。
-
马尔可夫奖励过程 是四元组 < S , P , r , γ > <\mathcal{S,P,r,\gamma}> <S,P,r,γ> ; S \mathcal{S} S 是有限状态的集合, P \mathcal{P} P 是状态转移矩阵, r r r 是奖励函数, γ \gamma γ 是奖励的折扣因子。
2.1.回报
在一个马尔可夫奖励过程中,从第 S t S_t St 时刻状态开始,直到终止状态时,所有奖励的衰减之和称为回报 G t G_t Gt(Return),公式如下:
G t = R t + γ R t + 1 + γ 2 R t + 2 + ⋯ = ∑ k = 0 ∞ γ k R t + k G_{t}=R_{t}+\gamma R_{t+1}+\gamma^{2} R_{t+2}+\cdots=\sum_{k=0}^{\infty} \gamma^{k} R_{t+k} Gt=Rt+γRt+1+γ2Rt+2+⋯=k=0∑∞γkRt+k
下图是在马尔可夫过程的基础上改编的马尔可夫奖励过程。
假设采样了一条序列:
S
1
⟶
S
2
⟶
S
3
⟶
S
6
S_1 \longrightarrow S_2 \longrightarrow S_3 \longrightarrow S_6
S1⟶S2⟶S3⟶S6,计算
γ
\gamma
γ 为0.5时,状态
s
1
s_1
s1 的回报
G
1
G_1
G1 为(指:从状态
s
1
s_1
s1 开始到终止状态的累计奖励)。
任意状态
s
t
s_t
st 的回报
G
t
G_t
Gt :
G
t
=
R
t
+
γ
R
t
+
1
+
γ
2
R
t
+
2
+
⋯
=
∑
k
=
0
∞
γ
k
R
t
+
k
G_{t}=R_{t}+\gamma R_{t+1}+\gamma^{2} R_{t+2}+\cdots=\sum_{k=0}^{\infty} \gamma^{k} R_{t+k}
Gt=Rt+γRt+1+γ2Rt+2+⋯=k=0∑∞γkRt+k
状态
s
1
s_1
s1 的回报
G
1
G_1
G1 :
G
t
=
r
1
+
γ
r
2
+
γ
2
r
3
+
γ
3
r
6
=
(
−
1
)
+
0.5
×
(
−
2
)
+
0.
5
2
×
(
−
2
)
+
0.
5
3
×
0
=
(
−
1
)
+
(
−
1
)
+
(
−
0.5
)
+
(
0
)
=
−
2.5
\begin{aligned} G_{t} &= r_1 + \gamma r_2 + \gamma^{2} r_3 + \gamma^{3} r_6 \\ &= (-1) + 0.5 \times (-2) + 0.5^2 \times (-2) + 0.5^3 \times 0 \\ &= (-1) + (-1) + (-0.5) + (0) \\ &= -2.5 \end{aligned}
Gt=r1+γr2+γ2r3+γ3r6=(−1)+0.5×(−2)+0.52×(−2)+0.53×0=(−1)+(−1)+(−0.5)+(0)=−2.5