news 2026/3/24 23:33:52

数据挖掘05

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据挖掘05

数据挖掘05

书接上回

1.包含动量的随机梯度下降算法

(1)定义

包含动量的随机梯度下降(Momentum Stochastic Gradient Descent, 简称 SGD with Momentum)是一种在标准随机梯度下降(SGD)基础上引入“动量”项的优化算法,旨在加速收敛、减少震荡,并帮助模型跳出局部极小值或鞍点。

(2)复习一下上一篇介绍过的SGD

标准 SGD 在每次迭代中使用一个样本(或一个小批量)来估计梯度并更新参数,公示如下:

缺点:

1)更新方向完全依赖当前梯度,容易产生高方差和震荡;

2)在狭窄峡谷或非凸地形中收敛缓慢;

3)容易陷入局部最优或鞍点。

(3)更新方向完全依赖当前梯度,为什么容易产生高方差和震荡?

因为每次根据样本估计的梯度可能与真实梯度方向相差很远,
所以会出现:

有时更新方向接近最优;

有时却几乎垂直甚至反向;

导致参数在最优解附近来回震荡,而不是平稳靠近。

举个例子:

假设你在一个嘈杂的房间里听人说话。每次只听一个词(SGD),这个词可能是“向左”也可能是“向右”,即使整体趋势是“向前”。你每一步都按听到的词走,就会左右乱晃。

(4)为什么SGD在狭窄峡谷或非凸地形中收敛缓慢?

狭窄峡谷
例子:
在一条深而窄的山谷里想走到谷底最低点。每次你只看脚下最陡的方向往下跳,结果就是不断撞到左右岩壁,前进效率极低。

非凸地形

存在大量鞍点(saddle points) 和平坦区域(plateaus);

SGD 在平坦区域梯度接近零 导致更新几乎停滞;

复习完毕,我们看下带动量的SGD

(5) 动量机制的引入

动量方法借鉴了物理学中的“惯性”概念:参数更新不仅考虑当前梯度,还累积过去梯度的方向,形成一种“速度”。

动量 SGD 的更新公式:

动量是历史梯度的加权和,形成一个惯性速度。

动量不是只记住“上一次”的梯度,而是综合了最近若干次梯度的方向和大小。

(6)动量的作用:

1)平滑更新方向:通过指数加权平均历史梯度,减少随机噪声的影响。

2)加速收敛:在一致方向上持续加速(如沿峡谷底部)。

3)帮助逃离平坦区域:即使当前梯度很小,若之前有动量,仍可继续移动。

2.Adagrad算法

(1)定义

AdaGrad(Adaptive Gradient Algorithm) 是一种自适应学习率优化算法。

核心思想是:
为每个参数分配一个独立的学习率,根据该参数的历史梯度大小自动调整。
梯度大的参数学习率变小,梯度小的参数学习率变大。

(2)为什么需要自适应学习率?

我们知道,在标准 SGD 中:

所有参数都使用同一个全局学习率 η;

但不同参数的重要性、更新频率、梯度尺度可能差异巨大。

所以,为了解决这个问题,引入自适应学习率,让每个参数“按需调整步长”。

(3)公式


调节学习率的原理:


(4)性质

优点:

特别适合稀疏数据(如自然语言处理、推荐系统中的嵌入层),能显著提升收敛速度和性能。

缺点:

3.RMSprop算法

(1)定义

RMSProp(Root Mean Square Propagation) 是一种自适应学习率优化算法。

核心思想是:

对 AdaGrad 进行改进,通过引入指数移动平均(EMA)来“遗忘”久远的梯度信息,从而避免学习率过早衰减到零的问题。

(2)回顾 AdaGrad:

它累积所有历史梯度的平方和:


这会导致学习率分母持续增大 → 学习率单调下降 → 训练后期几乎停止更新。

为了解决这个问题,我们提出了RMSprop。

(3)公式:

对每个参数(或整体向量形式),RMSProp 的更新规则如下:

(4)性质

1)指数移动平均(EMA)



这样就能更好的调节学习率:

2)避免学习率崩溃

因为旧梯度被遗忘 , 所以 vt 不会无限增长,分母不会趋于无穷;

学习率可以在训练后期保持一定活性,适合长时间训练。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/23 23:48:54

Hoppscotch批量编辑完全指南:从基础到精通的高效参数管理

Hoppscotch批量编辑完全指南:从基础到精通的高效参数管理 【免费下载链接】hoppscotch 一个开源的API开发工具,可以帮助你轻松发送和测试API请求,查看响应结果,支持多种HTTP方法和数据格式,还提供团队协作功能。源项目…

作者头像 李华
网站建设 2026/3/24 14:14:33

基控电箱是什么?功能、选型与应用全指南

在工业生产、商业建筑、居民住宅等各类用电场景中,基控电箱作为电力分配与控制的核心设备,默默承担着保障用电安全、稳定供电的关键职责。无论是南方潮湿地区的防腐蚀需求,还是北方低温环境的防冻要求,亦或是工业场地的高负荷适配…

作者头像 李华
网站建设 2026/3/12 23:14:48

自动化工程:赋能产业升级的核心引擎,从原理到应用全解析

在工业4.0浪潮席卷全球、智能制造成为产业转型核心方向的当下,“自动化工程”早已不是局限于专业领域的小众概念,而是渗透到汽车制造、电子加工、物流仓储、能源电力等多个行业的核心支撑技术。小到我们日常接触的智能家电控制,大到工厂无人生…

作者头像 李华
网站建设 2026/3/20 7:38:37

5、编程中的函数、参数传递与数组应用

编程中的函数、参数传递与数组应用 1. 函数使用示例 在编程中,函数是非常重要的组成部分,下面通过几个C和Pascal程序示例来展示函数的使用。 1.1 Tan函数 Pascal :Pascal中没有内置的 tan 函数,因此在Pascal Program 5.3中自定义了一个 tan 函数,Test run 5.1展示…

作者头像 李华
网站建设 2026/3/22 15:22:26

2025年12月9日发布的ChatGPT-5.2:如何重塑我们未来的数字生活?

随着技术的不断进步,人工智能早已从科幻小说的幻想走入了现实。2025年12月9日,OpenAI发布了最新的ChatGPT-5.2版本,这一更新标志着人工智能技术的又一次飞跃。ChatGPT-5.2不仅在性能、功能和应用场景上都做出了巨大的提升,更是彻底…

作者头像 李华
网站建设 2026/3/15 19:59:47

AutoGPT开源镜像发布:让AI自己完成你的工作目标

AutoGPT开源镜像发布:让AI自己完成你的工作目标 在今天的工作环境中,我们每天都在与信息过载和重复性任务搏斗。写报告、整理数据、做竞品分析——这些本应由“智能”系统代劳的工作,却依然需要人工一步步操作。尽管大型语言模型已经能写出流…

作者头像 李华