网站首页 > 知识剖析 正文
梯度下降(Gradient Descent)是一种一阶优化技术,用于寻找局部最小值或优化损失函数(loss function)。它也被称为参数优化技术(parameter optimization technique)。
因此,新技术梯度下降出现了,它能非常快地找到最小值。
梯度下降不仅适用于线性回归(linear regression),它是一个可以应用于任何机器学习部分的算法,包括线性回归、逻辑回归(logistic regression),它是深度学习(deep learning)的完整支柱。
损失函数定义为实际值和预测值之间差的平方和。
b_new = b_old - slope
这只是梯度的方程,梯度(Gradient)意味着导数,如果你有多于一个变量如斜率和截距。
学习率的影响
它是梯度下降中非常关键的参数,应该通过两到三次实验谨慎选择。如果使用的学习率太高,那么你将永远不会收敛,斜率会在正负轴之间跳动。
这个损失函数是凸函数(convex)。凸函数是指在两点之间画线时,线永远不会穿过函数,这种函数被称为凸函数。梯度下降始终是一个凸函数,因为在凸形中只有一个最小值。
数据的影响
数据影响梯度下降的运行时间。如果所有特征数据都在一个共同的比例上,则会非常快地收敛,等高线图完全是圆形的。但如果特征比例差异很大,则收敛时间过长,你会得到更扁平的等高线。
如果我们向负梯度方向移动或远离当前点的函数梯度,它将给出该函数的局部最小值。
每当我们朝向正梯度或当前点的函数梯度方向移动时,我们将得到该函数的局部最大值。
在起点或任意点,斜率变得更陡,但每当生成新参数时,陡度逐渐减小,在最低点,它接近最低点,这被称为收敛点。
梯度下降是一种优化算法。它用于更快地找到函数的最小值。
- 它也被称为“最深下降斜率算法”
- 这可能是深度学习和机器学习中最广为人知的优化策略。
从零开始的梯度下降代码
Nesterov 加速梯度下降(NAG)-
为了克服基于动量的梯度下降的问题,我们使用NAG。
在这种方法中,我们先移动然后计算梯度,以便如果我们的振荡过冲,那么它必须与之前的相比微不足道。
- 上一篇: 花里胡哨的渐变(渐变的花是什么品种)
- 下一篇: 更甚一筹的编写技巧(更胜一筹的更什么意思)
猜你喜欢
- 2025-07-01 Qt组件库之桌面图标系统实现(qt组件库之桌面图标系统实现了)
- 2025-07-01 C#学习随笔—自定义控件(面板)(c#自定义控件改图标)
- 2025-07-01 Npj Comput. Mater.:芯片总发烫 : 摩尔时代要滚蛋
- 2025-07-01 Qt5 C++入门教程-第12章 绘图(QPainter)
- 2025-07-01 谁说Adobe XD做不出好看的设计?那是你没搞懂这些功能
- 2025-07-01 更甚一筹的编写技巧(更胜一筹的更什么意思)
- 2025-07-01 花里胡哨的渐变(渐变的花是什么品种)
- 2025-07-01 经典ReLU回归!重大缺陷「死亡ReLU问题」已被解决
- 2025-07-01 camera raw蒙版调色入门(pscameraraw蒙版怎么用)
- 2025-07-01 ResNet凭什么“逆天改命”,让梯度不再消失?
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)