马尔可夫决策过程
1. 马尔可夫过程/马尔可夫链
马尔可夫过程:当前状态只与上一状态有关,即P(s(t)|s(t-1),s(t-1),s(t-2),…,s(1)) = P(s(t)|s(t-1))
马尔可夫链:多个状态点之间的概率转移关系
状态转移矩阵:由一个状态转移至另一个状态的概率
2. 马尔可夫奖励过程
多了一个奖励函数,每一个状态都有一个奖励的数值,当从其他状态转移到这个状态时,就会获得该奖励
3. Return and Value function奖励折扣函数
从一个状态经过一系列过程到另一个状态,中间每个状态的奖励都会分配一个权重,这个权重是超参数
4. 价值
Rt代表t时刻的奖励,r代表权重,在到达状态s的条件下,所获得总奖励的期望为这个状态的价值,价值函数还满足以下等式(Bellman equation):
等式的意思是一个状态的价值等于这个状态当前的奖励加上从这一状态转移至其他状态的加权价值之和,据说这个等式很重要,表示当前状态和未来状态的迭代关系,可以用矩阵来表示:
进而可以求出价值矩阵
但是当矩阵很大时计算量很大(
O
(
n
3
)
O(n^3)
O(n3)),为了计算方便,用蒙特卡洛的方法求解:
比如,如果要算s4的价值,那么就从s4出发,根据转移概率生成很多个轨迹,每个轨迹都对应一个return,直接取平均就是s4的价值
还有一种算法:
把Bellman equation 变成迭代函数,当函数收敛时计算停止
5. 马尔可夫决策过程
比传统马尔可夫链多了一些参数:
比如行为(Action)
Policy:在某种状态下应该采取什么行为
相比于马尔可夫奖励过程,决策过程相当于中间多了一个action环节:
也就是说转移概率不是静态的,而是由action决定的,可以确定到达某个状态,或者确定到达各状态的转移概率
action-value function
q
π
(
s
,
a
)
q^\pi(s,a)
qπ(s,a)函数
然后就是有价值函数和q函数的公式:
描述了当前状态和未来状态的关联
6. Backop Diagram for
V
π
V^\pi
Vπ
定义了某一时刻状态和下一时刻状态的关联
同样,对于q函数也可以进行类似的推导:
7. Policy Evaluation(prediction)
已知策略
π
\pi
π,求价值函数
v
π
(
s
)
v^\pi(s)
vπ(s)的过程
8. MDP的决策
利用动态规划的方式求解
目标是在给定policy函数的条件下求解各状态的价值,则可转化成动态规划形式的迭代公式
在求出t时刻的价值后可根据上式求解t+1时刻的价值
如果只知道MDP怎样才能找出最优的策略policy呢?
使得每一个状态的价值取到最大
方法:对q函数极大化
方法1:穷举。缺点:效率低
方法2:policy iteration(1)估计当前价值函数
(2)得出q函数,并得出优化policy的方法
policy improvement:
bellman optimality equation:
迭代方法:
方法3 value iteration:
先求价值函数的最大值,然后再求解policy