機器學習技術與應用 | 單元 3.3 核心主題解析
一、 優化的核心:損失函數與目標 必考定義
機器學習的過程本質上是在 「尋找一組參數 $w$,使得損失函數 $L(w)$ 達到最小值」。優化技術就是指引模型如何調整參數的方法。
1.1 常見損失函數 (Loss Functions)
- 均方誤差 (MSE): 常用於「回歸任務」。計算預測值與實際值之差的平方平均。
- 交叉熵 (Cross-Entropy): 常用於「分類任務」。衡量兩個機率分佈的差異,數值越小代表預測越準。
若損失函數是「凸」的,則 局部最小值 (Local Minimum) 就是全局最小值 (Global Minimum),優化過程最為簡單。非凸函數(如深度神經網路)則容易陷入局部陷阱。
二、 梯度下降法 (Gradient Descent) 高頻考點
梯度代表函數上升最快的方向,因此「負梯度」方向就是下山最快的方向。
$w_{new} = w_{old} - \eta \cdot \nabla L(w)$
(其中 $\eta$ 為學習率,$\nabla L(w)$ 為梯度)
2.1 三種梯度下降策略比較
| 策略 | 說明 | 優點 | 缺點 |
|---|---|---|---|
| BGD (批量) | 使用「全量」資料計算梯度。 | 路徑穩定,保證收斂。 | 資料量大時計算極慢,記憶體溢出。 |
| SGD (隨機) | 隨機挑選「1 筆」資料計算。 | 計算速度極快。 | 路徑非常震盪,難以精確收斂。 |
| 挑選「一小群 (Batch)」資料。 | 工業界標準。兼顧穩定性與速度。 | 需額外調整 Batch Size。 |
三、 優化器進化:從 SGD 到 Adam 演算法進階
為了克服基本 SGD 的收斂速度慢與震盪問題,科學家發展了多種進階優化器。
- 動量法 (Momentum): 模擬物理動量,保留先前的更新趨勢。優點:加速通過平坦區,抑制震盪。
- AdaGrad: 「自適應」調整學習率。頻繁更新的參數學習率調低,稀疏參數調高。缺點:後期學習率趨於 0,導致訓練停止。
- RMSProp: 解決 AdaGrad 學習率遞減過快的問題,只參考近期的梯度大小。
- Adam: 目前最主流優化器。結合了「動量」與「自適應學習率」的優點。
四、 學習率 (Learning Rate, $\eta$) 的影響
學習率是 AI 訓練中最關鍵的「超參數 (Hyperparameter)」。
- 學習率過大: 跨步過猛,會導致在最小值附近 震盪甚至發散,無法收斂。
- 學習率過小: 步履蹣跚,訓練 速度極慢,且容易陷入局部最小值。
- 學習率調度 (Scheduler): 訓練初期大、後期小,是一種常見的優化策略。
五、 正則化與防止過擬合 應試大熱點
數值優化不僅要讓 Loss 變小,還要確保模型在測試集(未知資料)表現良好。
5.1 過擬合 (Overfitting) vs. 欠擬合 (Underfitting)
- 過擬合: 訓練 Loss 極低,測試 Loss 極高。模型「背死書」。
- 欠擬合: 訓練與測試 Loss 都很高。模型「學不會」。
- L1 正則化 (Lasso): 增加絕對值權重懲罰。會產生「稀疏性」,起到 特徵選擇 的作用。
- L2 正則化 (Ridge): 增加平方權重懲罰。讓權重趨近於小數值,減少單一特徵的主導權,增加模型穩定性。
- 早停法 (Early Stopping): 當驗證集 Loss 開始上升時即停止訓練。