强化学习总结(1-2)——model-base(policy evaluation;policy control)

本文介绍了强化学习中的马尔科夫决策过程,包括策略估值(policy evaluation)和策略控制(policy control)。通过动态规划的贝尔曼方程,讨论了策略迭代(policy iteration)和价值迭代(value iteration)方法,强调两者在策略更新上的区别。总结了如何计算状态价值并寻找最优策略,以及这两种方法在寻找最优解时的不同策略更新方式。
摘要由CSDN通过智能技术生成

强化学习总结(1-4)

马尔科夫决策过程

​ 马尔科夫决策过程是一个model-base过程,它分为策略估值policy evaluation与策略控制policy control。就是已知一个策略估计状态函数的值,和求解一个最优策略。

policy evaluation

​ 策略估值evaluation的情况下,主要采用动态规划bootsrapping的方法,已知策略 π \pi π,对贝尔曼期望方程进行迭代,直到收敛:
v k π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v k + 1 π ( s ′ ) ) \mathrm{v}_{k}^{\pi}(\mathrm{s})=\sum_{\mathrm{a} \in \mathrm{A}} \pi(\mathrm{a} \mid \mathrm{s})\left(\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}_{k+1}^{\pi}\left(\mathrm{s}^{\prime}\right)\right) vkπ(s)=aAπ(as)(R(s,a)+γsSP(ss,a)vk+1π(s))

policy control

policy iteration

​ 随机一个 π \pi π,先进行bootstrapping对其状态函数进行估值,根据估计的 v π ( s ) \mathrm{v}^{\pi}(\mathrm{s}) vπ(s),再使用Q函数的贝尔曼等式

q ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v ( s ′ ) \mathrm{q}(\mathrm{s}, \mathrm{a})=\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}\left(\mathrm{s}^{\prime}\right) q(s,a)=R(s,a)+γsSP(ss,a)v(s),计算Q-table,从中更新策略
π ( a ∣ s ) = { 1 ,  if  a = arg ⁡ max ⁡ a ∈ A q ( s , a ) 0 ,  otherwise  \pi(a \mid s)=\left\{\begin{array}{ll} 1, & \text { if } a=\arg \max _{a \in A} q(s, a) \\ 0, & \text { otherwise } \end{array}\right. π(as)={1,0, if a=argmaxaAq(s,a) otherwise 
再用新策略估计状态函数,一直循环,直到V和 π \pi π都收敛了,就求得了最优的策略。

总结:由于策略更新每次都是选择能够产生最大价值的动作,所以如果该过程具有最优的策略,那么在迭代一定次数后,最后一定会收敛到那个最优策略。

value iteration

​ 如果策略达到了最优,那么当前状态的价值函数值就等于当前状态最大价值动作对函数值 v π ( s ) = max ⁡ a ∈ A q π ( s , a ) = max ⁡ a ∈ A ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v ( s ′ ) ) \mathrm{v}^{\pi}(\mathrm{s})=\max _{\mathrm{a} \in \mathcal{A}} \mathrm{q}^{\pi}(\mathrm{s}, \mathrm{a})=\max _{\mathrm{a} \in \mathcal{A}}(\mathrm{R}(\mathrm{s}, \mathrm{a})+\gamma \sum_{\mathrm{s}^{\prime} \in \mathrm{S}} \mathrm{P}\left(\mathrm{s}^{\prime} \mid \mathrm{s}, \mathrm{a}\right) \mathrm{v}\left(\mathrm{s}^{\prime}\right)) vπ(s)=maxaAqπ(s,a)=maxaA(R(s,a)+γsSP(ss,a)v(s)),如果我们将此等式用bootsrapping进行迭代,就能得到最优的价值函数,最后再用下式,policy iteration中的策略更新方法更新一次 π \pi π即可。
π ( a ∣ s ) = { 1 ,  if  a = arg ⁡ max ⁡ a ∈ A q ( s , a ) 0 ,  otherwise  4 \pi(a \mid s)=\left\{\begin{array}{ll}1, & \text { if } a=\arg \max _{a \in A} q(s, a) \\0, & \text { otherwise }4\end{array}\right. π(as)={1,0, if a=argmaxaAq(s,a) otherwise 4

两种方法的区别

​ policy iteration :相当于在不停的探索,策略实时在更新。

​ value iteration:相当于一劳永逸,将价值函数迭代到最优的状态,策略一次更新到位

最后总结

首先呢(12/4—12/16 model-base ),学习了马尔科夫决策过程,这个过程是强化学习中的很多模型的基础。这里首先解决了两个问题:

  1. 怎么去算状态的价值,就是我在这个状态下能得到的结果有多好。
  2. 怎么去寻找我的最优策略,policy 和value iteration都是利用动态规划的思想,不断的对价值函数进行迭代更新,这里就体现了model-base的意义,它能够计算价值函数,所以最优策略就可以从这个最优价值着手去找。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值