Lecture 2:Markov Decision Processes
Part 1
一、马尔可夫链
满足马尔可夫特征,未来的转移与过去是独立的,只取决于现在。
状态转移矩阵
给定了马尔可夫链以后,可以对其进行采样,得到一条轨迹。
二、马尔可夫奖励过程
马尔可夫链+奖励函数
奖励函数是一个期望
类比一个没有动力的纸船,随波逐流到一定位置后得到相应奖励。
值函数,是未来奖励的期望
引入gamma的原因
避免陷入环;同时可以尽快获得相应奖励,而不是在后面才获得奖励。
可以设置0:只关心当前奖励
可以设为1:更关心未来奖励
计算一个状态的价值,可以通过取很多轨迹,然后取状态的平均(蒙特卡罗)
或者,通过贝尔曼方程:
贝尔曼方程是当前状态和未来状态迭代的关系:
这里的R是到达现在位置s所得到的奖励,与下一时刻无关。
将贝尔曼方程写成矩阵的形式:
通过矩阵求逆,把价值求出来。当状态上万的时候求逆是很复杂的。
简单的方法是通过迭代的方法:
动态规划
蒙特卡洛
TDlearning
(1)、蒙特卡洛
从某一状态开始,得到很多轨迹,得到很多G,取平均,就可以得到价值。
(2)、动态规划
利用贝尔曼方程进行迭代值函数,直到收敛。
三、马尔可夫决策过程
相对马尔可夫奖励过程多了一个action。
转移概率和价值函数都多了一个A
有了动作,因此就有策略。策略有两种表示形式:概率形式,即每个动作有多大概率被选择,这里假设概率是静态的;或者是确定性的行为。
马尔可夫决策过程和马尔可夫奖励过程的转换:
已知马尔可夫决策过程和某一策略,通过对每个动作求和,就可以直接得到马尔可夫奖励过程的转移概率;同时对于奖励函数也可以以同样的方式把a去掉。
这里对马尔可夫决策过程的值函数重新进行定义,这里的期望是基于策略pi的(因为G是基于pi的)。
定义q函数,也是基于策略pi的。
两者之间关系是,对所有动作的q函数进行加和。
在策略pi下的贝尔曼方程称为贝尔曼期望方程,指的是把所有可能的行为都求和掉。
注意这里的At+1也是一种概率的形式(也是一种期望,求和后得到的是值函数)。
两者互相转化后得到:
两层的回溯图
Part 2
马尔可夫决策过程的预测(价值函数)和控制(寻找最佳策略,最佳值函数)
一、动态规划求解
把一个问题分解为一些子结构,如果子结构都能解决的话,原来问题就能解决。马尔可夫结构是满足动态规划结构的。因为可以分解成一系列递归的结构。
1、策略迭代:
(1)、策略评估
将贝尔曼方程反复用当前策略迭代,直到收敛:
得到上衣时刻值函数,可以当前时刻的值。
将a求和消去以后,就可以的到马尔可夫奖励过程,通过迭代这样更简化的价值函数,可以得到每个状态的价值:
(2)、策略提升
一个MDP被解,指的是得到一个最优值函数,可能多个最优策略。
如何寻找?
在v函数收敛后,对每个状态求得q函数的最大化的a,就是最优的策略。
证明过程见《强化学习导论》
当改进停止的时候,就得到了贝尔曼最优方程:
同时会得到q函数以及v函数之间的转移方程,其中v函数之间的转换方程是值迭代的基础,q函数之间的转换方程是Q-Learning的基础:
2、值迭代
通过不断迭代最优值函数,最后就可以得到最优(厉害)…
找最优策列的时候,可以重构q,然后找argmax,每经过一轮就找一次策略。