- 机器学习基础
- 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 - 监督学习 vs. 无监督学习
- 机器学习数据可视化
- 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 - 基于中心的聚类
- 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 - 利用与探索
- 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 - 讨论
SARSA 强化学习
SARSA 代表 **状态-动作-奖励-状态-动作**,它是 Q 学习算法 的改进版本,其中目标策略与行为策略相同。两个连续的状态-动作对以及智能体从第一个状态转换到下一个状态时接收的即时奖励决定了更新后的 Q 值,因此这种方法被称为 SARSA。
什么是 SARSA?
状态-动作-奖励-状态-动作 (SARSA) 是一种 强化学习 算法,它解释了学习过程中一系列事件。它是智能体在各种情况下做出正确选择的有效 **“策略上”** 学习技术之一。SARSA 背后的主要思想是反复试验。智能体在一个情境中采取行动,观察结果,并根据结果修改其计划。
例如,假设您正在教机器人如何走迷宫。机器人从特定位置开始,这就是 **“状态”**,您的目标是找到到达迷宫尽头的最佳路线。机器人可以在每个步骤中选择不同的方向移动,这被称为 **“动作”**。机器人会收到奖励形式的反馈,无论是正面的还是负面的,以指示它的表现如何。
SARSA 算法中更新语句的方程式如下:
SARSA 的组成部分
SARSA 算法的一些核心组成部分包括:
- **状态 (S)** - 状态反映了环境,包含关于智能体当前情况的所有细节。
- **动作 (A)** - 动作代表智能体根据其当前情况做出的决定。它从库中选择的动作导致从当前状态到下一个状态的改变。这种转变是智能体如何与环境互动以产生预期结果的方式。
- **奖励 (R)** - 奖励是由环境提供的变量,是对智能体在特定状态下采取的行动的回应。此反馈信号显示智能体选择的即时结果。奖励通过显示哪些行动在某些情况下是可取的来帮助智能体学习。
- **下一个状态 (S')** - 当智能体在一个特定状态下采取行动时,它会导致转变到一个不同的情况,称为“下一个状态”。这个新状态 (s') 是智能体更新后的环境。
SARSA 算法的工作原理
SARSA 强化学习算法允许智能体通过使用状态-动作-奖励-状态-动作序列随着时间的推移最大化累积奖励来学习并在环境中做出决策。它涉及与环境互动的迭代循环、从过去事件中获得见解以及增强决策策略。让我们分析 SARSA 算法的工作原理:
- **Q 表初始化** - SARSA 通过初始化 Q(S,A) 开始,它表示将状态-动作对设置为任意值。在此过程中,确定起始状态 (s),并通过采用根据当前 Q 值做出回应的 epsilon-greedy 算法策略来选择初始动作 (A)。
- **探索与利用** - 利用涉及使用之前估计的已知值来提高在学习过程中获得奖励的机会。另一方面,探索涉及选择可能带来短期利益但可能有助于在未来发现更好行动和奖励的行动。
- **动作执行和反馈** - 一旦选择的动作 (A) 被执行,它就会产生奖励 (R) 并转换到下一个状态 (S')。
- **Q 值更新** - 当前状态-动作对的 Q 值根据接收到的奖励和新状态进行更新。下一个动作 (A') 从 Q 表中更新的值中选择。
- **迭代和学习** - 以上步骤重复进行,直到状态终止。在整个过程中,SARSA 通过考虑状态-动作-奖励的转换来不断更新其 Q 值。这些改进增强了算法预测状态-动作对未来奖励的能力,引导智能体从长远来看做出更好的决策。
SARSA 与 Q 学习
SARSA 和 Q 学习是强化学习中的两种算法,都属于基于值的算法。SARSA 遵循当前策略,而 Q 学习不遵循当前策略。这种差异会影响每种算法调整其动作值函数的方式。一些差异如下表所示:
特征 | SARSA | Q 学习 |
---|---|---|
策略类型 | 策略上 | 策略外 |
更新规则 | Q(s,a) = Q(s,a) + ɑ(r + γmaxaQ(s',a)-Q(s,a)) | Q(s,a) = Q(s,a) + ɑ(r + γ Q(s',a')-Q(s,a)) |
收敛性 | 收敛到最优策略的速度较慢。 | 通常收敛到最优策略的速度更快。 |
探索与利用 | 探索直接影响学习更新。 | 探索策略可能与学习策略不同。 |
策略更新 | 根据实际采取的行动更新动作值函数。 | 更新动作值函数,假设始终采取最佳行动。 |
用例 | 适用于需要稳定性的环境。 | 适用于需要效率的环境。 |
示例 | 医疗保健、交通管理、个性化学习。 | 游戏、机器人技术、金融交易 |
广告