贝尔曼方程

累积折现回报(reward)

Rt=rt+1+γrt+2+γ2rt+3+=k=0γrt+k+1(1) (1) R t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + ⋯ = ∑ k = 0 ∞ γ r t + k + 1

策略(policy)

   策略一般写成 π(s,a) π ( s , a ) ,即在状态s下执行了动作a的概率,用来描述一系列行动方式。它是一个函数,能够采取一个状态和一个动作,并返回在当前状态下采取这个动作的概率。

![这里写图片描述](https://img-blog.csdn.net/20180708212248117?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3piZ3p6eg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

  如上图显示,我们可以有:

π(Hungry,eat)=0.5π(Hungry,eat¯)=0.5π(Full,eat¯)=1.0 π ( H u n g r y , e a t ) = 0.5 π ( H u n g r y , e a t ¯ ) = 0.5 π ( F u l l , e a t ¯ ) = 1.0

价值函数(value function)

   在强化学习中有两种不同的价值函数。一种是状态值函数(state value function),用V(s)表示;另一种是行动值函数(action value function) ,用Q(s,a)表示。

Vπ(s)=Qπ(s,a)=Eπ[Rt|st=s]Eπ[Rt|st=s,at=a](2)(3) (2) V π ( s ) = E π [ R t | s t = s ] (3) Q π ( s , a ) = E π [ R t | s t = s , a t = a ]

状态转移概率 Pass P s s ′ a 以及期望回报 Rass R s s ′ a

状态转移概率:

Pass=Pr(st+1=s|st=s,at=a)(4) (4) P s s ′ a = P r ( s t + 1 = s ′ | s t = s , a t = a )
   P是过渡概率。如果我们从状态s开始,然后采取动作a,那么我们就会有 Pass P s s ′ a 的概率得到状态${s}’。

期望回报:

Rass=E[rt+1|st=s,st+1=s,at=a](5) (5) R s s ′ a = E [ r t + 1 | s t = s , s t + 1 = s ′ , a t = a ]
   我们从状态s开始,采取行动a,然后转移到状态 s s ′ 得到了下一个回报的期望值,即 Rass R s s ′ a

马尔科夫决策过程:

   一个有限的马尔科夫决策过程由一个四元组构成 M=(S,A,P,R) M = ( S , A , P , R ) 。其中 S S 表示有限的状态集空间,A A 表示动作集空间, P P 表示状态转移概率矩阵,R R 表示期望回报值。
   在MDP中给定任意一个状态 sS s ∈ S 和一个动作 aA a ∈ A ,就会以某个概率转移到下一个状态 sS s ′ ∈ S
   这个概率为:
p(s|s,a)=Pr(st+1=s|st=s,at=a)P(6) (6) p ( s ′ | s , a ) = P r ( s t + 1 = s ′ | s t = s , a t = a ) ∈ P
   并获得下一个回报的期望值为:
Rass=E[rt+1|st=s,st+1=s,at=a]R(7) (7) R s s ′ a = E [ r t + 1 | s t = s , s t + 1 = s ′ , a t = a ] ∈ R

贝尔曼方程

  有了上述的一些工具,我们就能够开始推到贝尔曼方程了,由回报公式(1)和状态值函数(2),我们可以得到以下的公式:

Vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+|st=s]=Eπ[k=0γkt+k+1|st=s](8) (8) V π ( s ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + ⋯ | s t = s ] = E π [ ∑ k = 0 ∞ γ t + k + 1 k | s t = s ]

  然后在求和中分离出 rt+1 r t + 1 ,得到如下式子:
Vπ(s)=E[rt+1+γk=0γkrt+k+2|st=s](9) (9) V π ( s ) = E [ r t + 1 + γ ∑ k = 0 ∞ γ k r t + k + 2 | s t = s ]
   根据以下两式:
Eπ[rt+1|st=s]=aπ(s,a)sPassRass(10) (10) E π [ r t + 1 | s t = s ] = ∑ a π ( s , a ) ∑ s ′ P s s ′ a R s s ′ a
Eπ[γk=0γkrt+k+2|st=s]=aπ(s,a)sPassγEπ[k=0γkrt+k+2|st+1=s](11) (11) E π [ γ ∑ k = 0 ∞ γ k r t + k + 2 | s t = s ] = ∑ a π ( s , a ) ∑ s ′ P s s ′ a γ E π [ ∑ k = 0 ∞ γ k r t + k + 2 | s t + 1 = s ′ ]

  推出贝尔曼方程式:
Vπ(s)=aπ(s,a)sPass{Rass+γEπ[k=0γkrt+k+2|st+1=s]}(12) (12) V π ( s ) = ∑ a π ( s , a ) ∑ s ′ P s s ′ a { R s s ′ a + γ E π [ ∑ k = 0 ∞ γ k r t + k + 2 | s t + 1 = s ′ ] }
   可以发现该方程的末尾段即使当 s=s s = s ′ 时候的状态值方程,故可以得到下式:
Vπ(s)=aπ(s,a)sPass[Rass+γk=0Vπ(s)](13) (13) V π ( s ) = ∑ a π ( s , a ) ∑ s ′ P s s ′ a [ R s s ′ a + γ ∑ k = 0 ∞ V π ( s ′ ) ]
  贝尔曼方程的行为值函数也可以用类似的方法推导,结果如下所示:
Qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+|st=s,at=a]Qπ(s,a)=E[rt+1+γk=0γkrt+k+2|st=s,at=a]Qπ(s,a)=sPass{Rass+γaEπ[k=0γkrt+k+2|st+1=s,at+1=a]}Qπ(s,a)=sPass[Rass+γaQπ(s,a)] Q π ( s , a ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + ⋯ | s t = s , a t = a ] Q π ( s , a ) = E [ r t + 1 + γ ∑ k = 0 ∞ γ k r t + k + 2 | s t = s , a t = a ] Q π ( s , a ) = ∑ s ′ P s s ′ a { R s s ′ a + γ ∑ a ′ E π [ ∑ k = 0 ∞ γ k r t + k + 2 | s t + 1 = s ′ , a t + 1 = a ′ ] } Q π ( s , a ) = ∑ s ′ P s s ′ a [ R s s ′ a + γ ∑ a ′ Q π ( s ′ , a ′ ) ]

yining贝尔曼方程http://www.atyun.com/10331.html

你可能感兴趣的:(强化学习)