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