- 机器学习基础
- ML - 首页
- ML - 简介
- ML - 入门
- ML - 基本概念
- ML - 生态系统
- ML - Python 库
- ML - 应用
- ML - 生命周期
- ML - 所需技能
- ML - 实现
- ML - 挑战与常见问题
- ML - 限制
- ML - 现实生活中的例子
- ML - 数据结构
- ML - 数学
- ML - 人工智能
- ML - 神经网络
- ML - 深度学习
- ML - 获取数据集
- ML - 分类数据
- ML - 数据加载
- ML - 数据理解
- ML - 数据准备
- ML - 模型
- ML - 监督学习
- ML - 无监督学习
- ML - 半监督学习
- ML - 强化学习
- ML - 监督学习与无监督学习
- 机器学习数据可视化
- ML - 数据可视化
- ML - 直方图
- ML - 密度图
- ML - 箱线图
- ML - 相关矩阵图
- ML - 散点矩阵图
- 机器学习统计学
- ML - 统计学
- ML - 均值、中位数、众数
- ML - 标准差
- ML - 百分位数
- ML - 数据分布
- ML - 偏度和峰度
- ML - 偏差和方差
- ML - 假设
- 机器学习中的回归分析
- ML - 回归分析
- ML - 线性回归
- ML - 简单线性回归
- ML - 多元线性回归
- ML - 多项式回归
- 机器学习中的分类算法
- ML - 分类算法
- ML - 逻辑回归
- ML - K最近邻 (KNN)
- ML - 朴素贝叶斯算法
- ML - 决策树算法
- ML - 支持向量机
- ML - 随机森林
- ML - 混淆矩阵
- ML - 随机梯度下降
- 机器学习中的聚类算法
- ML - 聚类算法
- ML - 基于质心的聚类
- ML - K均值聚类
- ML - K中心点聚类
- ML - 均值漂移聚类
- ML - 层次聚类
- ML - 基于密度的聚类
- ML - DBSCAN 聚类
- ML - OPTICS 聚类
- ML - HDBSCAN 聚类
- ML - BIRCH 聚类
- ML - 亲和传播
- ML - 基于分布的聚类
- ML - 凝聚层次聚类
- 机器学习中的降维
- ML - 降维
- ML - 特征选择
- ML - 特征提取
- ML - 后退消除法
- ML - 前向特征构建
- ML - 高相关性过滤器
- ML - 低方差过滤器
- ML - 缺失值比率
- ML - 主成分分析
- 强化学习
- ML - 强化学习算法
- ML - 利用与探索
- ML - Q学习
- ML - REINFORCE 算法
- ML - SARSA 强化学习
- ML - 演员-评论家方法
- 深度强化学习
- ML - 深度强化学习
- 量子机器学习
- ML - 量子机器学习
- ML - 使用 Python 的量子机器学习
- 机器学习杂项
- ML - 性能指标
- ML - 自动工作流
- ML - 提升模型性能
- ML - 梯度提升
- ML - 自举汇聚 (Bagging)
- ML - 交叉验证
- ML - AUC-ROC 曲线
- ML - 网格搜索
- ML - 数据缩放
- ML - 训练和测试
- ML - 关联规则
- ML - Apriori 算法
- ML - 高斯判别分析
- ML - 成本函数
- ML - 贝叶斯定理
- ML - 精度和召回率
- ML - 对抗性
- ML - 堆叠
- ML - 时期
- ML - 感知器
- ML - 正则化
- ML - 过拟合
- ML - P值
- ML - 熵
- ML - MLOps
- ML - 数据泄露
- ML - 机器学习的货币化
- ML - 数据类型
- 机器学习 - 资源
- ML - 快速指南
- ML - 速查表
- ML - 面试问题
- ML - 有用资源
- ML - 讨论
强化学习
什么是强化学习?
强化学习是一种机器学习方法,其中代理(软件实体)通过执行动作并监控结果来训练以解释环境。对于每个好的动作,代理都会获得积极的反馈,对于每个坏的动作,代理都会获得消极的反馈。它受到动物从经验中学习的启发,根据其行为的后果做出决策。
下图显示了一个典型的强化学习模型 -
在上图中,**代理**处于特定的**状态**。代理在**环境**中采取**行动**以完成特定任务。作为执行任务的结果,代理会收到**奖励**或惩罚作为反馈。
强化学习是如何工作的?
在强化学习中,会存在一个代理,我们希望在一段时间内对其进行训练,以便它可以与特定环境进行交互。代理将遵循一组与环境交互的策略,然后在观察环境后,将根据环境的当前状态采取行动。代理通过根据其行为获得奖励或惩罚来学习如何做出决策。
可以通过象棋大师的方法来理解强化学习的工作原理。
- **探索** - 就像象棋棋手考虑各种可能的走法及其结果一样,代理也探索不同的行动以了解它们的影响,并学习哪些行动会导致更好的结果。
- **利用** - 象棋棋手也根据过去的经验使用直觉来做出看起来正确的决定。类似地,代理使用从先前经验中获得的知识来做出最佳选择。
强化学习的关键要素
除了代理和环境之外,还可以识别强化学习系统的四个主要子要素 -
- **策略** - 它定义了学习代理在给定时间时的行为方式。策略是从环境的感知状态到在这些状态下要采取的动作的映射。
- **奖励信号** - 它定义了强化学习问题的目标。它是环境向代理发送的数值分数。此奖励信号定义了代理的良好和不良事件。
- **价值函数** - 它指定从长远来看什么是好的。价值是代理从该状态开始可以预期在未来累积的奖励总量。
- **模型** - 模型用于规划,这意味着在实际体验之前,通过考虑可能的未来情况来决定行动方案。
**马尔可夫决策过程 (MDP)** 为在具有状态、动作、奖励、概率的环境中建模决策制定提供了数学框架。强化学习使用 MDP 来理解代理应该如何行动以最大化奖励,并找到决策制定的最佳策略。
马尔可夫决策过程 (MDP)
强化学习使用马尔可夫决策过程 (MDP) 的数学框架来定义学习代理与环境之间的交互。MDP 的一些重要概念和组成部分是 -
- **状态 (S)** - 表示代理可能发现自己的所有情况。
- **动作 (A)** - 代理从给定状态中可用的选择。
- **转移概率 (P)** - 由于特定动作导致从一个状态转移到另一个状态的可能性。
- **奖励 (R)** - 由于某个动作而转移到新状态后收到的反馈,指示结果的合意性。
- **策略 (π)** - 一种策略,定义了在每个状态中为获得奖励而采取的动作。
强化学习过程中的步骤
以下是强化学习方法中涉及的主要步骤 -
**步骤 1** - 首先,我们需要为代理准备一些初始策略集。
**步骤 2** - 然后观察环境及其当前状态。
**步骤 3** - 接下来,根据环境的当前状态选择最佳策略并执行重要操作。
**步骤 4** - 现在,代理可以根据其在上一步中采取的操作获得相应的奖励或惩罚。
**步骤 5** - 现在,如果需要,我们可以更新策略。
**步骤 6** - 最后,重复步骤 2-5,直到代理学会并采用最佳策略。
强化学习的类型
强化学习有两种类型
- **正强化** - 当代理执行合意的操作或导致良好结果时,它会获得奖励,从而增加重复该操作的可能性。
- **负强化** - 当代理执行操作以避免负面结果时,负面刺激会被移除。例如,如果机器人被编程为避开障碍物并成功地从障碍物中导航出来,则与该操作相关的威胁就会被移除。并且机器人更有可能在将来避免该操作。
强化学习算法的类型
强化学习中使用了各种算法,例如 Q 学习、策略梯度方法、蒙特卡罗方法等等。所有这些算法都可以分为两大类 -
- **无模型强化学习** - 它是强化学习算法的一类,通过直接与环境交互来学习做出决策,而无需创建环境动态模型。代理多次执行不同的操作以学习结果,并创建优化其奖励点的策略(策略)。这非常适合变化、庞大或复杂的环境。
- **基于模型的强化学习** - 强化学习算法的这一类涉及创建环境动态模型以做出决策和提高性能。当环境是静态的且定义明确时,此模型是理想的,在这些环境中,现实世界的环境测试很困难。
强化学习的优势
强化学习的一些优势包括 -
- 强化学习不需要预定义的指令和人为干预。
- 强化学习模型可以适应各种环境,包括静态和动态环境。
- 强化学习可用于解决各种问题,包括决策制定、预测和优化。
- 强化学习模型随着经验的积累和微调而变得更好。
强化学习的缺点
强化学习的一些缺点包括 -
- 强化学习取决于奖励函数的质量,如果奖励函数设计不当,模型的性能永远无法得到提高。
- 强化学习的设计和调优可能很复杂,需要专业知识。
强化学习的应用
强化学习在各个领域都有广泛的应用。一些主要的应用包括:
1. 机器人学
强化学习通常关注在不可预测的环境中进行决策。这是一种最常用的方法,尤其适用于复杂的任务,例如复制人类行为、操作、导航和运动。这种方法还允许机器人通过反复试验来适应新的环境。
2. 自然语言处理 (NLP)
在自然语言处理 (NLP) 中,强化学习用于通过管理复杂的对话和改进用户交互来增强聊天机器人的性能。此外,这种学习方法也用于训练模型以执行诸如摘要之类的任务。
强化学习与监督学习
监督学习和强化学习是机器学习中的两种不同方法。在监督学习中,模型在包含输入及其对应输出的数据集上进行训练,用于预测分析。而在强化学习中,智能体与环境交互,通过接收奖励或惩罚的形式的反馈来学习做出决策,旨在最大化累积奖励。这两种方法之间的另一个区别在于它们最适合的任务。监督学习用于具有清晰、结构化输出的任务,而强化学习用于具有最优策略的复杂决策任务。