无需登录 数据私有 本地保存

梯度下降可视化 - 寻找函数最小值动画

12
0
0
0

梯度下降可视化

Gradient Descent Visualization
点击画布设置初始位置
函数选择
参数调节
已收敛到最小值
0
当前迭代
--
函数值 f(x)
--
梯度大小
--
步长 |Δx|
损失历史

常见问题与知识点

什么是梯度下降算法?
梯度下降(Gradient Descent)是机器学习和深度学习中最核心的优化算法之一。它的基本思想是:沿着目标函数梯度的反方向(即函数值下降最快的方向)逐步更新参数,直到找到函数的最小值。更新公式为:x_{t+1} = x_t - α·∇f(x_t),其中α是学习率,∇f是梯度。
学习率(Learning Rate)如何影响收敛?
学习率α决定了每次迭代的步长大小。过大会导致震荡甚至发散,无法收敛到最小值;过小则收敛速度极慢,需要大量迭代。合适的学习率通常需要通过实验调参确定,常见范围在0.001到1之间。您可以在这个工具中拖动学习率滑块直观感受其影响。
局部最小值与全局最小值有什么区别?
全局最小值是整个函数定义域内函数值最小的点;局部最小值是在某个邻域内最小但并非全局最小的点。标准梯度下降容易陷入局部最小值,特别是在非凸函数中。选择不同的初始位置可能导致收敛到不同的局部最小值,您可以在这个工具中尝试不同的初始点来观察这一现象。
什么是Rosenbrock(香蕉)函数?
Rosenbrock函数 f(x,y)=(1-x)²+100(y-x²)² 是优化领域著名的测试函数,因其等高线形似香蕉而得名。它的全局最小值在(1,1)处,但有一个极其狭窄弯曲的谷底。普通梯度下降在该函数上表现困难——容易在谷底中震荡或沿谷底缓慢移动。切换到2D模式可以直观体验这一经典挑战。
动量(Momentum)如何改善梯度下降?
动量法在更新时引入一个速度累积项:v_t = β·v_{t-1} + α·∇f(x_t),然后x_{t+1}=x_t - v_t。参数β(通常0.9左右)使得算法在持续下降的方向上加速,在震荡方向上平滑波动。这可以加速收敛并帮助越过小的局部最小值
梯度下降在机器学习中如何应用?
在机器学习中,梯度下降用于最小化损失函数(Loss Function),从而找到最优的模型参数。常见的变体包括:批量梯度下降(BGD)——使用全部数据计算梯度;随机梯度下降(SGD)——每次使用一个样本;小批量梯度下降(Mini-batch SGD)——折中方案,也是深度学习训练的标准方法。此外还有Adam、RMSprop等自适应学习率优化器。