人工智能小白到高手:什么是梯度下降

科技   2025-01-15 08:02   山西  

-推荐关注-

-正文-

梯度下降是一种基本且广泛应用于机器学习领域的优化算法,主要用于最小化损失函数,从而提升模型预测能力。本文详细介绍了梯度的数学定义及其几何意义,阐述了梯度下降的原理、算法步骤,并通过实例和流程图说明了迭代过程的动态变化

  • 1. 什么是梯度
  • 2. 什么是梯度下降
  • 3. 梯度下降迭代过程的流程图
    • 第1次迭代
    • 中间次迭代
    • 最后一次迭代

-- 领取学习资料大礼包,见文末

1. 什么是梯度 

梯度是一个向量,用来表示一个函数在某一点的变化率和变化方向。

在数学中,梯度是多元函数的一阶偏导数的向量,表示在该点上函数值变化最快的方向。

对于一个函数 ,它的梯度用符号 表示,形式为:


其几何意义是:梯度的方向指向函数值增长最快的方向,梯度的大小表示增长速率。

直观理解

在二维空间中,梯度可以理解为山坡上的坡度。如果函数  是一个山的高度图,则梯度指向最陡峭的上坡方向

梯度的大小表示这个方向上函数值的变化率有多快。


在机器学习中,梯度常被用来衡量损失函数相对于模型参数的变化,用以指导参数优化

2. 什么是梯度下降 

梯度下降是一种优化算法,广泛应用于机器学习和深度学习中,用于最小化目标函数(通常是损失函数)。

损失函数最小,就可以让模型和实际值的距离最近,从而能使模型更好的预测

相关阅读 :人工智能小白到高手:什么是损失函数

梯度下降利用梯度提供的方向信息,在多维空间中沿着函数值下降最快的方向(梯度的负方向)移动,从而找到函数的局部最小值或全局最小值。

算法步骤

1. 初始化参数(如模型权重)为某个随机值。
2. 计算损失函数  对参数的梯度 
3. 按照梯度的负方向更新参数:

其中: 是当前参数值。 是学习率(步长),控制每次更新的幅度。 是损失函数的梯度。


重复上述步骤,直到满足停止条件(如梯度足够小或损失函数收敛)。

图:损失曲线,模型在多次迭代后收敛

直观理解

梯度下降可以类比为在一个山谷中寻找最低点。每次按照梯度的负方向“下坡”,直到达到最小值(或停止移动)。

人们被困在山中,试图下山(即,试图找到全局最小值)。由于浓雾,能见度极低。因此,山下的路径不可见,他们必须利用局部信息来寻找最小值。他们可以使用梯度下降的方法,这涉及到查看他们当前位置的坡度,然后朝着最陡的下降方向(即下山)前进。

如果他们试图找到山顶(即最大值),那么他们将朝着最陡的上升方向(即上山)前进。

使用这种方法,他们最终将找到下山的路,或者可能会被困在某个洞里(即局部最小值或鞍点),就像一个山湖(这需要使用动量梯度下降、随机梯度下降等)。

3. 梯度下降迭代过程的流程图 

下图展示了梯度下降的完整迭代过程,从初始化参数到最终收敛。


如通过面积预测房价的模型:

在训练过程中的三个时间点绘制了模型快照:开始、中间和结束。

通过训练过程中直观呈现模型的快照状态,有助于加深对更新权重和偏差、降低损失和模型收敛之间的联系的理解。

第1次迭代

在下图中,我们可以看到,在第1次迭代左右,由于损失较大,模型无法很好地进行预测。


中间次迭代

在第 5 次迭代左右,我们可以看到,梯度下降法找到了生成更好模型的权重和偏差。


最后一次迭代

在第 20 次迭代左右,我们可以看到模型已收敛,生成了损失可能最低的模型

经过多次迭代,梯度下降算法逐步优化模型参数,最终使损失函数达到最小值,从而使预测模型与实际数据之间的误差最小化,提高了模型的预测精度和可靠性。

梯度下降算法是机器学习中不可或缺的优化工具,其高效性和简洁性为模型训练和参数优化提供了可靠的解决方案。

然而,算法的性能仍受限于学习率选择、局部最小值困境等问题,需结合如动量法、自适应梯度优化等改进策略以进一步提升效果。

理解并掌握梯度下降,不仅能帮助我们构建更精确的模型,更能深刻感受数学在机器学习中的核心作用。




往日文章:

有需要的,在公众号「AI取经路」发消息「学习资料」即可获取。

--END--

点亮“赞”“在看”“分享”好友一起看

AI取经路
踏上取经路,比抵达灵山更重要! AI技术、 AI知识 、 AI应用 、 人工智能 、 大语言模型
 最新文章