强化学习入门基础——马尔可夫决策过程(MDP)

MDP背景介绍

Random Variable

随机变量(Random Variable),通常用大写字母来表示一个随机事件。比如看下面的例子:

$X$: 河水是咸的

$Y$: 井水是甜的

很显然,$Y$, $Y$两个随机事件是没有关系的。也就是说$X$和$Y$之间是相互独立的。记作:
$$
X \bot Y
$$

Stochastic Process

对于一类随机变量来说,它们之间存在着某种关系。比如:

$S_{t}$:表示在 $t$ 时刻某支股票的价格,那么 $S_{t+1}$ 和 $S_t$ 之间一定是有关系的,至于具体什么样的关系,这里原先不做深究,但有一点可以确定,两者之间一定存在的一种关系。随着时间 $t$ 的变化,可以写出下面的形式:
$$
…S_t, S_{t+1},S_{t+2}…
$$
这样就生成了一组随机变量,它们之间存在着一种相当复杂的关系,也就是说,各个随机变量之间存在着关系,即不相互独立。由此,我们会把按照某个时间或者次序上的一组不相互独立的随机变量的这样一个整体作为研究对象。这样的话,也就引出了另外的一个概念:随机过程(Stochastic Process)。也就是说随机过程的研究对象不在是单个的随机变量,而是一组随机变量,并且这一组随机变量之间存在着一种非常紧密的关系(不相互独立)。记作:
$$
\lbrace S_t \rbrace ^\infty_{t=1}
$$

Markov Chain/Process

马尔科夫链(Markov Chain)即马尔可夫过程,是一种特殊的随机过程——具备马尔可夫性的随机过程。

  • 马尔可夫性:(Markov Property): 还是上面股票的例子,如果满足 $P(S_{t+1}) \mid S_t,S_{t-1}…S_1) = P(S_{t+1}\mid S_t)$,即具备了马尔可夫性。简单来说,$S_{t+1} 之和S_t$之间存在关系,和以前的时刻的没有关系,即只和“最近的状态” 有关系。
  • 现实例子:下一个时刻仅依赖于当前时刻,跟过去无关。比如:一个老师讲课,明天的讲课状态一定和今天的状态最有关系,和过去十年的状态基本就没关系了。
  • 最主要考量:为了简化计算。$P(S_{t+1}) \mid S_t,S_{t-1}…S_1) = P(S_{t+1}\mid S_t)$ 如果 $S_{t+1}$ 和 $S_t,S_{t-1}…S_1$ 都有关系的话,计算的话就会爆炸了。

马尔可夫链/过程 即满足马尔可夫性质的随机过程,记作:
$$
P(S_{t+1}) \mid S_t,S_{t-1}…S_1) = P(S_{t+1}\mid S_t)
$$

State Space Model

状态空间模型(State Space Model),常应用于 HMM,Kalman Filterm Particle Filter,关于这几种这里不做讨论。在这里就是指马尔可夫链 + 观测变量,即Markov Chain + Obervation

spm

如上图所示,s1-s2-s3为马尔可夫链,a1, a2, a3为观测变量,以a2为例,a2只和s2有关和s1, s3无关。状态空间模型可以说是由马尔可夫链演化而来的模型。记作:

Markov Chain + Obervation

Markov Reward Process

马尔可夫奖励过程(Markov Reward Process),即马尔可夫链+奖励,即:Markov Chain + Reward。如下图:

举个例子,比如说你买了一支股票,然后你每天就会有“收益”,当然了这里的收益是泛化的概念,收益有可能是正的,也有可能是负的,有可能多,有可能少,总之从今天的状态$S_t$ 到明天的状态
$S_{s+1}$ ,会有一个reward。记作:

Markov Chain + Reward

Markov Decision Process

马尔可夫决策过程(Markov Decision Process),即马尔可夫奖励过程的基础上加上action,即:Markov Chain + Reward + action。如果还用刚才的股票为例子的话,我们只能每天看到股票价格的上涨或者下降,然后看到自己的收益,但是无法操作股票的价格的,只有看到份,只是一个“小散户”。这里的马尔可夫决策过程相当于政策的制定者,相当于一个操盘手,可以根据不同的状态而指定一些政策,也就相当于 action。

在马尔可夫决策过程中,所有的状态是我们看成离散的,有限的集合。所有的行为也是离散有限的集合。记作:

$$
{
\it S: \quad state \quad set \quad \quad \quad\quad\quad\quad\quad\quad\quad\quad S_t \
\it A: \quad action \quad set ,\quad \quad \forall s \in S,A_{(s)} \quad\quad A_t\
\it R: \quad reward \quad set \quad\quad\quad\quad\quad\quad\quad\quad\quad R_t, R_{(t+1)} \
}
$$
对于上述公式简单说明,$S_t$ 用来表示某一个时刻的状态。$A_{(s)}$ 表示在某一个状态时候的行为 ,这个行为一定是基于某个状态而言的,假设在$t$ 时刻的状态为$S$ 此时的action记作 $A_t$ 。$R_t 和 R_{(t+1)}$ 只是记法不同,比如下面的例子:从$S_t$状态经过 $A_t$ 到$S_{t+1}$状态,获得的奖励一般记作$R_{(t+1)}$。 也就是说$S_t$, $A_t$ ,$R_{(t+1)}$ 是配对使用的。

Summary

Reference

//www.bilibili.com/video/BV1RA411q7wt?p=1

未完待续…今天就先写这么多啦~