目录
基本概念
马尔可夫
在一个时序过程中,如果t+1时刻的状态仅取决于t时刻的状态St而与t时刻之前的任何状态都无关时,则认为t时刻的状态St具有马尔科夫性(Markovproperty)。若过程中的每一个状态都具有马尔科夫性,则这个过程具备马尔科夫性。具备了马尔科夫性的随机过程称为马尔科夫过程(Markovprocess),又称马尔科夫链(Markovchain)。
状态转移概率矩阵
采样
- 从符合马尔科夫过程给定的状态转移概率矩阵生成一个状态序列的过程称为采样(sample)。
- 采样将得到一系列的状态转换过程,我们称为状态序列(episode)。
马尔可夫奖励过程
马尔科夫过程只涉及到状态之间的转移概率,并未触及强化学习问题中伴随着状态转换的奖励反馈。如果把奖励考虑进马尔科夫过程,则成为马尔科夫奖励过程(Markovrewardprocess,MRP)。它是由⟨S,P,R,γ⟩构成的一个元组,其中:
-
S是一个有限状态集P是集合中状态转移概率矩阵:
-
R是一个奖励函数:
-
γ是一个衰减因子:γ∈[0,1]
收获(return)
- 收获(return)是一个马尔科夫奖励过程中从某一个状态St开始采样直到终止状态时所有奖励的有衰减的之和。数学表达式如下:
价值(value)
- 价值(value)是马尔科夫奖励过程中状态收获的期望。ta数学表达式为:
价值函数(valuefunction)
- 如果存在一个函数,给定一个状态能得到该状态对应的价值,那么该函数就被称为价值函数(valuefunction)。价值函数建立了从状态到价值的映射。
贝尔曼方程
- 上式称为马尔科夫奖励过程中的贝尔曼方程(Bellmanequation),它提示一个状态的价值由该状态的奖励以及后续状态价值按概率分布求和按一定的衰减比例联合组成。
- 矩阵形式:
马尔可夫决策过程
- 马尔科夫奖励过程并不能直接用来指导解决强化学习问题,因为它不涉及到个体行为的选择,因此有必要引入马尔科夫决策过程。马尔科夫决策过程(Markovdecisionprocess,MDP)是由⟨S,A,P,R,γ⟩构成的一个元组,其中:
- S是一个有限状态集
- A是一个有限行为集
- P是集合中基于行为的状态转移概率矩阵:
- R是基于状态和行为的奖励函数:
- γ是一个衰减因子:γ∈[0,1]
策略
- 个体在给定状态下从行为集中选择一个行为的依据则称为策略(policy),用字母π表示。策略π是某一状态下基于行为集合的一个概率分布:
价值
- 定义:价值函数Vπ(s)是在马尔科夫决策过程下基于策略π的状态价值函数,表示从状态s开始,遵循当前策略π时所获得的收获的期望,
由于引入了行为,为了描述同一状态下采取不同行为的价值,我们定义一个基于策略π的行为价值函数qπ(s,a),表示在遵循策略π时,对当前状态s执行某一具体行为a所能的到的收获的期望:
最优状态价值函数与最优行为价值函数
-
行为是连接马尔科夫决策过程中状态转换的桥梁,一个行为的价值与状态的价值关系
紧密。具体表现为一个状态的价值可以用该状态下所有行为价值来表达:
代码:def compute_v(MDP,V,Pi,s): ``` 给定MDP下依据某一策略Pi和当前状态价值函数V计算某状态S的价值 ``` S,A,R,P,gamma=MDP v_s = 0; for a in A: v_s+=get_pi(Pi,s,a)*compute_q(MDP,V,s,a) return v_s
-
类似的,一个行为的价值可以用该行为所能到达的后续状态的价值来表达:
代码:
def compute_q(MDP,V,s,a):
```
根 据 给 定 的MDP, 价 值 函 数V, 计 算 状 态 行 为 对s,a的 价 值qsa
```
S, A, R, P, gamma = MDP
q_sa = 0
for s_prime in S:
q_sa += get_prob(P, s,a,s_prime) * get_value(V, s_prime)
q_sa = get_reward(R, s,a) + gamma * q_sa
return q_sa
- 上面两个式子结合,可以得出
或
- 最优状态价值函数
最优状态价值函数(optimalvaluefunction)是所有策略下产生的众多状态价值函数中的最大者:
- 最优行为价值函数
最优行为价值函数(optimalaction-valuefunction)是所有策略下产生的众多行为价值函数中的最大者:
存在如下的结论:
-
对于任何马尔科夫决策过程,存在一个最优策略π∗优于或至少不差于所有其它策略。一个马尔科夫决策过程可能存在不止一个最优策略,但最优策略下的状态价值函数均等同于最优状态价值函数:
-
最优策略下的行为价值函数均等同于最优行为价值函数:
-
最优策略可以通过最大化最优行为价值函数来获得
-
该式表示,在最优行为价值函数已知时,在某一状态s下,对于行为集里的每一个行为a将对应一个最优行为价值q∗(s,a),最优策略π∗(a|s)将给予所有最优行为价值中的最大值对应的行为以100%的概率,而其它行为被选择的概率则为0,也就是说最优策略在面对每一个状态时将总是选择能够带来最大最优行为价值的行为。这同时意味着,一旦得到q∗(s,a),最优策略也就找到了。因此求解强化学习问题就转变为了求解最优行为价值函数问题。
-
各状态以及相应行为对应的最优价值可以通过回溯法递
推计算得到。其中,状态s的最优价值可以由下面的贝尔曼最优方程得到
最优价值
- 由贝尔曼最优方程得出最优行为价值函数
公式表示:一个行为的最优价值由两部分组成,一部分是执行该行为后环境给予的确定的即时奖励,另一部分则由所有后续可能状态的最优状态价值按发生概率求和乘以衰减系数得到。 - 由贝尔曼最优方程得出最优行为价值函数
最优行为价值
其他方法
- 贝尔曼最优方程不是线性方程,无法直接求解,通常采用迭代法来求解,具体有价值迭代、策略迭代、Q 学习、Sarsa 学习等多种迭代方法,后续将陆续介绍
参考:https://github.com/qqiang00/Reinforce