【机器学习基础】范数与正则化
前言
本文討論了機器學習中正則化這個話題,對于L1正則項為什么稀疏也是面試中經常涉及的。
概要
正則化是機器學習中防止過擬合的一種重要技術。從數學上講,它增加了一個正則化項,以防止系數如此完美地擬合而過度擬合。
為什么需要正則化
定義樣本,為樣本空間,模型函數,故預測值為,損失函數為。因此機器學習的訓練過程可以轉換為一個在泛函空間內,找到一個使得全局損失最小的模型,此時的損失函數又叫做「經驗風險」(empirical risk),即損失函數的期望:
但上述損失函數只考慮了訓練集上的經驗風險,會出現過擬合的現象。為什么會出現過擬合?因為「模型參數過多或者結構過于復雜」。故我們需要一個函數來「描述模型的復雜程度」,即,也就是機器學習中常說到的「正則化項」(regularizer)。為了對抗過擬合,我們需要結合損失函數和正則化項,使他們的和最小,就可以將經驗風險最小化問題轉化為結構風險最小化,即機器學習中定義的「目標函數」(objective function):
其中,目標函數,用于控制正則項的參數。若模型過度復雜使得更小,但正則化項卻更大,總體的目標函數值不一定會降低。所以,總結來說,「正則化項起到了平衡偏差與方差的作用」。
以上便是以機器學習的角度,來講述為什么需要正則化。總的來說主要是在原有的損失中加入描述模型復雜度的項,將經驗風險(損失函數)轉化為結構風險(目標函數),「綜合考慮模型預測與真實的差距和模型復雜度」,以達到抑制過擬合的作用。接下來將具體的講述范數與正則化的關系。
范數
一般來說,「損失函數是一個具有下確界的函數」,當預測值與真實值足夠接近時,則損失值也會越接近下確界,這保證我們可以求出模型的最優解。當我們加入正則化項,變成目標函數,則也需要能夠進行最優化求解。這也就要求「正則化項也應該是一個具有下確界的函數」,而范數則很好的滿足了這個條件。
?范數(norm):是具有“長度”概念的函數。簡單來說,就是將向量投影到的值。
?我們假設某向量為,范數滿足長度的三條基本性質:
非負性:;
齊次性:
三角不等式:
因此,范數也是一個具有下確界的函數,這是由「非負性和齊次性」所保證的。這一特性使得-范數天然適合做正則項,因為目標函數仍可用梯度下降等方式求解最優化問題。-范數作為正則項時被稱為-正則項。
?范數的非負性保證了范數有下界。當齊次性等式中的取零時可知,零向量的范數是零,這保證了范數有下確界。
?-范數定義如下:
其中,應用較多的是范數(Taxicab distance,也稱曼哈頓距離)、范數(歐幾里得距離)。兩者的區別,簡單用一幅曼哈頓街道圖來說明:
范數對應的是兩點之間的移動,有多個解,而范數是歐幾里得距離,關于如何最快到達兩點之間總是有一個正確答案。
接下來介紹范數對應的正則化項,首先從正則化開始。
正則化項
以下對進行描述。其中,這里討論的稀疏性只從最能理解的【導數的角度】進行解釋。當然最為常見的應該是從優化的角度,還有一種是從概率論的角度(正則項相當于為加入拉普拉斯分布的先驗,正則項相當于加入高斯分布的先驗),具體見[3]。
正則化
我們簡單定義一個線性模型:
其中,為樣本的個數,為特征的個數,。
當訓練集中存在統計噪聲時(這里我們假設一種可能會發生過擬合的條件),冗余的特征可能會成為過擬合的來源。
?統計噪聲:指的是某些特征為統計特征,如均值、求和、標準差等。它們加入在特征中,會在一定程度上加快模型的收斂,但它們也同樣可以在一個線性模型中得到,對于統計噪聲,模型無法從有效特征當中提取信息進行擬合,故而會轉向冗余特征。
?為了對抗過擬合,如上述所說,我們可以通過降低模型的復雜度。最簡單的方法就是令某些學習到的特征參數為0,即。因此,可以引入-范數。
?-范數:指的是向量中不為0的個數。
?-正則項為:
通過引入-正則項,則對原優化過程加入了一種我們常說的「懲罰機制」:當優化算法希望增加模型復雜度(此處特指將原來為零的參數更新為非零的情形)以降低模型的經驗風險(即降低損失函數的)時,在結構風險上進行大小為(因為增加了1個非零參數)。由于結構風險(目標函數)是綜合考慮損失函數和正則化項,「若當增加模型復雜度在經驗風險的收益不足時,則結構化風險依舊會上升,而此時優化算法也會拒絕此更新」。
引入-正則化項會使模型參數稀疏化,使得模型易于解釋。但是正常機器學習中并不使用-正則化項,因為它有無法避免的問題:非連續、非凸、不可微。所以,我們引入了-范數。
正則項
-正則項(亦稱LASSO-正則項)為:
目標函數為:
我們對目標函數進行對求偏導,計算其梯度:
?sgn:符號函數,
?如下圖所示【簡單起見,僅有一個參數組成】:
故參數更新為:
可以觀察最后項,我們發現它始終讓(,為負,,為正),因此L1正則化將「以相同的步長」(注意這里)將任何權重移向0,而不管權重的值是多少。所以可以「實現參數稀疏化」。
對于上圖,我們忽略原損失函數對參數的梯度,當,,迭代多次,發現最終。
所以正則項的特點是:
不容易計算,在零點連續但不可導,需要分段求導;
L1可以將一些權值縮小到零(稀疏),所以是一個天然的「特征選擇器」;
由于它可以提供稀疏的解決方案,因此通常是「建模特征數量巨大時的首選正則項」。在這種情況下,獲得稀疏解決方案具有很大的計算優勢,因為可以簡單地忽略具有零系數的特征。它任意選擇高度相關的特征中的任何一個,并將其余特征對應的系數減少到零。
L1范數函數對異常值更具抵抗力。
正則項
如上圖所示,我們發現,當模型發生過擬合時,模型相對于其他模型,曲線函數更加的彎曲,這說明在「局部彎曲的部分,切線斜率特別大」,(即模型導數的絕對值特別大),對于整個模型來說,我們可以理解為所有的參數的絕對值之和特別大【梯度計算】。因此,如果我們有辦法「使得這些參數的值,比較稠密均勻地集中在零附近」,就能有效地抑制過擬合。于是,便引入了范數。
-正則項為:
目標函數為:
對求偏導:
故參數更新為:
我們可以通過調整學習率和正則化參數,使得為0~1之間的數,從而衰減的權重,所有的參數接近于0,從而抑制過擬合。
如上圖所示,解釋了為什么不會像那樣產生稀疏解,而只是讓權值接近0(當權值接近0時,它會采取越來越小的步驟)。
正則項的特點是:
容易計算,可導,適合基于梯度的方法將一些權值縮小到接近0;
相關的預測特征對應的系數值相似當特征的數量巨大時,計算量會比較大;
對outliers(異常值)非常敏感;
相對于L1正則化會更加精確;
參考資料
[1] https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms
[2] https://stats.stackexchange.com/questions/45643/why-l1-norm-for-sparse-models
[3] https://www.zhihu.com/question/37096933/answer/475278057
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【机器学习基础】范数与正则化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯视频app怎么允许腾讯视频访问位置信
- 下一篇: 微软Dev版Win11下周不更新 或为能