【RL从入门到放弃】【三】

1、动态规划

目标函数

用τ表示从状态s到最终状态的一个序列τ:st ,st+1 …,sT

累积回报R (τ)是个随机变量,随机变量无法进行优化,无法作为目标函数,我们采⽤随机变量的期望作为⽬标函数,

即∫R (τ)pπ (τ) dτ作为目标函数,用公式来表⽰强化学习的目标

强化学习的最终目标是找到最优策略为π* :s→u*

自举法

状态值函数的计算方法:

 

强化学习分类【基于p是否已知】

从广义上讲,强化学习是序贯决策问题。但序贯决策问题包含的内容更丰富。它不仅包含马尔科夫过程的决策,而且包括非马尔科夫过程的决策。

是否基于模型取决于状态转移概率是否确定

动态规划问题满足条件

第一个特性是一个复杂问题的最优解由数个小问题的最优解构成,可以通过寻找子问题的最优解来得到复杂问题的最优解;

第二个特征是子问题在复杂问题内重复出现,使得子问题的解可以被存储起来重复利用。

策略评估

fade code

其中一次扫描的那个公式就是状态值函数的bellma方程,

结合机器人找金子的例子:

下面的例子给出状态值函数的更新,但是感觉不太清楚

---------------------------------------------------------------------------------------------------------------

接下来,我们举个策略评估的例⼦。如图3.6所⽰为⽹格世界,其状态空间为S={1,2,…,14},动作空间为A={东,南,⻄,北},回报函数为r≡-1,需要评估的策略为均匀随机策略:

图3.7为值函数迭代过程中值函数的变化。为了进⼀步说明,我们举个具体的例⼦,如从K=1到K=2时,状态1处的值函数计算过程

【难道是这样:0.25×-1-1+-0.25×-1-1+-0.25×-1-1+-0.25×-1-0)】:这里折扣因子被设计为1

保留两位小数-1.75。

这里如果有大神清楚,可以指教一下,到底是如何计算的呢!

----------------------------------------------------------------------------------------------------------------------

策略改善

策略评估的目的是进行策略改善,一个很自然的方法是当已知当前策略的值函数时,

在每个状态采用贪婪策略对当前策略进行改善

如图3.8给出了贪婪策略⽰意图。图中虚线为最优策略选择。

如图3.9所⽰为⽅格世界贪婪策略的⽰意图。我们仍然以状态1为例得到改善的贪婪策略:

整个策略改善的代码其实是为了实现公式(3.24)

至此,我们已经给出了策略评估算法和策略改善算法。万事已具备,将策略评估算法和策略改善算法合起来便组成了策略迭代算法

策略迭代

策略迭代=策略评估+策略改善,策略迭代算法是这是一个策略收敛的过程。如图3.11所⽰为值函数收敛过程

从策略迭代的伪代码我们看到,进行策略改善之前需要得到收敛的值函数。值函数的收敛往往需要很多次迭代,现在的问题是进行策略改善之前一定要等到策略值函数收敛吗?对于这个问题,我们还是先看一个例。如3.12所示,策略评估迭10次和迭代无穷次所得到的贪婪策略是一样的。因此,对于上的问题,我们的回答是不一定等到策略评估算法完全收敛,如果我们在评估一次之后就进行策略改善,则称为值函数迭代算法。这个就是下面的值迭代

 

值函数迭代算法

值函数迭代是动态规划算法最⼀般的计算框架,值函数迭代算法(如图3.13所示)的伪代码为

结合机器人找金子的例子

通过策略评估和策略改善得到最优值函数。

均匀策略是策略评估的策略,贪婪策略是策略改善时的策略。也称为off-policy策略。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值