Overfitting and Regularization/zh

    From Marovi AI
    This page is a translated version of the page Overfitting and Regularization and the translation is 100% complete.
    Other languages:
    Article
    Topic area Machine Learning
    Difficulty Intermediate
    Prerequisites Loss Functions, Neural Networks

    當機器學習模型對訓練數據學習得過於充分——捕捉到噪聲和特異性而非潛在模式——從而在未見過的數據上表現不佳時,就會發生過擬合正則化是用於防止過擬合併提高模型泛化能力的一系列技術。

    偏差-方差權衡

    對未見過數據的預測誤差可以分解為三個組成部分:

    $ \text{Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible noise} $
    • 偏差衡量模型的平均預測與真實值的距離。高偏差表明模型過於簡單,無法捕捉數據的結構(欠擬合)。
    • 方差衡量預測在不同訓練集之間的波動程度。高方差表明模型對特定訓練數據過於敏感(過擬合)。

    目標是找到使總誤差最小化的最佳平衡點。參數過少的模型會欠擬合(高偏差);參數過多的模型會過擬合(高方差)。正則化技術通過約束模型複雜度來調整這種平衡,接受略高的偏差以換取大幅降低的方差。

    檢測過擬合

    最清晰的診斷方法是比較訓練和驗證的性能:

    • 訓練損失下降,驗證損失也下降 —— 模型仍在學習;繼續訓練。
    • 訓練損失下降,驗證損失上升 —— 模型正在過擬合;應用正則化或停止訓練。
    • 訓練損失高,驗證損失高 —— 模型欠擬合;增加容量或延長訓練時間。

    在訓練迭代過程中繪製這些學習曲線是必不可少的實踐。訓練準確率與驗證準確率之間的較大差距是過擬合的標誌。

    L2 正則化(權重衰減)

    L2 正則化添加一個與權重平方大小成正比的懲罰項:

    $ J(\theta) = L(\theta) + \frac{\lambda}{2}\|\theta\|_2^2 = L(\theta) + \frac{\lambda}{2}\sum_j \theta_j^2 $

    正則化項的梯度為 $ \lambda \theta $,因此每個權重在每次更新時都會以乘法方式向零收縮——這就是權重衰減名稱的由來。超參數 $ \lambda $ 控制正則化的強度。

    從貝葉斯角度看,L2 正則化等價於對權重施加高斯先驗。它鼓勵小的、分布式的權重,並抑制任何單個權重變得過大。

    L1 正則化

    L1 正則化對絕對值之和進行懲罰:

    $ J(\theta) = L(\theta) + \lambda \|\theta\|_1 = L(\theta) + \lambda \sum_j |\theta_j| $

    與 L2 不同,L1 懲罰會將許多權重精確地驅動至零,產生稀疏模型。這使得 L1 正則化對特徵選擇非常有用。LASSO(Least Absolute Shrinkage and Selection Operator,最小絕對值收縮與選擇算子)是 L1 正則化線性回歸的經典例子。

    屬性 L1 L2
    懲罰項 $ \lambda\sum|\theta_j| $ $ \frac{\lambda}{2}\sum\theta_j^2 $
    對權重的影響 將許多權重驅動至精確為零 將所有權重收縮至零附近
    稀疏性
    貝葉斯解釋 拉普拉斯先驗 高斯先驗
    使用場景 特徵選擇、可解釋性 通用正則化

    Dropout

    Dropout(Srivastava 等,2014)是一種專門用於神經網絡的正則化技術。在訓練期間,每個神經元在每次前向傳播時以概率 $ p $ 被隨機"丟棄"(置零)。這可以防止神經元相互協同適應,並迫使網絡學習冗餘表示。

    在測試時,所有神經元都處於激活狀態,但其輸出被縮放 $ (1 - p) $ 倍以補償較多的激活單元數量(或等效地,在訓練期間輸出被縮放 $ 1/(1-p) $ 倍——inverted dropout)。

    Dropout 可以解釋為一種近似的集成方法:每個訓練步驟使用不同的子網絡,而最終模型近似於指數級多個子網絡的平均預測。

    早停

    早停(early stopping)在訓練期間監控驗證損失,並在驗證損失停止改善時停止優化。這是最簡單且最有效的正則化策略之一。

    在實踐中,耐心(patience)參數指定了在最後一次改善之後等待多少個 epoch 再停止。模型權重在驗證損失最低的時刻被保存,並在結束時恢復。

    早停作為一種隱式的正則化形式:它限制了訓練步驟的有效數量,防止模型完全記憶訓練數據。

    數據增強

    數據增強(data augmentation)通過應用保留標籤的變換來增加訓練集的有效規模和多樣性。對於圖像數據,常見的增強方法包括:

    • 隨機水平/垂直翻轉
    • 隨機裁剪和縮放
    • 顏色抖動(亮度、對比度、飽和度)
    • 旋轉和仿射變換
    • Mixup(對圖像對及其標籤進行線性插值)
    • Cutout(遮蔽隨機區域)

    對於文本數據,增強方法包括同義詞替換、回譯和釋義。數據增強通過讓模型接觸更多樣化的輸入而無需收集額外數據,從而減少過擬合。

    其他正則化技術

    • Batch normalization —— 對層輸入進行歸一化可以減少內部協變量偏移,並具有輕微的正則化效果。
    • 標籤平滑(label smoothing) —— 將 one-hot 目標替換為混合形式,例如 $ y_{\text{smooth}} = (1 - \epsilon)\, y + \epsilon / C $,以防止過度自信。
    • 噪聲注入 —— 在訓練期間向輸入、權重或梯度添加高斯噪聲。

    實用指南

    1. 從一個足夠大、能夠對訓練數據過擬合的模型開始 —— 這能確認模型具有足夠的容量。
    2. 逐步添加正則化(dropout、權重衰減、數據增強)並監控驗證性能。
    3. 使用早停作為安全網。
    4. 在可能的情況下,優先選擇更多訓練數據而非更強的正則化 —— 正則化是數據的替代品,而非真正的替代方案。
    5. 使用驗證集而非測試集來調整正則化強度($ \lambda $、dropout 比率)。

    參見

    參考文獻

    • Srivastava, N. et al. (2014). "Dropout: A Simple Way to Prevent Neural Networks from Overfitting". JMLR, 15, 1929–1958.
    • Tibshirani, R. (1996). "Regression Shrinkage and Selection via the Lasso". JRSS Series B, 58(1), 267–288.
    • Goodfellow, I., Bengio, Y. 與 Courville, A. (2016). Deep Learning, 第 7 章. MIT Press.
    • Zhang, C. et al. (2017). "Understanding deep learning requires rethinking generalization". ICLR.
    • Shorten, C. 與 Khoshgoftaar, T. M. (2019). "A survey on Image Data Augmentation for Deep Learning". Journal of Big Data.