機器學習之簡化正則化:L2 正則化

Lois發表於2020-06-20

請檢視以下泛化曲線, 該曲線顯示的是訓練集和驗證集相對於訓練迭代次數的損失.

圖 1.訓練集和驗證集損失

圖 1 顯示的是某個模型的訓練損失逐漸減少, 但驗證損失最終增加.換言之, 該泛化曲線顯示該模型與訓練集中的資料過擬合.根據奧卡姆剃刀定律, 或許我們可以通過降低複雜模型的複雜度來防止過擬合, 這種原則稱為正則化。
也就是說, 並非只是以最小化損失 ( 經驗風險最小化 ) 為目標:

minimize ( Loss ( Data|Model ))

而是以最小化損失和複雜度為目標, 這稱為結構風險最小化:

minimize(Loss(Data|Model) + complexity(Model))

現在, 我們的訓練優化演算法是一個由兩項內容組成的函式:一個是損失項, 用於衡量模型與資料的擬合度, 另一個則是正則化項, 用於衡量模型的複雜度。
機器學習速成課程重點介紹了這兩種衡量模型複雜度的常見方式 ( 這兩種方式有些相關 ):

  • 將模型複雜度作為模型中所有特徵的權重的函式。
  • 將模型複雜度作為具有非零權重的特徵總數的函式。
    如果模型複雜度是權重的函式, 則特徵權重的絕對值越高, 對模型複雜度的貢獻就越大.
    我們可以使用 L2 正則化公式來衡量複雜度, 該公式將正則化項定義為所有特徵權重的平方和:

    L_2 regularization term = ||w||_{2}^{2} = w_{1}^{2} + w_{2}^{2} + ... +w_{n}^{2}

    在這個公式中, 接近於 0 的權重對模型的複雜度幾乎沒有影響, 而離群值權重則可能會產生巨大的影響。
    例如, 某個線性模型具有以下權重:

    w_1 = 0.2, w_2 = 0.5, w_3 = 5, w_4 = 2, \\w_5 = 0.25, w_6 = 0.75

L_2 正則化項為 26.915:

w_{1}^{2} + w_{2}^{2} + **w_{3}^{2}** + w_{4}^{2} + w_{5}^{2 }+ w_{6}^{2}\\ = 0.2^{2} + 0.5^{2} + **5^{2}** + 1^{2} + 0.25^{2} + 0.75^{2}\\ = 0.04 + 0.25 + 25 + 1 + 0.0625 + 0.5625 = 26.915

但是w_3( 上述加粗內容 )

本作品採用《CC 協議》,轉載必須註明作者和本文連結

Hacking

相關文章