马尔可夫过程(MP)
“ The future is independent of the past given the present ”,也就是说对当前而言,未来与过去是毫无关系的。
马尔可夫状态定义如下:
P(st+1∣st)=P(st+1∣s1,⋯,st)
即当前状态的前提下,下个状态发生的概率 = 当前状态及其之前所有状态的前提下,下一个状态发生的概率。可以理解为,当前状态已经包含了历史所有信息。未来只与当前状态有关,现在是过去的充分统计。
该性质称为马尔可夫性质。
状态转移概率定义如下:
Pss′=P(st+1=s′∣st=s)
将所有状态转移概率写成矩阵形式,得到状态转移矩阵:
P=(from)(to)⎣⎢⎡P11⋮Pn1⋯⋯P1,nPnn⎦⎥⎤
马尔可夫过程(Markov Process)定义如下:
马尔可夫过程(马尔科夫链)是一个元组<S,P>,S是有限状态集,P是状态转移矩阵。
马尔可夫奖励过程(MRP)
首先我们设想一下,现在我们处于“ 大学生 ”状态,之后可能的状态有“ 读研 ”和“ 找工作 ”,选择不同的“ 状态 ”将会有不同的“ 未来 ”,未来的“ 收入 ”当然也就有所区别了。现在我们假设选择了“ 读研 ”,以经济学中“ 折现 ”的概念来理解未来的“ 收入 ”,我们现在的选择其实已经一定程度上转换成了“ 一定折扣的未来收入 ”。
这就是所谓的累计奖励(Return),即在一条马尔科夫奖励链上从t时刻开始往后所有的奖励(Reward)的有衰减总和,定义如下:
Gt=Rt+1+γRt+2+⋯=k=0∑∞γkRt+k+1
其中γ是折扣因子。就像未来的钱会贬值一样,γ通常取[0,1]。Gt、Rt+1其实也可以理解为所有马尔科夫链收益值的集合。
值函数(Value)给出了当前状态的期望,定义如下:
v(s)=E(Gt∣St=s)
马尔可夫奖励过程(Markov Reward Process)定义如下:
马尔可夫奖励过程是一个四元组<S,Pss′,Rs,γ>,S是有限状态集,Pss′是状态转移概率,
- Rs=E(Rt+1∣St=s)是奖励函数,
- γ∈[0,1]是折扣因子。
可以看出,每一个状态的马尔可夫链有无数个,给定一个马尔可夫链求回报Gt容易,但是要求值函数v(s)几乎不可能。
这里借助于贝尔曼等式(Bellman) 能够很好的解决这个问题。
贝尔曼等式定义如下:
v(s)=Rs+γs′∈S∑Pss′v(s′)
推导过程为:
v(s)=E(Gt∣St=s)=E(Rt+1+γRt+2+...∣St=s)=E(Rt+1+γGt+1∣St=s)=E(Rt+1+γv(St+1)∣St=s)(St+1是多条马尔可夫链集合)=Rs+γs′∈S∑Pss′v(s′)
贝尔曼等式的矩阵形式:
V=R+γPV
可得
V=(I−γP)−1R
马尔可夫决策过程(MDP)
马尔可夫决策过程(Markov Decision Process)是伴有决策的的马尔可夫奖励过程,给出定义如下:
马尔可夫决策过程是一个五元组<S,A,Pss′a,Rsa,γ>,S是有限状态集,A是有限动作集,
- Pss′a=P(St+1=s′∣St=s,At=a)是执行动作 的状态转移概率,
- Rsa=E(Rt+1∣St=s,At=a)是执行动作 的奖励函数,
- γ∈[0,1]是折扣因子。
为了表示不同状态采取不同动作的概率,我们引入策略(Policy)的概念,定义如下:
π(a∣s)=P(At=a∣St=s)
采取策略 的状态转移概率和奖励函数定义为:
Pss′πRsπ=a∈A∑π(a∣s)Pss′a=a∈A∑π(a∣s)Rsa
现在就出现了两种值函数:状态值函数vπ和动作值函数qπ,定义如下:
vπ(s)qπ(s,a)=Eπ(Gt∣St=s)=Eπ(Gt∣St=s,At=a)
可以看出
vπ(s)=a∈A∑π(a∣s)qπ(s,a)
同样的,贝尔曼等式表示为
vπ(s)=Rsπ+γs′∈S∑Pss′πvπ(s′)=a∈A∑π(a∣s)(Rsa+γs′∈S∑Pss′avπ(s′))