L1 Regularization(Lasso)

L1 損失對應 L1 範數(曼哈頓距離,Manhattan norm)

L1=||yy^||1=|yiy^i|

意思就是:
把每個預測值和真實值的「誤差絕對值」加起來 (不平方)
不像 L2 Regularization(Ridge) 那樣平方誤差,而是直接量距離

L1 的效果

(詳細看 L1 vs L2 正則化 — 實務差異)


L1 正則化(L1 regularization)會讓損失函數變成「凸形(convex)」

整個優化問題只有一個全域最小值(global minimum),不會有多個局部最小值(local minima),因此比較容易找到最佳解。


想像你在城市裡走路:

→ L1 測的是真實走過的路;L2 測的是理論最短路徑

L1 的特性是促進稀疏性(sparsity),會讓部分權重直接變為 0
權重「變多」本身不會提升正確率,反而可能造成 overfitting


特性

透過懲罰權重的絕對值,使部分權重被壓到 0

特性 說明
對離群值(outlier)不太敏感 因為不平方,所以不會被極端值放大。
會讓部分權重變成 0(稀疏化) 適合做特徵選擇
在 0 附近不連續 導致梯度更新不平滑(在 0 附近「跳來跳去」)。
訓練可能抖動或收斂慢 尤其在大模型或深層網路時更明顯。

常見應用場景

回歸任務的損失函數 → Mean Absolute Error, MAE (平均絕對誤差)

實務應用:LassoMAE特徵壓縮等輕量任務
不適用:大型深度模型(LLM、CNN、Transformer)


為什麼大型模型不常用 L1

L1 在 0 附近的梯度是「突變」的(不像 L2 那樣連續),會讓訓練過程「一震一震」
⇒ 難以穩定收斂

→ 而像 LLaMA、GPT、Mistral 這種大語言模型都有上百億參數,非常仰賴「平滑、穩定的梯度更新」,所以幾乎都採用 L2(weight decay) 來正則化。

Powered by Forestry.md