趋近智
成本函数,例如均方误差 (MSE),用于衡量直线与数据的拟合程度。成本越低,拟合效果越好。目标是找到斜率 (m) 和 y 轴截距 (b) 的具体值,使得成本尽可能低。梯度下降算法正是用于系统地找出这些最佳值的方法。
可以把成本函数想象成一个形状,也许是一个山谷或一个碗。成本函数的值(我们的误差)对应于这个形状中任意给定点的海拔高度。这个形状中的坐标是我们参数 m 和 b 的值。我们的目标是找到这个山谷的最低点,即成本最小的点。
梯度下降是一个迭代算法,它帮助我们在这个成本函数上“下坡行走”,直到我们到达底部,或者至少一个很低的点。
想象一下你正站在一个雾蒙蒙的山坡上,你的目标是到达山谷底部。你无法看到整个区域,但你可以感觉到你所站位置的坡度陡峭程度和方向。
你不断重复这个过程。每一步都会把你带到山坡上一个稍微低一点的位置。最终,如果你持续小步下坡,你就会到达山谷底部,即最低海拔点(最小成本)。
在线性回归的背景下,梯度下降通过以下方式工作:
初始化: 从 m 和 b 的一些初始猜测值开始。这些值可以是任何数,通常是 0。
计算梯度: 在 m 和 b 的当前值处计算成本函数 J(m,b) 的梯度。梯度是一对值,它们告诉我们如果轻微改变 m 或 b,成本函数会改变多少。具体来说,它告诉我们成本增加最快的方向。
更新参数: 通过沿着梯度的相反方向移动少量来调整 m 和 b。这意味着从当前参数值中减去梯度的一部分。这个“步长”的大小由一个称为学习率的参数控制(通常用希腊字母 alpha α 表示)。
更新规则如下所示:
m:=m−α∂m∂J
b:=b−α∂b∂J
:= 符号表示“更新为”。我们根据使用 m 和 b 的当前值计算出的梯度,同时更新 m 和 b。
迭代: 重复步骤 2 和 3 很多次。每次迭代, m 和 b 的值都应该更接近使成本函数 J(m,b) 最小化的值,并且成本本身也应该降低。
学习率 α 是一个小的正数(例如 0.01、0.001),它控制着我们在每次迭代中下坡的步长大小。它是一个重要的参数:
选择一个好的学习率通常需要一些尝试。我们希望它足够大,以便合理地快速收敛,但又足够小,以避免越界或发散。
让我们将成本函数 J(m,b) 可视化为等高线图。每条等高线代表成本相同的点 (m,b)。等高线的中心代表最小成本。梯度下降从某个点 (m0,b0) 开始,沿着垂直于等高线的方向迈步,向中心移动。
一个等高线图,显示了基于斜率 (m) 和截距 (b) 不同值的成本函数。红线展示了梯度下降可能走的路径,它从一个初始猜测开始,并迭代地移向最小成本点(中心)。
当满足以下条件之一时,我们通常会停止迭代过程:
梯度下降是优化引擎,它使我们的线性回归模型能够从数据中“学习”。通过迭代地调整斜率 (m) 和截距 (b) 以最小化成本函数,它找到了一条根据 MSE 指标最适合我们训练数据的直线。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造