機器學習演算法之正則化
>By joey周琦
正則化
假設目標函式為
而為了避免模型的過擬合(overfitting), 所以需要在這裡進行正則化(regularization)[2]。正則化的主要思想就是控制係數
二階(L2):
一階(L1):
那麼在迭代優化時:
L2的更新公式為:
L1的更新公式為:
L1 正則化在0處不可導,但是可以採用“次梯度”替代。在batch(批量資料)模式下,L1更容易產生稀疏的解,即很多不重要的特徵的係數會比較接近0,所以在從而可以達到特徵選擇的作用。在梯度下降優化中一般偏導數的公式是一個包含所有樣本的加和形式如下
可以看出梯度下降法的一次迭代即要用到所有的訓練資料,這樣的迭代速度過慢。為了提高更新速度,隨機梯度下降法將上述的全量加和梯度,近似為了單樣本的梯度如下:
對於凸優化問題,相對於梯度下降法,在學習率適當的收斂和一些溫和的假設下,隨機梯度下降法更快速接近全域性最優解[3]。
線上(online)模式,即以增量的形式更新,資料一條一條過來的時候,梯度下降法的batch模式無法應用 ,而應該使用隨機梯度下降法。對於隨機梯度下降法,L1正則化也得不到比較稀疏的解。所以線上模式中想要產生稀疏特徵,則要利用下面講的一些線上優化的方法。
線上優化
簡單截斷法
以
其中
其中
截斷梯度法(Truncated Gradient, TG)
為了避免上述too aggressive的截斷方法,TG採用了一種比較溫和的截斷方法
以
其中
可以看出TG方法又增加了一個引數
參考
1 線上最優化求解,馮揚
2 wiki, Regularization (mathematics)
3 Stochastic gradient descent - Wikipedia