「正規化」是指對模型的複雜度進行懲處,以減少過度配適。
簡化正規化作業
一般化曲線
縮減模型複雜度
- 我們希望盡可能避免複雜的模型。
- 我們可以將這個想法納入訓練期間的最佳化作業中。
- 經驗風險最小化做法:
- 目的為低訓練誤差
$$ \text{minimize: } Loss(Data\;|\;Model) $$
縮減模型複雜度
- 我們希望盡可能避免複雜的模型。
- 我們可以將這個想法納入訓練期間的最佳化作業中。
- 結構風險最小化:
- 目的為低訓練誤差
- 同時兼顧複雜程度
$$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$
正規化
- 如何定義複雜度(模型)?
正規化
- 如何定義複雜度(模型)?
- 偏好較小的重量
正規化
- 如何定義複雜度(模型)?
- 偏好較小的重量
- 從此目標變一般會產生費用
- 可以透過 L2 正則化 (也稱為山脊) 將這個提案編碼
- complexity(model) = 權重平方的總和
- 看似遠大的事情
- 線性模型:偏好平坦斜率
- 貝葉斯文前:
- 權重應以 0 為中心
- 權重應通常會分配
搭配 L2 正規化的損失函式
$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$
\(\text{Where:}\)
\(Loss\text{: Aims for low training error}\)
\(\lambda\text{: Scalar value that controls how weights are balanced}\)
\(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)