周志华-机器学习-笔记(五)- 强化学习

 #### 任务与奖赏 ####

  “强化学习”(reinforcement learning)可以讲述为在任务过程中不断摸索,然后总结出较好的完成任务策略。
  强化学习任务通常用马尔可夫决策过程(Markov Decision Process,简称MDP)来描述:机器处于环境 E E 中,状态空间为X,其中每个状态 xX x ∈ X 是机器感知到的环境的描述;机器能采取的动作构成了动作空间 A A ;若某个动作aA作用在当前状态 x x 上,则潜在的转移函数P将使得环境从当前状态按某种概率转移到另一个状态;在转移到另一个状态的同时,环境会根据潜在的“奖赏”(reward)函数 R R 反馈给机器一个奖赏;综合起来,强化学习任务对应了四元组E=<X,A,P,R>,其中 P:X×A×XR P : X × A × X → R 指定了状态转移概率, R:X×A×XR R : X × A × X → R 指定了奖赏;在有的应用中,奖赏函数可能仅与状态转移有关,即 R:X×XR R : X × X → R
这里写图片描述
  图16.2给出了西瓜浇水的马尔可夫决策过程。该任务中只有四个状态(健康、缺水、溢水、凋亡)和两个动作(浇水、不浇水),在每一步转移后,若状态是保持瓜苗健康则获得奖赏 1 1 ,瓜苗缺水或溢水奖赏为1,当瓜苗凋亡时奖赏是最小值 100 − 100 。箭头代表状态转移,箭头旁的 a,p,r a , p , r 分别代表导致状态转移的动作、转移概率以及返回的奖赏。
  机器要做的是通过在环境中不断地尝试而学得一个“策略”(policy) π π ,根据这个策略,在状态 x x 下就能得知要执行的动作a=π(x)。策略有两种表示方法:一种是将策略表示为函数 π:XA π : X → A ,确定性策略常用这种表示;另一种是概率表示 π:X×AR π : X × A → R ,随机性策略常用这种表示, π(x,a) π ( x , a ) 为状态 x x 下选择动作a的概率,这里必须有 aπ(x,a)=1 ∑ a π ( x , a ) = 1
  策略的优劣取决于长期执行这一策略后得到的累积奖赏。在强化学习任务中,学习的目的就是要找到能使长期积累奖赏最大化的策略。长期积累奖赏有多种计算方式,常用的有“T步积累奖赏” E[1TTt=1rt] E [ 1 T ∑ t = 1 T r t ] 和“r折扣累积奖赏” E[+t=0γtrt+1] E [ ∑ t = 0 + ∞ γ t r t + 1 ] ,其中 rt r t 表示第 t t 不获得的奖赏值,E表示对所有随机变量求期望。

K-摇臂赌博机
探索与利用

  我们考虑比较简单的情形:最大化单步奖赏,即仅考虑一步操作。这时需要考虑两个方面:一是需知道每个动作带来的奖赏,二是要执行奖赏最大的动作。
  单步强化学习任务对应了一个理论模型,即“K-摇臂赌博机”(K-armed bandit)。
这里写图片描述
  K-摇臂赌博机和我们常见的老虎机差不多,投入硬币后可选择按下其中一个摇臂,每个摇臂以一定的概率吐出硬币。
  若仅为获知每个摇臂的期望奖赏,则可采用“仅探索”(exploration-only)法:将所有的尝试机会平均分配给每个摇臂(即轮流按下每个摇臂),最后以每个摇臂各自的平均吐币概率作为其奖赏期望的近似估计。
  若仅为执行奖赏最大的动作,则可采用“仅利用”(exploitation-only)法:按下目前最优的(即到目前为止平均奖赏最大)的摇臂,若有多个摇臂同为最优,则随机选择其中一个。
  显然,“仅探索”法能很好地估计每个摇臂的奖赏,却会市区很多选择最优摇臂的机会;“仅利用”法则相反,它没有很好地估计摇臂期望奖赏,很有可能经常选不到最优摇臂。因此,这两种方法都难以使得最终的积累奖赏最大化。
  由于尝试次数是有限的,“探索”和“利用”这两者相互矛盾,加强了一方则会自然消弱另一方,这就是强化学习所面临的“探索-利用窘境”(Exploration-Exploitation dilemma)。欲使积累奖赏最大,则必须在探索与利用之间达成较好的折中。

