参考:B站:梗直哥讲AI
0 梯度下降
0.1 核心要素:
- 目的:找到误差最小的点。通过迭代找到目标函数的最小值,或者收敛到最小值。
0.2 步骤:
1 步骤·拆解:
1.1 定义·代价函数 cost function
1.1.1 推导
1.1.1.1 定义预测函数 – y = w x y = wx y=wx
(这里研究只用了一个 w w w,为了在二维平面上更直观观察图像)
1.1.1.2 误差公式 – MSE
☝ 其中,
x
i
x_i
xi、
y
i
y_i
yi 都是已知的,如下图,分别用 abc 表示:
![[Pasted image 20220815160746.png]]
1.1.2 代价函数 ( cost function ):
1.2 明确·搜素方向 —— 梯度计算
1.3 学习率
1.4 不达目的不罢休 —— 循环迭代
2 梯度下降·变体
2.1 BGD ( Batch Gradient Descent )
- 特点:
- 全部训练样本都参与了计算
- 梯度下降得非常平稳(走出了强迫症一般的漂亮曲线)
- 梯度下降最原始的形式
( 慢 but 稳如老狗 )
- 优点:保证算法精准度,找到全局最优点
- 缺点:训练的搜索过程很慢
2.2 SGD ( Stochastic Gradient Descent )
- 优点:提升了计算速度
- 缺点:牺牲了精准度。虽然大方向没错,但下降得非常不平稳
2.3 MBGD ( Mini - Batch Gradient Descent )
也叫 最速下降法
- 特点:
- (相较于 BGD)没那么平稳,but 快 得多
- (相较于 SGD)没那么快,but 准确 得多
- 简洁高效
3 梯度下降法·缺点
-
对学习率的设定,非常敏感
-
除了效率极低的 BGD 外, SGD 、MBGD 未必能找到全局最优,很有可能陷入局部最优。