参考资料:
1) David Silver的强化学习视频
2) Sutton的Reinforcement Learning入门,第二版
3) Shangtong Zhang代码,地址:https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
对应了Sutton的书中的练习;
接下来是MDP。
1,状态是Markov的
状态是Markov的当且仅当P[
|
] = P[
|
,...,
],也就是t+1时刻的状态仅和t时刻的状态有关;
2,状态转移矩阵P
若共有n个状态,则有状态转移矩阵:
其中,
当然,矩阵每一行,每一列的之和为1。
3,Markov process的定义
Markov process用状态的集合S和状态转移矩阵P的元组<S, P>来定义。
4, 举例
Student Markov Chain
Student Markov Chain Episodes
每个Episode是对Markov Chain的一次采样,有始有终,以S1 = C1为例,以下都是一个Episode:
状态转移矩阵为:
5,MRP(Markov Reward Process)
MRP = Markov Process + Reward
用元组<S, P, R, >来定义
其中,
R是奖赏函数,一般定义为:
是折扣系数, 0
1
6,Returns
t时刻的Reward 是一个随机变量(因为t时刻的状态S是随机变量),是标量,如果t时刻处于状态S= s,则
=
t时刻的Returns 定义为:
其中,0
1
当接近于0的时候,只考虑未来一小段时间的Reward,这个
被看成是myopic的;
当接近于0的时候,考虑了未来很长一段时间的Reward,这个
被看成是far-sighted的;
7,Value Function
状态值函数v(s)是对当前所处状态s好坏(能得到多少奖赏)的评价。定义为:
8,举例
以为例,红色字体的R = -2就是
而若以为起点,令
,(注意
的下标1表示的是t = 1,也就是时刻t,则
表示时刻1处于状态C1)
此时,
则状态值函数值v(C1) = E{ |
}
是随机变量:有多少个Episode采样,就会有多少个
可能的取值:
而v(C1) 其实就是对最后一列求均值(数学期望)。
9, Bellman equation
由上可见,求解v(s)很重要。先来看Bellman equation
这个方程的证明除了用了数学期望的展开,还用到了条件数学期望的一个性质:
补充了几个步骤如下,详细证明如下:
另外需要注意的是,PPT中经常出现的是随机变量;
10, Bellman equation的求解
先将Bellman equation写成矩阵形式:
可见,可以直接求解为:
但是直接求解有难度:计算复杂度是的,其中n是状态数,当状态很多的时候,就很难直接求解了;
因此,直接求解只能用在一些小型的MRP中,对于大型的MRP问题,通常用一些迭代算法来求解:
有动态规划,Mote-Carlo估计,和TD,后续会详细讲;
11,Markov Decision Process
MDP = MRP + decisions
MDP是元组<S, A, P, R, >
新增加的A是动作集;
由于新增了动作集,状态的变化和动作有了关联,因此状态转移矩阵P需要重新定义,其元素的定义为:
同理奖赏函数重新定义,其元素定义为:
12,MDP引入策略
策略(a | s) = P[
= a |
= s]是一个条件概率,它完全定义了Agent的行为;
可见,现在的是一与
有关的随机变量,自然地,可以对7中的MDP引入策略:
给定一个MDP M = <S, A, P, R, >和策略
,则
S1,S2,...是 Markov process<S, >
S1, R2, S2是Markov reward process<S, ,
,
>
其中:
对上两式的理解:
第1式使用了全概公式:
对应1式,A = {当策略为时,状态s转移到s'}
Bi = {当策略为时,在状态为s的时候,对环境Environment使用动作a}
也就是,P(Bi)对应了(a | s),P(A | Bi)对应了
第2式使用了数学期望的全概公式:
13,目前对 MDP引入策略后的一个理解
由(a | s) = P[
= a |
= s]看出,
= a 的概率与
= s由关系,因此
由 = s决定。所以,
= s就决定了整个模型的情形;(这里不知如何表达。。。隐约觉得MDP就是由
是什么状态决定的)
14,引入策略后的Value Function
和
状态值函数 ,其含义为t时刻的状态为s,后续时刻都采用策略
,得到的状态值,也就是说在t时刻可能采用的不是策略
;
动作值函数,其含义为t时刻的状态为s,并执行动作a,后续时刻都采用策略
,得到的动作值,也就是说在t时刻可能采用的不是策略
,动作a也很可能和策略
无关;
15,引入策略后的Bellman Equation
证明:
仿照9,略去部分中间步骤,证明如下:
证明:
其他几个公式:
(1)
根据数学期望的全概率公式可证明:
(2)
证明:
仿照9,略去部分中间步骤,证明如下:
(2)代入(1)有:
(3)
(1)代入(2)有:
(4)
另外:
MDP的Bellman方程的矩阵形式直接从MRP的Bellman方程的矩阵形式推断出:
16, 最优值函数的定义
我觉得这里的定义有这样一层意思:也就说,很可能不存在一个策略,使得
。即如果
,并且
,
,也就是
在
上达到最大状态值,
在
上达到最大,则
可以不等于
;
17,策略大小的定义
18, 最优策略
最优策略就是最大的策略,并且最优策略可能有多个,都记为;
19,一个重要的定理
对于任意的 MDP过程:
a)总是存在最优策略 ;
b),这里的意思是,任意的状态都能够在
上达到最大的状态值(对照16理解);
c)
20,寻找最优策略
由上述定理,很明显,最优策略可以这样得到:
也就是说如果得到了,最优策略
也就得到了。
于是,关键就是如何求解的了。
21,求解
先看Bellman Optimality Equation
证明如下:
(1)的证明需要用到公式
以及定义
以及定理
证明步骤如下:
(2)的证明用到了公式
以及定理 和
证明步骤如下:
Bellman最优方程是非线性的(是因为有max),没有封闭的解。
Bellman最优方程的求解一般使用一些迭代算法,后面的章节会逐步说到。