機器學習入門之範數與正則化

  • 2019 年 10 月 6 日
  • 筆記

0.導語

研究一下範數與正則化,並做相應記錄!

1.範數

範數(Norm)是具有度量性質的函數,在機器學習中,經常用來衡量向量的大小。

範數把一個向量映射為一個非負值的函數,我們可以將一個向量x,經範數後表示點距離原點的距離,那麼L^p範數定義如下:

其中p屬於R,p大於等於1。

2.經典範數

(1)L0範數:表示統計向量中非零元素的個數(不是嚴格意義上的範數)。

我們可以通過最小化L0範數,來尋找最少最優的稀疏特徵項。但不幸的是,L0範數的最優化問題是一個NP hard問題(L0範數同樣是非凸的)。因此,在實際應用中我們經常對L0進行凸鬆弛,理論上有證明,L1範數是L0範數的最優凸近似,因此通常使用L1範數來代替直接優化L0範數。

(2)L1範數:表示零元素與非零元素差別非常重要時使用。例如:每當x中某個元素從0增加到m,則對應的L1範數也會增加m。也就是每個元素絕對值之和。也被稱為是"稀疏規則運算元"。

(3)L2範數:是歐幾里得範數,表示從原點出發到向量x確定的點的歐幾里得距離。在快接近源值時L2範數增長緩慢,對於區分恰好是零的元素和非零但值很小的元素的情況就不適用了(轉為L1範數)。也就是通常說的歐氏距離。有人把它的回歸叫「嶺回歸」(Ridge Regression),也有人叫它「權值衰減」(Weight Decay)。

(4)Loo範數,表示最大範數,只是統計向量中的最大值,也就是最大幅值的元素的絕對值。

(5)Frobenius範數,類似於L2範數,用來衡量矩陣的大小!

最後,兩個向量的點積也可以用範數來表示:

3.正則化

3.1 為何使用正則化

正則化可以避免過擬合的產生和減少網路誤差。

3.2 正則化

(1)表達式:

第一項表示經驗風險,第二項表示正則項。

正則化與範數關係

R(f)就是相關範數表達式。

(2)常見正則

  • L1正則

凸函數,不是處處可微分。得到的是稀疏解(最優解常出現在頂點上,且頂點上的 w 只有很少的元素是非零的)。

  • L2正則

凸函數,處處可微分,且易於優化。

  • Dropout

Dropout是深度學習中經常採用的一種正則化方法。核心思想是減少神經元之間複雜的共適應性。當隱藏層神經元被隨機刪除之後,使得全連接網路具有了一定的稀疏化,從而有效地減輕了不同特徵的協同效應。使神經網路中的某些神經元隨機失活,讓模型不過度依賴某一神經元,達到增強模型魯棒性以及控制過擬合的效果。

Tags: