马尔科夫决策过程之Markov Decision Process(马尔科夫决策过程)

马尔科夫决策过程之Markov Decision Process(马尔科夫决策过程)

前面总结了马尔科夫决策过程之Markov Processes(马尔科夫过程),见下文:

忆臻:马尔科夫决策过程之Markov Processes(马尔科夫过程)zhuanlan.zhihu.com图标

马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程),见下文:

忆臻:马尔科夫决策过程之Markov Reward Process(马尔科夫奖励过程)zhuanlan.zhihu.com图标

马尔科夫决策过程之Bellman Equation(贝尔曼方程)

忆臻:马尔科夫决策过程之Bellman Equation(贝尔曼方程)zhuanlan.zhihu.com图标

本文总结一下马尔科夫决策过程之Markov Decision Process(马尔科夫决策过程),算是David第二周课程的完结。

一、Markov Decision Process

马尔科夫决策过程是在马尔科夫奖励过程的基础上加了decisions过程,其实是多了一个action集合。

在马尔科夫决策过程中,与马尔科夫奖励过程不同的就是,这里的P和R都与具体的行为a对应,而不像马尔科夫奖励过程那样仅对应于某个状态,A表示的是有限的行为的集合。

相应的具体的数学表达式如下:

完整的slides如下:

二、Example: Student MDP

可能的MDP的状态转化图

图中红色的文字表示的是采取的行为,而不是先前的状态名。对比之前的学生MRP示例可以发现,即时奖励与行为对应了,同一个状态下采取不同的行为得到的即时奖励是不一样的。

比如说,上面左边的一个状态经过Study这个action的R为-2,经过Facebook这个action的R为-1。

下面我们来介绍一下policy的概念。

三、策略Policy(1)

策略 \pi是概率的集合或分布,其元素 \pi(a|s) 为对过程中的某一状态s采取可能的行为a的概率。用 \pi(a|s) 表示,在给定某个状态s的情况下的策略公式表示如下:

那么一个完整的策略Policy,在多个状态的下的表示就是一个矩阵,行为状态的个数,列为该状态下可能发生的动作,假如有5个状态,每个状态可能的动作都是2个,完整的policy可以表示如下:

需要注意的有:

  • 一个策略完整定义了个体的行为方式,也就是说定义了个体在各个状态下的各种可能的行为方式以及其概率的大小,如上图表格。
  • Policy仅和当前的状态有关,与历史信息无关。
  • 同时某一确定的Policy是静态的,与时间无关;但是个体可以随着时间更新策略

完整slides如下:

四、策略Policy(2)

当给定一个MDP: M = <S, A, P, R, \gamma> 和一个策略π,那么状态序列 S_{1},S_{2},... 是一个马尔科夫过程 <S, P^{\pi}> ;同样,状态和奖励序列 S_{1}, R_{2}, S_{2}, R_{3}, S_{3}, ... 是一个马尔科夫奖励过程 <S, P^{\pi}, R^{\pi}, \gamma> ,并且在这个奖励过程中满足下面两个方程:

解释上式公式,在执行策略 \pi 时,状态从s转移至 s' 的概率等于一系列概率的和,这一系列概率指的是在执行当前策略时,执行某一个行为的概率与该行为能使状态从s转移至s’的概率的乘积。

比如说还是上面那个例子图:

假如我们求在策略 \pi 下,s1状态转移到s2状态的概率 p^{\pi}(s1->s2) ?策略 \pi 如下:

p^{\pi}(s1->s2) =p(s1->Action1)*p(s1->s2)+p(s1->Action2)*p(s1->s2)

这就解释了上面的公式,这里需要注意的就是,一个状态经过了Action之后可以由不同状态转移到其它任意不同状态,比如无人机收到遥控垂直向上的动作,那么它也不一定100%垂直朝上,可能来风了,有10%的可能性超南,70%的可能性垂直向上这种,所以采取了任何动作,后面都会有p(s1->s2)。


奖励函数表示如下:

解释如下:当前状态s下执行某一指定策略得到的即时奖励是该策略下所有可能行为得到的奖励与该行为发生的概率的乘积的和,类似于一种期望的思想。

总结:

  • 策略在MDP中的作用相当于agent可以在某一个状态时做出选择,进而有形成各种马尔科夫过程的可能。
  • 基于策略产生的每一个马尔科夫过程是一个马尔科夫奖励过程,各过程之间的差别是不同的选择产生了不同的后续状态以及对应的不同的奖励。

完整slides如下:

五、Value Function

在马尔科夫决策过程中,价值函数也就变为了基于策略π的价值函数,表示从状态s开始,遵循当前策略时所获得的收获的期望;或者说在执行当前策略π时,衡量个体处在状态s时的价值大小。

公式表示如下:

定义 q_{\pi}(s,a)行为价值函数,表示在执行策略π时,对当前状态s执行某一具体行为a所能的到的收获的期望;或者说在遵循当前策略π时,衡量对当前状态执行行为a的价值大小。

行为价值函数是来评价在特定状态的条件下,某个action的好坏

公式定义如下:

六、Bellman Expectation Equation

MDP下的状态价值函数和行为价值函数与MRP下的价值函数类似,可以改用下一时刻状态价值函数或行为价值函数来表达,具体如下:

下面我们来看v_{\pi}(s) q_{\pi}(s,a)的关系,因为v_{\pi}(s) q_{\pi}(s,a)之间仅仅相差一个动作a,如下图:

公式如下:

其中空心较大圆圈表示状态,黑色实心小圆表示的是动作本身,连接状态和动作的线条将该状态以及该状态下可以采取的行为关联起来。

可以看出,在遵循策略π时,状态s的价值体现为在该状态下遵循某一策略而采取所有可能行为的价值按行为发生概率的乘积求和。

同理我们可以得到:一个行为价值函数也可以表示成状态价值函数的形式,slides如下:

于是将它们组合起来,表示 v_{\pi}(s) 可以如下表示:

其实仅仅就是将两个公式带入到一个表达式。

将它们组合起来,表示 q_{\pi}(s,a) 可以如下表示:

其实也是将两个公式带入到一个表达式。

七、Example: Bellman Expectation Equation in Student MDP

解释一下上面的7.4是如何得来的?是由下面公式得来(其中 \gamma 为1):

从A状态(设7.4那个专题为A专题)出来有两动作,一个是study一个是Pub,每个动作的概率为0.5,则对应上上面公式是 \pi(a|s)=0.5 ,我们先看通过Study的action,发现它转移到了终止状态, v_{\pi}(s') =0,则这条路贡献了0.5*10,同理action为Pub的那条路,R为1,然后各自有0.2,0.4,0.4的概率转移到下一个状态,所以另一条路为:0.5*(1+0.2*-1.3+0.4*2.7+0.4*7.4),所以7.4的来源如下:

八、Bellman Expectation Equation (Matrix Form)

类似于之前介绍的Bellman Equation矩阵形式,如下:

结合矩阵的具体表达形式如下:

总的slides如下:

马尔科夫决策过程中的贝也曼方程矩阵形式仅仅多了一个策略,如下:

编辑于 2018-04-25

文章被以下专栏收录