强化学习(一):动态规划

一,马尔可夫决策

(1)无后效性
在时间步 t+1 时,环境的反馈仅取上一时间步 t 的状态 s ,和动作 a ,与 t -1以及 t-1 步之前时间步没有任何关联
(2)MDP
马尔可夫的无后效性大大简化了马尔可夫的决策过程。具体而言,一个马尔可夫绝城过程由一个四元组构成
:{ S,A,P,R}
S:是状态空间集
A:为动作空间集
P:为状态转移概率,即 一个状态 到另一个状态 这个发生的概率
R:为奖励函数

在这里插入图片描述
简单马尔可夫解决事件
在这里插入图片描述
在这里插入图片描述
该策略下最大奖励为:4

1,策略:

  • 确定性策略:
    在这里插入图片描述
    即 S 状态到 S1 状态变化 采取 动作 a ,是确定的,没有概率性
  • 随机性策略:
    在这里插入图片描述
    即在状态 S 下 采取 动作 a 的概率

2, 奖励:

由于所处的环境是随机的,所以无法确定下一次执行相同动作,以及是否能够得到相同的奖励,且探索越多则分歧越多,所以引入折扣因子来折扣未来的累积奖励
在这里插入图片描述

3,价值函数:评估当前智能体在该时间步状态的好坏程度

累计奖励的G 的期望:状态 s 执行动作a 的概率 × 状态 s执行动作a 获得奖励值得总和
在这里插入图片描述

4,贝尔曼方程

从公式可以看出贝尔曼方程存在递归的思想
在这里插入图片描述

5,最优值函数

表示所有策略产生的状态值函数中,选取 价值最大的函数(其实就是个值)
在这里插入图片描述
在这里插入图片描述
所以,目前为止,最优策略的求解问题实际上是求解最优值函数的问题

二,动态规划法

是把复杂的问题分解题分解成多个简单的子问题,针对性的解决这些子问题,最后把子问题的解进行集合
动态:值一系列状态组成
规划:优化每个子问题

求解贝尔曼方程,一把首先用动态规划,原因:
① 贝尔曼等人曾提出,使用动态规划来及求解多阶段决策
② 有马尔可夫的性质决定的,贝尔曼方程可以递归地切分子问题,因此非常适合采用动态规划来求解贝尔曼方程

(1)策略迭代法

在这里插入图片描述
伪代码:
在这里插入图片描述

例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

每次迭代,然后根据策略评估进行策略改进

一直迭代下去,直到有稳定的值函数
在这里插入图片描述
这是最后策略出来了
在这里插入图片描述
策略迭代缺点:

效率低:每次迭代都要 策略改进,每次迭代都要遍历所有的状态

策略初始化的随机性:如果最初初始化的策略是不合理的(比如可以上下左右的策略,我改成只能向下和右)有可能造成算法无法收敛得不到最优策略

(2)值迭代

现在已经有一些可以缓解上面提到的关于策略迭代算法不足的相关研究。例如:实际任务中,可以通过缩短策略评估的过程,避免在每次进行策略评估时都遍历所有的状态,进而提升策略评估的效率。
目前比较常用的解决方案就是一次遍历所有的状态后停止策略评估(我理解是一次性迭代到值函数表稳定下来),然后进行策略改进,该方法称为:值迭代-
在这里插入图片描述
每次迭代对所有状态根据上式进行迭代,表示迭代到 k+1次时,
在这里插入图片描述
① 到底是每迭代一次,然后将 max V 赋值给下一代 V表,然后再进行迭代
② 还是只迭代一次,每遍历一个状态就将 该状态赋值它接下动作的max V 值
在这里插入图片描述

值迭代和策略迭代的区别:

策略迭代:使用Bellman方程来更新value,最后收敛的value即Vπ 是当前策略下的value值(所以叫做对策略进行评估),目的是为了后面的策略改进得到新的策略。

价值迭代:使用Bellman最优方程来更新value,最后收敛得到的最优value即V∗ 就是当前状态下最优的value值,因此只要最后收敛,那么最优的policy也就得到了。

二者之间的区别与联系:

  • 策略迭代的第二步policy evaluation与价值迭代的第二步finding optimal value
    function十分相似,除了后者拥有max操作,前者没有max。因此后者可以得出最优策略,而前者不能得到

  • 策略迭代的收敛速度要更快一些。 在状态空间较小时,最好选择策略迭代方法;

  • 在状态空间较大时,价值迭代的计算量会更小一些;本质上都依赖于模型,而且理想情况下都需要遍历所有状态,这在稍微复杂一点儿的问题上基本不可能了

动态规划的缺陷:

DP的缺点显而易见,必须知道状态转移概率才能进行最优策略的计算,着在真实场景中几乎不可能实现也。
DP一般用于所有情况都能预先知道的问题
对于DP而言,她的推演是整个树状散开的,这种方法被称为FULL-width backup方法。在这个方法中,对于每一次backup来说,所有的后继状态和动作都要被考虑在内,并且需要已知MDP的转移矩阵和奖励函数,因此DP面临着梯度灾难问题。

————————————————

原文链接:
https://blog.csdn.net/fuzi2012/article/details/88430033
https://blog.csdn.net/njshaka/article/details/89237941
https://blog.csdn.net/hold_on_me/article/details/81713173

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值