參考這篇文章:算法
https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pcide
https://blog.csdn.net/jinping_shi/article/details/52433975函數
參考這篇文章:優化
https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pcspa
https://blog.csdn.net/jinping_shi/article/details/52433975.net
參考這篇文章:blog
https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pc數學
https://blog.csdn.net/jinping_shi/article/details/52433975io
參考這篇文章:class
https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pc
https://blog.csdn.net/jinping_shi/article/details/52433975
參考這篇文章:
https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pc
https://blog.csdn.net/jinping_shi/article/details/52433975
1. L2 正則化直觀解釋
L2 正則化公式很是簡單,直接在原來的損失函數基礎上加上權重參數的平方和:
L=Ein+λ∑jw2j
L=Ein+λ∑jwj2
其中,Ein 是未包含正則化項的訓練樣本偏差,λ 是正則化參數,可調。可是正則化項是如何推導的?接下來,我將詳細介紹其中的物理意義。
咱們知道,正則化的目的是限制參數過多或者過大,避免模型更加複雜。例如,使用多項式模型,若是使用 10 階多項式,模型可能過於複雜,容易發生過擬合。因此,爲了防止過擬合,咱們能夠將其高階部分的權重 w 限制爲 0,這樣,就至關於從高階的形式轉換爲低階。
爲了達到這一目的,最直觀的方法就是限制 w 的個數,可是這類條件屬於 NP-hard 問題,求解很是困難。因此,通常的作法是尋找更寬鬆的限定條件:
∑jw2j≤C
∑jwj2≤C
上式是對 w 的平方和作數值上界限定,即全部w 的平方和不超過參數 C。這時候,咱們的目標就轉換爲:最小化訓練樣本偏差 Ein,可是要遵循 w 平方和小於 C 的條件。
下面,我用一張圖來講明如何在限定條件下,對 Ein 進行最小化的優化。
如上圖所示,藍色橢圓區域是最小化 Ein 區域,紅色圓圈是 w 的限定條件區域。在沒有限定條件的狀況下,通常使用梯度降低算法,在藍色橢圓區域內會一直沿着 w 梯度的反方向前進,直到找到全局最優值 wlin。例如空間中有一點 w(圖中紫色點),此時 w 會沿着 -∇Ein 的方向移動,如圖中藍色箭頭所示。可是,因爲存在限定條件,w 不能離開紅色圓形區域,最多隻能位於圓上邊緣位置,沿着切線方向。w 的方向如圖中紅色箭頭所示。
那麼問題來了,存在限定條件,w 最終會在什麼位置取得最優解呢?也就是說在知足限定條件的基礎上,儘可能讓 Ein 最小。
咱們來看,w 是沿着圓的切線方向運動,如上圖綠色箭頭所示。運動方向與 w 的方向(紅色箭頭方向)垂直。運動過程當中,根據向量知識,只要 -∇Ein 與運行方向有夾角,不垂直,則代表 -∇Ein 仍會在 w 切線方向上產生份量,那麼 w 就會繼續運動,尋找下一步最優解。只有當 -∇Ein 與 w 的切線方向垂直時,-∇Ein在 w 的切線方向纔沒有份量,這時候 w 纔會中止更新,到達最接近 wlin 的位置,且同時知足限定條件。
-∇Ein 與 w 的切線方向垂直,即 -∇Ein 與 w 的方向平行。如上圖所示,藍色箭頭和紅色箭頭互相平行。這樣,根據平行關係獲得:
−∇Ein+λw=0
−∇Ein+λw=0
移項,得:
∇Ein+λw=0
∇Ein+λw=0
這樣,咱們就把優化目標和限定條件整合在一個式子中了。也就是說只要在優化 Ein 的過程當中知足上式,就能實現正則化目標。
接下來,重點來了!根據最優化算法的思想:梯度爲 0 的時候,函數取得最優值。已知 ∇Ein 是 Ein 的梯度,觀察上式,λw 是否也能當作是某個表達式的梯度呢?
固然能夠!λw 能夠當作是 1/2λw*w 的梯度:
∂∂w(12λw2)=λw
∂∂w(12λw2)=λw
這樣,咱們根據平行關係求得的公式,構造一個新的損失函數:
Eaug=Ein+λ2w2
Eaug=Ein+λ2w2
之因此這樣定義,是由於對 Eaug 求導,正好獲得上面所求的平行關係式。上式中等式右邊第二項就是 L2 正則化項。
這樣, 咱們從圖像化的角度,分析了 L2 正則化的物理意義,解釋了帶 L2 正則化項的損失函數是如何推導而來的。
2. L1 正則化直觀解釋
L1 正則化公式也很簡單,直接在原來的損失函數基礎上加上權重參數的絕對值:
L=Ein+λ∑j|wj|
L=Ein+λ∑j|wj|
我仍然用一張圖來講明如何在 L1 正則化下,對 Ein 進行最小化的優化。
Ein 優化算法不變,L1 正則化限定了 w 的有效區域是一個正方形,且知足 |w| < C。空間中的點 w 沿着 -∇Ein 的方向移動。可是,w 不能離開紅色正方形區域,最多隻能位於正方形邊緣位置。其推導過程與 L2 相似,此處再也不贅述。
3. L1 與 L2 解的稀疏性
介紹完 L1 和 L2 正則化的物理解釋和數學推導以後,咱們再來看看它們解的分佈性。
以二維狀況討論,上圖左邊是 L2 正則化,右邊是 L1 正則化。從另外一個方面來看,知足正則化條件,其實是求解藍色區域與黃色區域的交點,即同時知足限定條件和 Ein 最小化。對於 L2 來講,限定區域是圓,這樣,獲得的解 w1 或 w2 爲 0 的機率很小,很大機率是非零的。
對於 L1 來講,限定區域是正方形,方形與藍色區域相交的交點是頂點的機率很大,這從視覺和常識上來看是很容易理解的。也就是說,方形的凸點會更接近 Ein 最優解對應的 wlin 位置,而凸點處必有 w1 或 w2 爲 0。這樣,獲得的解 w1 或 w2 爲零的機率就很大了。因此,L1 正則化的解具備稀疏性。
擴展到高維,一樣的道理,L2 的限定區域是平滑的,與中心點等距;而 L1 的限定區域是包含凸點的,尖銳的。這些凸點更接近 Ein 的最優解位置,而在這些凸點上,不少 wj 爲 0。
關於 L1 更容易獲得稀疏解的緣由,有一個很棒的解釋,請見下面的連接:
https://www.zhihu.com/question/37096933/answer/70507353
4. 正則化參數 λ
正則化是結構風險最小化的一種策略實現,可以有效下降過擬合。損失函數實際上包含了兩個方面:一個是訓練樣本偏差。一個是正則化項。其中,參數 λ 起到了權衡的做用。
以 L2 爲例,若 λ 很小,對應上文中的 C 值就很大。這時候,圓形區域很大,可以讓 w 更接近 Ein 最優解的位置。若 λ 近似爲 0,至關於圓形區域覆蓋了最優解位置,這時候,正則化失效,容易形成過擬合。相反,若 λ 很大,對應上文中的 C 值就很小。這時候,圓形區域很小,w 離 Ein 最優解的位置較遠。w 被限制在一個很小的區域內變化,w 廣泛較小且接近 0,起到了正則化的效果。可是,λ 過大容易形成欠擬合。欠擬合和過擬合是兩種對立的狀態。
梯度角度分析
1)、L1正則化
L1正則化的損失函數爲:

上式可知,當w大於0時,更新的參數w變小;當w小於0時,更新的參數w變大;因此,L1正則化容易使參數變爲0,即特徵稀疏化。
2)、L2正則化
L2正則化的損失函數爲:

由上式可知,正則化的更新參數相比於未含正則項的更新參數多了

項,當w趨向於0時,參數減少的很是緩慢,所以L2正則化使參數減少到很小的範圍,但不爲0。