ϵ ϵ -贪心

   ϵ ϵ -贪心法基于一个概率来对探索和利用进行折中:每次尝试时,以 ϵ ϵ 的概率进行探索,即以均匀概率随机选取一个摇臂;以 1ϵ 1 − ϵ 的概率进行利用,即选择当前平均奖赏最高的摇臂(若有多个,则随机选取一个)。
  令 Q(k) Q ( k ) 记录摇臂 k k 的平均奖赏,若摇臂k被尝试了 n n 次,得到的奖赏为v1,v2,...,vn。一般,我们对均值进行增量式计算,即每尝试一次就立即更新Q(k)。这样每次尝试仅需记录两个值:已尝试次数 n1 n − 1 和最近平均奖赏 Qn1(k) Q n − 1 ( k )

Qn(k)=Qn1(k)+1n(vnQn1(k))(16.3) (16.3) Q n ( k ) = Q n − 1 ( k ) + 1 n ( v n − Q n − 1 ( k ) )

   ϵ ϵ -贪心算法描述如图16.4所示
这里写图片描述
Q(i) Q ( i ) count(i) c o u n t ( i ) 分别记录摇臂 i i 的平均奖赏和选中次数。
  若摇臂奖赏的不确定性较大,例如概率分布较宽时,则需更多的探索,此时需要较大的ϵ值;若摇臂的不确定性较小,例如概率分布较集中时,则小量的尝试就能很好地近似真实奖赏,此时需要的 ϵ ϵ 较小。

Softmax

  Softmax算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中。若各个摇臂的平均奖赏相当,则选取各摇臂的概率也相当;若某些摇臂的平均奖赏明显高于其他摇臂,则被选取的概率也明显更高。
  Softmax算法中摇臂概率的分配是基于Boltzmann分布:

P(k)=eQ(k)τKi=1eQ(i)τ(16.4) (16.4) P ( k ) = e Q ( k ) τ ∑ i = 1 K e Q ( i ) τ
其中, Q(i) Q ( i ) 记录当前摇臂的平均奖赏; τ>0 τ > 0 称为“温度”, τ τ 越小则平均奖赏高的摇臂被选择的概率越高。 τ τ 趋于 0 0 时Softmax将趋于“仅利用”,τ趋于无穷大时Softmax则趋于“仅探索”。
这里写图片描述

有模型学习

  假定任务对应的马尔可夫决策过程四元组 E=<X,A,P,R> E =< X , A , P , R > 均为已知,这样的情形称为“模型已知”,即机器对环境进行了建模。

策略评估

  在模型已知时,对任意策略 π π 能估计出该策略带来的期望积累奖赏。令函数 Vπ(x) V π ( x ) 表示从状态 x x 出发,使用策略π所带来的积累奖赏;函数 Qπ(x,a) Q π ( x , a ) 表示从状态 x x 出发,执行动作a后再使用策略 π π 带来的积累奖赏。这里 V() V ( ⋅ ) 称为“状态值函数”(state value function), Q() Q ( ⋅ ) 称为“状态-动作值函数”(state-action value function),分别代表指定“状态”上以及指定“状态-动作”上的积累奖赏。可以定义状态值函数

{VπT(x)=Eπ[1TTt=1rt|x0=x]TVπγ(x)=Eπ[+t=0γtrt+1|x0=x]γ(16.5) (16.5) { V T π ( x ) = E π [ 1 T ∑ t = 1 T r t | x 0 = x ] , T 步 积 累 奖 赏 ; V γ π ( x ) = E π [ ∑ t = 0 + ∞ γ t r t + 1 | x 0 = x ] , γ 折 扣 积 累 奖 赏

  令 x0 x 0 表示起始状态, a0 a 0 表示起始状态上采取的第一个动作;对于 T T 不积累奖赏,用下标t表示后续执行的步数。有状态-动作值函数
{QπT(x,a)=Eπ[1TTt=1rt|x0=x,a0=a];Qπγ(x,a)=Eπ[+t=0γtrt+1|x0=x,a0=a].(16.6) (16.6) { Q T π ( x , a ) = E π [ 1 T ∑ t = 1 T r t | x 0 = x , a 0 = a ] ; Q γ π ( x , a ) = E π [ ∑ t = 0 + ∞ γ t r t + 1 | x 0 = x , a 0 = a ] .

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值