首页 > 编程语言 >什么是梯度下降算法

什么是梯度下降算法

时间:2024-11-05 19:15:21浏览次数:4  
标签:Loss 极小值 函数 梯度 下降 算法 Adagrad

书接上文,想要用算法解决问题,就不可避免的涉及构造函数L(后面称之为损失函数Loss)求导,和对Loss函数求极小值。

而对导函数求极小值就不得不提梯度下降算法,那边本期就来介绍什么是梯度下降算法,以及为什么梯度下降算法能求Loss函数的极小值。

什么是梯度?

梯度是偏导数组成的向量,,w是权重(也就是原来y=ax+b中的a和b组成的向量),L是Loss函数。

梯度有什么作用?

我们假设这个曲面是Loss函数关于w的曲面,当w向梯度为正方向运动的时候,Loss函数值就会变大,梯度越大,Loss函数变大的越快。

当w向梯度为负方向运动的时候,Loss函数值就会变小,梯度绝对值越大,Loss函数变小的越快。

知道了这个原理,那么要求Loss函数的极小值,就只需要向梯度负方向一直移动就行,直到梯度等于0的时候,就是Loss函数取得极小值的时候。

SGD算法:

SGD是所有梯度下降算法的鼻祖,总体想法就是在学习率ρ的倍率下,向极小值靠近,并给出靠近到什么程度就结束。

Momentum算法:

Momentum相对于SGD可以加速收敛。若与前一次梯度方向相同,变化量加大;并且能减少震荡。若与前一次梯度方向相反,变化量较小;越过极值 点后能够及时回头。

NAG算法:

NAG具有Momentum的所以优点,也能加速收敛,并且能提前预测下一次梯度,提前修正当前梯度;例如:逼近极 值点时,如果预测到下一次梯度方向会越过极值点,提前减速;

Adagrad算法:

如果一个参数的梯度一直都非常大,那么其对应的学习率就变小一 点,防止震荡,而一个参数的梯度一直都非常小,那么这个参数的 学习率就变大一点,使得其能够更快地更新,这就是Adagrad算法加 快深层神经网络的训练速度的核心。

Adagrad解决了不同的w逼近各自最优值速度不同的问题!

缺点 1、学习率容易衰减过快,使得训练提前结束 2、依赖一个全局超参数,初始学习率。

RMSprop算法:

RMSprop依然依赖于全局学习率,算是Adagrad的发展和Adadelta的变体,效果趋于二者之间 适合处理非平稳目标- 对于RNN效果很好。

AdaDelta算法:

RMSprop优化器虽然可以对不同的权重参数自适应的改变学习率,但仍要指定超参数加权 因子

标签:Loss,极小值,函数,梯度,下降,算法,Adagrad
From: https://blog.csdn.net/qq_67654130/article/details/143515426

相关文章

  • 蓝桥杯排序算法之low B三人组——冒泡,插入,选择
    目录一、题目二、分析三、代码一、题目分别用冒泡,插入,选择对列表li=[3,2,4,5,1,8,6,9,7]进行排序二、分析冒泡排序:它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经......
  • 算法与数据结构——基数排序
    基数排序基数排序(radixsort)的核心思想与计数排序一致,也通过统计个数来实现排序。计数排序适用于数据量n较大但数据范围m比较小的情况。假设我们需要对n=106个学号进行排序,而学号是一个8位数字,这意味着数据范围m=108非常大,使用计数排序需要分配大量内存空间,而基数排序可以避免这......
  • 计算机毕业设计Python+大模型新能源汽车销量预测 汽车销量分析可视化 汽车爬虫 深度学
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......
  • AI智能分析视频分析网关打手机检测算法:科技赋能的智能监控新时代
    智能手机的广泛使用在便利我们生活的同时,也带来了一些挑战,特别是在教育、企业、家庭监护和公共场合等环境中,不恰当的手机使用可能会扰乱秩序和活动。为了应对这一挑战,打手机检测视频分析网关应运而生,成为一种高效、智能化的监控解决方案。一、技术背景打手机检测视频分析网关主......
  • 智慧园区算法视频分析服务器烟雾识别监控系统常见的推荐配置参考指南
    在智慧园区的构建中,视频监控系统扮演着至关重要的角色,尤其是算法视频分析服务器在烟雾识别方面的应用,它能够极大地提升园区的安全监控能力。为了确保系统的有效运行和精准识别,合理的硬件配置是基础。以下是智慧园区算法视频分析服务器的推荐配置参考指南。1、处理器(CPU):视频分析......
  • 文心一言 VS 讯飞星火 VS chatgpt (384)-- 算法导论24.5 4题
    四、设G=(V,E)......
  • 八字排盘PHP算法实现源码_网页前端设计(包含十神、藏干、大运流年)
    一、算法概述八字排盘是根据个人的出生年、月、日、时(四个时间点)计算出天干地支,并形成八字(年柱、月柱、日柱、时柱)。此外,排盘还涉及十神(如正财、偏财等)、藏干(每个地支内藏的天干)、大运和流年等内容。这些元素共同构成了一个人的命理信息。二、输入信息用户需要提供以下信息:......
  • 算法设计2——数组元素循环右移
    问题描述:有一个数组a包含n(n>1)个整数元素,设计一个尽可能高效的算法将数组a中的后面k个元素循环右移(k<=n),其中n是数组长度,0<=k<=n。例如:a=(1,2,3,4,5),k=3,结果:a=(3,4,5,1,2)思路:理解问题:将数组 a中的最后 k个元素移动到数组的前面,同时保持剩余元素的顺序不变。解决问题......
  • 人脸检测之MTCNN算法网络结构
    MTCNN(Multi-taskCascadedConvolutionalNetworks)是一种用于人脸检测和关键点检测的深度学习模型,特别适合在复杂背景下识别出多尺度的人脸。它通过多任务学习来实现人脸检测和人脸关键点定位(如眼睛、鼻子、嘴巴的位置),实现高精度的人脸区域定位和关键点提取。MTCNN主要由三个......
  • (58)LMS自适应滤波算法与系统辨识的MATLAB仿真
    文章目录前言一、LMS算法的基本步骤二、LMS算法的一些主要应用1.通信系统2.信号分离与增强3.控制系统4.生物医学信号处理5.机器学习与模式识别6.其他应用三、LMS算法用于系统辨识的MATLAB仿真四、仿真结果前言LMS(LeastMeanSquares,最小均方)算法是一种广泛使......