强化学习(reinforcement learning)学习笔记(二)——值迭代与策略迭代

上一次我分享了强化学习相关基础概念,推导了Bellman方程。这次我们来学习求解强化学习模型的2种思路——值迭代与策略迭代

动态规划

这里面我要简单介绍一下动态规划,因为严格来说,值迭代与策略迭代是用来解决动态规划问题的两种规划方法。而强化学习又有另外一个昵称——就是拟动态规划。说白了强化学习就是模拟动态规划算法。

用一句话来总结动态规划就是,对一个复杂问题给出一个一般性的解决办法。它主要由两个性质:

  1. 最优子结构:最优解法能被分解到多个子问题中
  2. 重叠子问题:子问题能重复多次且解法能被重复利用

马尔科夫决策过程(MDP)满足以上两个性质,所以任何MDP都可以用动态规划来解。动态规划与强化学习的区别就是动态规划假设MDP模型是全知的(即参数可知)强化学习可以使MDP未知

MDP需要解决的问题有两种,第一种是prediction,它已知MDP的 S,A,P,R,γ 以及policy,目标是算出在每个状态下的value function(值函数其实就是问题的目标,一般都是跟reward有关的函数,例如Atari小游戏,一般值函数就是累计的得分的期望。目标一般就是最大化这个值函数。而第二种是control,它已知MDP的 S,A,P,R,γ 但是policy未知(即动作 at 未知),因此它的目标不仅是计算出最优的value function而且要给出最优的Policy。

策略迭代 (policy iteration)

策略迭代就是在policy未知的情况下,根据每次的reward学到最优policy。
对一个具体的MDP问题,每次先初始化一个策略,根据这个策略计算值函数 v(s) , 通过这个re值函数来根据贪心策略更新策略,不断迭代最终得到最优策略与最优值函数。总结下来就两个阶段。

  • Policy evaluation :根据每一次的给出策略估计 vπ
  • Policy improvement:根据Greedy poilcy和之前得到的 vπ 获得当前策略 π

图解如下:
这里写图片描述
这里写图片描述

给一个例子:下图是一个叫Small Gridworld的例子,左上角和右下角是终点, γ=1 ,移动一步reward减少1,起始的random policy是朝每个能走的方向概率相同,先单独看左边一列,它表示在第k次迭代每个state上value function的值,这一列始终采用了random policy,这里的value function就是通过Bellman Expectation Equation得到的,考虑k=2的情况,-1.7 = -1.0 + 2*(1/3.0)(-1),-2.0 = -1.0 + 4(1/4.0)*(-1)。而右边一列就是在当前的value function情况下通过greedy算法找到当前朝哪个方向走更好。

这里写图片描述
这里写图片描述

值迭代(value iteration)

值迭代就是在已知policy和MDP模型的情况下,根据策略获得最优值函数和最优策略。
只不过这是确定策略,在值函数 vπ 取得最大值的 at (策略)
通过每次迭代bellman方程获得 vi , 知道值函数收敛。图解如下:这里写图片描述

最后对策略迭代和值迭代进行一个比较:
这里写图片描述

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
强化学习是一种通过与环境互动来学习最佳行为策略的机器学习方法。为了开始学习这一领域,首先需要了解一些强化学习的基本算法。《Reinforcement Learning: An Introduction》(Sutton and Barto, 1998)是一本经典的强化学习教材,可以帮助初学者了解强化学习的基本概念和算法。该书介绍了强化学习的基本原理、价函数、贝尔曼方程等重要概念,并介绍了一些经典的强化学习算法,如蒙特卡洛方法、时序差分学习、Q-learning等。这些算法是理解强化学习的基石,对初学者来说非常有帮助。 另外一本不错的入门教材是《Algorithms for Reinforcement Learning》(Szepesvári, 2009),这本书更加强调强化学习算法和数学基础。它详细介绍了动态规划迭代策略迭代、TD学习强化学习算法,并提供了一些例子和应用场景,有助于初学者更深入地理解强化学习算法的原理和实际应用。 除了书籍,MOOC平台上也有一些优秀的强化学习入门课程,如Coursera上的《Reinforcement Learning Specialization》和Udemy上的《Practical Reinforcement Learning》。这些课程结合了理论和实践,通过视频、案例分析等方式向学习者介绍强化学习的基本原理和算法,并帮助学习者掌握强化学习的实际应用技能。 总之,要想学习强化学习,首先需要了解一些基本的强化学习算法,上述提到的书籍和课程都是不错的入门资料,可以帮助初学者快速入门强化学习领域。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值