机器学习中的梯度下降

本文只是简单解释一下梯度下降,其中涉及到的公式并没有展示说明。

1.什么是梯度?

梯度也可以理解为导数。

在一维空间中:梯度就是导数,或者说对于一个线性函数,也就是线的斜率。

2.什么是梯度下降?

梯度是个向量,自变量沿着该向量的方向变化,函数值变化最快。在机器学习中,为使损失函数下降 最快,我们需要让模型参数**++沿着梯度的负方向更新++** ,即梯度下降

附上图解(简略过程):

第一步:计算函数的导数f(x)'

第二步:任意选择一个起点,如A点。代入X得出Y',将计算得到的Y'作为新的X,图中对应B点。

第三步:对B点重复第二步操作,会得到C、D、F......以此类推

一般而言,随着梯度值逐步逼近0,每次X更新幅度越来越小。

3.梯度下降的作用?

如果看懂了上面说的梯度下降的简略过程,这里就很容易明白了。我们将上面的函数换成损失函数,梯度下降就是用来求损失函数最小值时自变量对应取值。

什么是损失函数?

机器学习算法的预测值减去真实值最后取绝对值叫做误差,而损失函数就是负责计算这个误差的。不同的参数会产生不同的误差,梯度下降就是为了找到让误差值最小时候对应的参数。

额外补充:机器学习常见的两类算法

1,回归算法,产生一条曲线来拟合现有的数据,实现预测未来的数据。

2,分类算法,产生一条曲线实现分类,在这个曲线一侧为一类另外一侧算一类。

而损失函数就是用来评估算法产生的这条曲线的效果好不好

4.常用的梯度下降方法

批量梯度下降

批量梯度下降对训练集中的每个点的误差求和,仅在评估所有训练样本后才更新模型。这个过程称为训练周期。

批量梯度下降的最要问题是计算每一步的梯度时都需要使用整个训练集,这导致在规模较大的数据集上,其会变得非常的慢。

随机梯度下降

在每一步的梯度计算上只随机选取训练集中的一个样本 。很明显,由于每一次的操作都使用了非常少的数据,这样使得算法变得非常快。由于每一次迭代,只需要在内存中有一个实例,这使随机梯度算法可以在大规模训练集上使用。

另一方面,由于它的随机性,与批量梯度下降相比,其呈现出更多的不规律性:它到达最小 值不是平缓的下降,损失函数会忽高忽低,只是在大体上呈下降趋势。随着时间的推移,它 会非常的靠近最小值,但是它不会停止在一个值上,它会一直在这个值附近摆动。因此,当算法停止的时候,最后的参数还不错,但不是最优值。

小批量梯度下降

小批量梯度下降结合了批量梯度下降和随机梯度下降概念。每次迭代只使用训练集其中一个小批量来训练模型,这个批中的所有样本共同决定了本次迭代中梯度的方向,这种方法兼顾了批量梯度下降的计算效率和随机梯度下降的速度。

补充

学习率

在梯度下降的过程中学习率不能过大或者过小,下图的正常情况。

当学习率过小,会大大增加迭代时间,如下图所示。

如果学习率过大可能会发生梯度发散,即可能下一次的值比上一次还要大,导致最终无法收敛。如下图所示。

损失函数

在实际训练过程中,损失函数一般不会很简单的就是一个开口向上的二次函数,例如下图。

如果随机初始值选在了图像的左侧,则它将收敛到局部最小值,这个值要比全局最小值要大。 如果它从右侧开始,那么训练需要很长时间,如果你早早地结束训练,你将永远到不了全局最小值。

但是线性回归模型的均方差损失函数是一个凸函数(曲线上的任意两点,它们的连线段不会与曲线发生交叉,即该线段不会与曲线有第三个交点)。这意味着这个损失函数没有局部最小值,仅仅只有一个全局最小值。

相关推荐
hie9889411 分钟前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
晨同学032713 分钟前
opencv的颜色通道问题 & rgb & bgr
人工智能·opencv·计算机视觉
蓝婷儿23 分钟前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
大千AI助手26 分钟前
PageRank:互联网的马尔可夫链平衡态
人工智能·机器学习·贝叶斯·mc·pagerank·条件概率·马尔科夫链
小和尚同志1 小时前
Cline | Cline + Grok3 免费 AI 编程新体验
人工智能·aigc
我就是全世界1 小时前
TensorRT-LLM:大模型推理加速的核心技术与实践优势
人工智能·机器学习·性能优化·大模型·tensorrt-llm
.30-06Springfield1 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦1 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
galaxylove1 小时前
Gartner发布塑造安全运营未来的关键 AI 自动化趋势
人工智能·安全·自动化
强哥之神2 小时前
英伟达发布 Llama Nemotron Nano 4B:专为边缘 AI 和科研任务优化的高效开源推理模型
人工智能·深度学习·语言模型·架构·llm·transformer·边缘计算