【機器學習 04】機器要如何學得更好?Part 2 — Regularization
在上篇我們介紹了 nonlinear transformation、overfitting 和 validation,在本篇文章中讓我們一起來認識 regularization 吧!
在不同維度空間中,都會有不同函式通過目標資料集,但是有些是 regularized fit,有些則是 overfit,如下圖所示。
Regularization 的概念是在過於 overfitting 的模型上加一些係數的限制,例如將十次方程式(H10)的高次項係數設成 0,但是又比低維度方程式(如二次方程式 H2)的視野更寬廣。
限制分為兩種:Looser constraint 和 softer constraint。
- Looser constraint:不要指定是哪些係數為 0,例如只要某 8 個是 0 就好,但不要限制是誰。會比 H2 更有彈性,但又比 H10 更不危險(H10 太 powerful)。然而此方法的問題是,只有少數係數不為 0 是 NP-hard to solve 的問題,不好解。
- Softer constraint:比 looser constraint 好解,只要設定一個係數的上限,flexibility 增加,最多可以到十次多項式,但也不一定要這麼多。
林軒田老師教導用 the Lagrange Multiplier 解出係數最佳的位置,如下圖所示。
原本 Ein 的最佳解是要往藍色橢圓形的中心、也就是 Ein 的負梯度方向滾(越靠近中心越好)。但是由於加上 softer constraint(i.e., 綠色球)的限制,最佳解一定要在綠色球裡面,因此最佳解會座落於綠色球的邊上。
思考過程如下:
如何確定黃色位置的 w 為最佳解?
- 不能往橘色方向(法向量)滾,會滾出綠色圓圈外,不符合假設。
- 若 Ein 梯度在垂直於法向量(橘色箭頭)的方向上有分量,代表能夠繼續移動、減少 Ein,但同時不違反假設。
→ 因此,最好的解是梯度 Ein 在垂直於法向量方向上沒有分量。
換句話說,最佳解座落於綠色球邊界上,且梯度 Ein 和法向量(橘色箭頭)的方向平行。
根據以上推導我們可以將目標函數改寫成如下圖所示,積分後,等同於要解 Ein(w) + λ / N * regularizer,並稱之為 augmented error。
λ 是使用者需設定的數值,λ = 0 代表沒有 regularizer。
常見的 regularizers 又分為 L1 regularizer 和 L2 regularizer,L1 的限制是用一個正方形,因此並非所有點都可以微分,是 sparse solution。
總結來看,要如何選用 regularizer,如何設定適合的 λ 也是一門學問。若資料的 noise 越多,需要越多 regularization。因此若怕選不好的話,可以從 λ = 0 開始慢慢調整。
想要更深入了解的話,別忘了去最上面的目錄看其他章的課程筆記!
喜歡這篇文章或是對你有幫助的話,別忘了拍手給我鼓勵哦 👏🏻
參考資料
- 林軒田,機器學習基石與技法:https://www.youtube.com/c/hsuantien/playlists