图解强化学习 原理 超详解 (二)

news/2024/5/18 22:17:04 标签: 强化学习, 人工智能, 机器学习, python

上一篇博客中,我们讲解了 强化学习的 概念定义,以及详细全面的讲述了马尔可夫过程,这一篇我们将讲述马尔可夫决策过程所涉及到的策略优化及相关概念。

四.策略优化

马尔可夫决策过程对环境进行了描述,那么智能主体如何完成与环境的智能交互?
这时我们就需要进行 策略学习
在这里插入图片描述

4.1 策略

在这里插入图片描述
策略是提供给决策者在各个时刻选取行动的规则,记作π=(π0,π1,π2,…, πn,πn+1…),其中πn是时刻 n选取行动的规则。从理论上来说,为了在大范围寻求最优策略πn,最好根据时刻 n以前的历史,甚至是随机地选择最优策略。但为了便于应用,常采用既不依赖于历史、又不依赖于时间的策略,甚至可以采用确定性平稳策略。

4.2 策略指标

衡量策略优劣的常用指标有折扣指标和平均指标。折扣指标是指长期折扣〔把 t时刻的单位收益折合成0时刻的单位收益的βt(β < 1)倍〕期望总报酬;平均指标是指单位时间的平均期望报酬。

采用折扣指标的马尔可夫决策过程称为折扣模型。业已证明:若一个策略是β折扣最优的,则初始时刻的决策规则所构成的平稳策略对同一β也是折扣最优的,而且它还可以分解为若干个确定性平稳策略,它们对同一β都是最优的,已有计算这种策略的算法。

采用平均指标的马尔可夫决策过程称为平均模型。业已证明:当状态空间S 和行动集A(i)均为有限集时,对于平均指标存在最优的确定性平稳策略;当S和(或)A(i)不是有限的情况,必须增加条件,才有最优的确定性平稳策略。计算这种策略的算法也已研制出来

4.3 策略评估

在这里插入图片描述

4.4 状态价值函数

在这里插入图片描述

4.5 动作价值函数

在这里插入图片描述

4.6 最优策略

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

4.7 贝尔曼法方程

贝尔曼方程(Bellman Equation)也被称作动态规划方程(Dynamic Programming Equation),由理查·贝尔曼(Richard Bellman)发现。
在这里插入图片描述
在这里插入图片描述
贝尔曼方程是动态规划(Dynamic Programming)这些数学最佳化方法能够达到最佳化的必要条件。此方程把"决策问题在特定时间怎么的值"以"来自初始选择的报酬比从初始选择衍生的决策问题的值"的形式表示。借此这个方式把动态最佳化问题变成简单的子问题,而这些子问题遵守从贝尔曼所提出来的"最佳化还原理"。

如下图所示展示了贝尔曼算法
在这里插入图片描述
在这里插入图片描述

五.问题求解

在这里插入图片描述

5.1 基于价值的求解方法

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

基于动态规划的价值函数更新

动态规划的关键点有两个:一是问题的最优解可以由若干小问题的最优解构成,即通过寻找子问题的最优解来得到问题的最优解。第二是可以找到子问题状态之间的递推关系,通过较小的子问题状态递推出较大的子问题的状态。而强化学习的问题恰好是满足这两个条件的。

我们先看看强化学习的两个基本问题。

第一个问题是预测,即给定强化学习的6个要素:状态集S, 动作集A, 模型状态转化概率矩阵P, 即时奖励R,衰减因子γ, 给定策略π, 求解该策略的状态价值函数v(π)
    第二个问题是控制,也就是求解最优的价值函数和策略。给定强化学习的5个要素:状态集S, 动作集A, 模型状态转化概率矩阵P, 即时奖励R,衰减因子γ, 求解最优的状态价值函数v∗和最优策略π∗ 
在这里插入图片描述

基于蒙特卡洛的更新方法

蒙特卡罗法通过采样若干经历完整的状态序列(episode)来估计状态的真实价值。所谓的经历完整,就是这个序列必须是达到终点的。比如下棋问题分出输赢,驾车问题成功到达终点或者失败。有了很多组这样经历完整的状态序列,我们就可以来近似的估计状态价值,进而求解预测和控制问题了。

