领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

梯度下降(Gradient Descent)(梯度下降法用于解决什么问题)

nixiaole 2025-07-01 22:24:47 知识剖析 4 ℃

梯度下降(Gradient Descent)是一种一阶优化技术,用于寻找局部最小值或优化损失函数(loss function)。它也被称为参数优化技术(parameter optimization technique)。

因此,新技术梯度下降出现了,它能非常快地找到最小值。

梯度下降不仅适用于线性回归(linear regression),它是一个可以应用于任何机器学习部分的算法,包括线性回归、逻辑回归(logistic regression),它是深度学习(deep learning)的完整支柱。

损失函数定义为实际值和预测值之间差的平方和。

b_new = b_old - slope

这只是梯度的方程,梯度(Gradient)意味着导数,如果你有多于一个变量如斜率和截距。

学习率的影响

它是梯度下降中非常关键的参数,应该通过两到三次实验谨慎选择。如果使用的学习率太高,那么你将永远不会收敛,斜率会在正负轴之间跳动。

这个损失函数是凸函数(convex)。凸函数是指在两点之间画线时,线永远不会穿过函数,这种函数被称为凸函数。梯度下降始终是一个凸函数,因为在凸形中只有一个最小值。

数据的影响

数据影响梯度下降的运行时间。如果所有特征数据都在一个共同的比例上,则会非常快地收敛,等高线图完全是圆形的。但如果特征比例差异很大,则收敛时间过长,你会得到更扁平的等高线。

如果我们向负梯度方向移动或远离当前点的函数梯度,它将给出该函数的局部最小值。

每当我们朝向正梯度或当前点的函数梯度方向移动时,我们将得到该函数的局部最大值。

在起点或任意点,斜率变得更陡,但每当生成新参数时,陡度逐渐减小,在最低点,它接近最低点,这被称为收敛点。

梯度下降是一种优化算法。它用于更快地找到函数的最小值。

  • 它也被称为“最深下降斜率算法”
  • 这可能是深度学习和机器学习中最广为人知的优化策略。

从零开始的梯度下降代码

Nesterov 加速梯度下降(NAG)-

为了克服基于动量的梯度下降的问题,我们使用NAG。

在这种方法中,我们先移动然后计算梯度,以便如果我们的振荡过冲,那么它必须与之前的相比微不足道。

最近发表
标签列表