强化学习(二):马尔科夫决策过程(Markov decision process)

本章是强化学习的基础,主要讲的就是马尔科夫决策过程,以后的内容都是以这一节为基础的,所以对本节的相关概念的理解是很重要的。

这一节的概念比较多,也是后面章节的基础,一开始笔者也是一头雾水,只有多看几遍,多去思考,才能慢慢理解。毕竟概念与定义比较多,想要一下子消化完还是有一些难度的。这篇博客也是笔者看完David Silver的公开课与其它一些参考资料后的理解,希望对大家有所帮助。


为什么在强化学习中会用到马尔科夫决策过程呢?

在强化学习中,agent与environment一直在互动。在每个时刻t,agent会接收到来自环境的状态s,基于这个状态s,agent会做出动作a,然后这个动作作用在环境上,于是agent可以接收到一个奖赏 Rt+1 R t + 1 ,并且agent就会到达新的状态。所以,其实agent与environment之间的交互就是产生了一个序列:

S0,A0,R1,S1,A1,R2,... S 0 , A 0 , R 1 , S 1 , A 1 , R 2 , . . .

我们称这个为序列决策过程。而马尔科夫决策过程就是一个典型的序列决策过程的一种公式化。有了马尔科夫的假设,在解决这个序列决策过程才比较方便,而且实用。所以这也是这一节为何要学习马尔科夫决策过程的原因了。


Markov 的定义

首先定义一下什么是Markov:下一个状态的产生只和当前的状态有关,即:

P[St+1|St]=P[St+1|S1,...,St] P [ S t + 1 | S t ] = P [ S t + 1 | S 1 , . . . , S t ]

这说明state St S t is Markov. 本来直观上讲,下一个状态的产生跟所有历史状态是有关的,也就是等式右边所示。但是Markov的定义则是忽略掉历史信息,只保留了当前状态的信息来预测下一个状态,这就叫Markov。


状态转移概率

对于一个具体的状态s和它的下一个状态s’ ,它们的状态转移概率(就是从s转移到s’的概率)定义为:

Pss=P[St+1=s|St=s] P s s ′ = P [ S t + 1 = s ′ | S t = s ]

也就是说,下一个状态的产生只受到当前状态的影响。

假如总共有n种状态可以选择。那么状态转移矩阵P定义为:

P=P11...Pn1......P1n...Pnn P = [ P 11 . . . P 1 n . . . . . . P n 1 . . . P n n ]

矩阵中第i行表示,如果当前状态为i,那么它的下一个状态为1, … , n的概率分别为 Pi1,...,Pin P i 1 , . . . , P i n 。显然,这一行所有概率之和为1.

例如:
状态转移概率示意图
上图中,Class1, Class2, Class3, Facebook, Sleep, pub, Pass都是分别代表不同的状态,状态到状态之间有一个转移概率,即上图右边所示。


Markov Process

这里写图片描述
这个tuple包含了所有的状态,以及各种状态之间转移的概率,这就是马尔科夫过程。马尔科夫过程是一个二元组。

也许你会问:这些转移概率是怎么知道的?
这个问题很好,但是在这里我们先不讨论这个,先假设这个概率我们是知道的就好。以后会说到在现实情况下,很多时候是不知道状态转移概率的,所以有别的方法来做。现在只是要知道有这样的概念。


Markov Reward Process

这里写图片描述

从Markov Process到Markov Reward Process我们加入了一个R。这个R是一个reward,它表示从一个状态s转移到另一个状态s’时能够获得的奖励的期望,也就是上图的 Rs R s 的公式。也许你会问,为什么不是进入某一个状态时得到奖励而是离开时呢?其实这只是一种规定而已,当然也可以说进入某一个状态时得到奖励,只要规定得好就行。在强化学习之简介博客中已经有说到reward这个东西,可以参考。

如何理解
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值