Finite Markov Decision Processes

个人学习记录
虽然DQN的发展,让RL在应用上有了很大的提升,但是很多思想还有可以从以前的方法中找到影子。其中DQN和Policy gradient都是可以从Q-learning和MDPS中找到参考。下面具体介绍MDPS的过程。

符号对应的意义

St:StatetRt:rewardtAt:ActiontP:policy S t : S t a t e 代 表 t 时 刻 的 状 态 R t : r e w a r d 代 表 t 时 刻 的 收 益 A t : A c t i o n 代 表 在 t 时 刻 的 行 为 P : p o l i c y 代 表 行 为 的 准 则

在强化学习中,一般的agent会在当前状态下按照一定准则去执行某个行为,从而得到下个时刻的状态以及对应的收益,及会形成如下的链式结构:

S0,A0,R1,S1,A1,R2,S2...... S 0 , A 0 , R 1 , S 1 , A 1 , R 2 , S 2 . . . . . .

我们首先假设 所有的集合,包括状态集合S,行为集合A,收益集合R都是一个有限的集合。而在这个环境中,我们可以发现,你当前的状态以及所得到的收益,是因为你上一个状态以及对应的行动导致,所以对于在t时刻的 s s ′ r r 可以表示成如下式子:

p(s,r|s,a)=>Pr{St=s,Rt=r|St1=s,At1=a} p ( s ′ , r | s , a ) => P r { S t = s ′ , R t = r | S t − 1 = s , A t − 1 = a }

因为状态和行动都是有限的,所以

sSrRp(s,r|s,a)=1 ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r | s , a ) = 1

结合概率学的联合概率与边缘概率我们可以得到如下几个式子

p(s|s,a)=rRp(s,r|s,a) p ( s ′ | s , a ) = ∑ r ∈ R p ( s ′ , r | s , a )

在s状态下,进行a操作之后,下一个状态会是s’的概率
r(s,a)=>E[Rt|St1=s,At1=a]=rRrsSp(s,r|s,a) r ( s , a ) => E [ R t | S t − 1 = s , A t − 1 = a ] = ∑ r ∈ R r ∑ s ∈ S p ( s ′ , r | s , a )

在s状态,执行a操作之后,得到的收益的期望。
r(s,a,s)=E[Rt|St1=>s,At1=a,St=s]=rRrp(s,r|s,a)p(s|s,a) r ( s , a , s ′ ) = E [ R t | S t − 1 => s , A t − 1 = a , S t = s ′ ] = ∑ r ∈ R r p ( s ′ , r | s , a ) p ( s ′ | s , a )

在s状态下,执行a操作之后,得到的下一个状态为s’时对应的收益的期望。

在整个的执行过程中,我们往往希望的是所有的收益之和最大。即如果当前时刻为t,则:

Gt=Rt+1+Rt+2....+RT G t = R t + 1 + R t + 2 . . . . + R T

其中T为最终的时刻。当增加衰减之后,为:
Gt=Rt+1+γRt+2+γ2Rt+3....+γTt1RT=k=0TγkRt+k+1 G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 . . . . + γ T − t − 1 R T = ∑ k = 0 T γ k R t + k + 1

上式可表达成如下:
Gt=Rt+1+γGt+1 G t = R t + 1 + γ G t + 1

在MDPs中去衡量一个policy在当前状态下所带来的value的方法如下:
vπ(s)=Eπ[Gt|St=s]=Eπ[k=0γkRt+k+1|St=s] v π ( s ) = E π [ G t | S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 | S t = s ]

同理,MDPs衡量一个policy在当前状态下所采用的某个行为所带来的value的方法如下:
qπ(s,a)=Eπ[Gt|St=s,At=a]=Eπ[k=0γkRt+k+1|St=s,At=a] q π ( s , a ) = E π [ G t | S t = s , A t = a ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 | S t = s , A t = a ]

你可能感兴趣的:(算法)