1. 符号表示
2. 具体实例
-
: 资产值
已知 :
可得 的图像如下 :

image.png

image.png
3. 计算损失函数

image.png
损失函数
在实际机器学习中,几乎从不手动展开 MSE 损失,因为:
- 求导时直接用链式法则更简单, 不需要先展开再求导。
- 展开后形式复杂,且无助于理解或计算。
- 自动微分框架(如 PyTorch)会自动处理,无需手动展开。

image.png
4. 梯度下降
我们要最小化这个损失,所以对 每个参数求导:
对 求导:
对 求导:
无论是 还是
,都遵循同样的梯度下降规则:
在梯度下降(Gradient Descent)中,参数更新公式为:
-
:当前模型参数(如权重)
-
(learning rate):步长, 控制我们沿着梯度反方向走多远
-
:损失函数
对
的梯度(指示“上升最快的方向”)
-
:损失函数
对
的梯度(指示“上升最快的方向”)
可见
不是“常量”——它是可训练参数,只是初始值可能设为 0 或其他值。
完整图解

image.png
5. 梯度下降算法的收敛条件
✅ 正确答案:
理论上,当梯度 且
时,达到(局部)极小值点,此时可以停止迭代。
也就是说:目标是让梯度变为 0(或足够接近 0),而不是“不变”。
🔍 详细解释
1. 为什么是“梯度为 0”?
梯度 表示损失函数在当前参数处的最陡上升方向。
梯度下降的更新规则是:
- 当
且
时,参数不再更新,说明已经到达一个驻点(stationary point)。
- 对于凸函数(如线性回归的 MSE),这个驻点就是全局最小值。
- 对于非凸函数(如神经网络),可能是局部最小值、鞍点等。
2. “梯度不变” ≠ 收敛!
如果梯度“不变”但不为 0(例如一直保持某个非零常数),说明:
- 学习率太大导致震荡;
- 或优化器陷入循环;
- 并没有收敛!
3. 实际中如何判断停止?
由于浮点精度限制,几乎不可能精确达到梯度 = 0,所以实践中用以下任一条件停止:
✅ 常用停止准则:

image.png
在 PyTorch/TensorFlow 中,通常靠“最大 epoch 数”或“验证损失不再下降”来停。
4. 线性回归的特殊情况
对于线性回归 + MSE 损失 :
- 损失函数是严格凸函数(如果数据满秩)
- 有唯一全局最小值
- 理论上梯度下降会收敛到
但实际仍因浮点误差,使用“梯度足够小”作为停止条件。
✅ 总结

image.png