从特卡罗法法的特点来说,一是和动态规划比,它不需要依赖于模型状态转化概率。二是它从经历过的完整序列学习,完整的经历越多,学习效果越好。
在这里插入图片描述
在这里插入图片描述

基于时序差分的更新方法

对于时序差分法来说,我们没有完整的状态序列,只有部分的状态序列,那么如何可以近似求出某个状态的收获呢?
在这里插入图片描述
    这启发我们可以用Rt+1+γv(St+1)来近似的代替收获Gt, 一般我们把Rt+1+γV(St+1)称为TD目标值。Rt+1+γV(St+1)−V(St)称为TD误差,将用TD目标值近似代替收获G(t)的过程称为引导(bootstrapping)。这样我们只需要两个连续的状态与对应的奖励,就可以尝试求解强化学习问题了。

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

在下一篇博客中,我们将讲解 Q-learn 方法,以及 如何 平衡在策略学习中的探索与利用,在最后我们将讲述 深度强化学习的概念,敬请期待吧!

参考:
浙江大学 《人工智能


http://www.niftyadmin.cn/n/1399543.html

相关文章

图解强化学习 原理 超详解 (三)

上一篇博客中 我们讲述了马尔可夫决策过程中的策略优化及相关问题&#xff0c;在这一篇博客中我们将讲述Q-learn方法&#xff0c;以及深度强化学习的相关概念 六.Q-learn QLearning是强化学习算法中value-based的算法&#xff0c;Q即为Q&#xff08;s,a&#xff09;就是在某一…

Shell中常见关键字说明及区别对比

1. exit和return的区别 1.1 exit 关键字 exit命令是Shell内建命令&#xff0c;用于退出当前Shell进程。 可以指定退出状态n&#xff0c;n的取值范围是0-255&#xff0c;一般情况下&#xff0c;0表示正常退出&#xff0c;非零表示异常退出。 如果状态码是0-255之外的数值&am…

注意力机制最新综述解读

注意力机制最新综述解读 注意力模型(Attention Model&#xff0c;AM)已经成为神经网络中的一个重要概念&#xff0c;并在不同的应用领域进行了充分的研究。这项调查提供了一个结构化和全面的概述关于attention的发展。我们回顾了注意力机制被纳入的不同的神经网络结构&#xff…

打印模型特征重要性

以lightgbm模型为例 1. 获得特征重要性信息 def get_feature_importance_pair(gbm_model):feature_name_list gbm_model.feature_name()importance_list list(gbm_model.feature_importance())feature_importance_pair [(fe, round(im, 2)) for fe, im in zip(feature_na…

最全详细图解 策树原理(上)

决策树 1.定义&#xff1a; 决策树(Decision Tree)是在已知各种情况发生概率的基础上&#xff0c;通过构成决策树来求取净现值的期望值大于等于零的概率&#xff0c;评价项目风险&#xff0c;判断其可行性的决策分析方法&#xff0c;是直观运用概率分析的一种图解法。由于这种…

shell 中字符串变量处理

1. 字符串内容替换 ${变量#关键字}从头开始&#xff0c;将匹配到的最短子串删除 &#xff08;第一个匹配到的子串删除&#xff09;删除第1个分隔符及其之前的内容${变量##关键字}从头开始&#xff0c;将匹配到的最长子串删除 删除最后1个分隔符及其之前的内容${变量%关键字…

shell 脚本循环与case选择

1. 循环 1.1 不定循环 1.1.1 while 当条件为真时就进行循环&#xff0c;条件不成立时退出 提示用户输入“y”或“Y”来终止程序。 -a 用在判断式中表示"&&"&#xff08;and&#xff09; while [ "$aa" ! "y" -a "$aa"…

linux 字符转换命令(tr,col,expand,join,paste)

vim 中可通过dos2UNIX与UNIX2dos来完成DOS断行字符与UNIX断行字符的转换。 1. tr 用来删除一段信息中的文字&#xff0c;或者进行文字替换。 # 将文件中的‘#’ 删除 cat aa.txt | tr -d ## 在文件aa.txt 中将set1中的所有字符全部删除 cat aa.txt | tr -d set1# 将小写字母…