正则化与L0、L1、L2范数祥解
1、范數
范數是衡量某個向量空間(或矩陣)中的每個向量以長度或大小。范數的一般化定義:對實數p>=1, 范數定義如下:
- L1范數
當p=1時,是L1范數,其表示某個向量中所有元素絕對值的和。 - L2范數
當p=2時,是L2范數, 表示某個向量中所有元素平方和再開根, 也就是歐幾里得距離公式。
2、拉普拉斯分布
如果隨機變量的概率密度函數分布為:
那么它就是拉普拉斯分布。其中,μ 是數學期望,b > 0 是振幅。如果 μ = 0,那么,正半部分恰好是尺度為 1/2 的指數分布。
3、高斯分布
又叫正態分布,若隨機變量X服從一個數學期望為μ、標準方差為σ2的高斯分布,記為:X~N(μ,σ2),其概率密度函數為:
其概率密度函數為正態分布的期望值μ決定了其位置,其標準差σ決定了分布的幅度。當μ = 0,σ = 1時的正態分布是標準正態分布。
4、正則化詳解
正則化通過降低模型的復雜性, 達到避免過擬合的問題。 正則化是如何解決過擬合的問題的呢?從網上找了很多相關文章, 下面列舉兩個主流的解釋方式。
原因1:來自知乎上一種比較直觀和簡單的理解, 模型過于復雜是因為模型嘗試去兼顧各個測試數據點, 導致模型函數如下圖,處于一種動蕩的狀態, 每個點的到時在某些很小的區間里,函數值的變化很劇烈。這就意味著函數在某些小區間里的導數值(絕對值)非常大,由于自變量值可大可小,所以只有系數足夠大,才能保證導數值很大。
?
而加入正則能抑制系數過大的問題。如下公式, 是嶺回歸的計算公式。
如果發生過擬合, 參數θ一般是比較大的值, 加入懲罰項后, 只要控制λ的大小,當λ很大時,θ1到θn就會很小,即達到了約束數量龐大的特征的目的。
原因二:從貝葉斯的角度來分析, 正則化是為模型參數估計增加一個先驗知識,先驗知識會引導損失函數最小值過程朝著約束方向迭代。 L1正則是拉普拉斯先驗,L2是高斯先驗。整個最優化問題可以看做是一個最大后驗估計,其中正則化項對應后驗估計中的先驗信息,損失函數對應后驗估計中的似然函數,兩者的乘積即對應貝葉斯最大后驗估計。
給定訓練數據, 貝葉斯方法通過最大化后驗概率估計參數θ:
說明:P(θ)是參數向量θ的先驗概率。
下面我們從最大后驗估計(MAP)的方式, 推導下加入L1和L2懲罰項的Lasso和嶺回歸的公式。
首先我們看下最小二乘公式的推導(公式推導截圖來自知乎大神)
?
這個是通過最大似然估計的方法, 推導出線性回歸最小二乘計算公式。
最終的公式就是嶺回歸計算公式。與上面最大似然估計推導出的最小二乘相比,最大后驗估計就是在最大似然估計公式乘以高斯先驗, 這里就理解前面L2正則就是加入高斯先驗知識
最終的公式就是Lasso計算公式。與上面最大似然估計推導出的最小二乘相比,最大后驗估計就是在最大似然估計公式乘以拉普拉斯先驗, 這里就理解前面L1正則就是加入拉普拉斯先驗知識
5、L1和L2正則化的直觀理解
稀疏矩陣指的是很多元素為0,只有少數元素是非零值的矩陣,即得到的線性回歸模型的大部分系數都是0. 通常機器學習中特征數量很多,例如文本處理時,如果將一個詞組(term)作為一個特征,那么特征數量會達到上萬個(bigram)。在預測或分類時,那么多特征顯然難以選擇,但是如果代入這些特征得到的模型是一個稀疏模型,表示只有少數特征對這個模型有貢獻,絕大部分特征是沒有貢獻的,或者貢獻微小(因為它們前面的系數是0或者是很小的值,即使去掉對模型也沒有什么影響),此時我們就可以只關注系數是非零值的特征。這就是稀疏模型與特征選擇的關系。
這部分內容將解釋為什么L1正則化可以產生稀疏模型(L1是怎么讓系數等于零的),以及為什么L2正則化可以防止過擬合。
假設有如下帶L1正則化的損失函數:
其中是原始的損失函數,加號后面的一項是L1正則化項,α是正則化系數。注意到L1正則化是權值的絕對值之和,J是帶有絕對值符號的函數,因此J是不完全可微的。機器學習的任務就是要通過一些方法(比如梯度下降)求出損失函數的最小值。當我們在原始損失函數J0后添加L1正則化項時,相當于對J0做了一個約束。令L=α∑w|w|,則J=J0+L,此時我們的任務變成在L約束下求出J0取最小值的解。考慮二維的情況,即只有兩個權值w1和w2,此時L=|w1|+|w2|對于梯度下降法,求解J0的過程可以畫出等值線,同時L1正則化的函數L也可以在w1w2的二維平面上畫出來。如下圖:
圖中等值線是J0的等值線,黑色方形是L函數的圖形。在圖中,當J0等值線與L圖形首次相交的地方就是最優解。上圖中J0與L在L的一個頂點處相交,這個頂點就是最優解。注意到這個頂點的值是(w1,w2)=(0,w)。可以直觀想象,因為L函數有很多『突出的角』(二維情況下四個,多維情況下更多),J0與這些角接觸的機率會遠大于與L其它部位接觸的機率,而在這些角上,會有很多權值等于0,這就是為什么L1正則化可以產生稀疏模型,進而可以用于特征選擇。
而正則化前面的系數α,可以控制L圖形的大小。α越小,L的圖形越大(上圖中的黑色方框);α越大,L的圖形就越小,可以小到黑色方框只超出原點范圍一點點,這是最優點的值(w1,w2)=(0,w)中的w可以取到很小的值。
類似,假設有如下帶L2正則化的損失函數:
同樣可以畫出他們在二維平面上的圖形,如下:
二維平面下L2正則化的函數圖形是個圓,與方形相比,被磨去了棱角。因此J0與L相交時使得w1或w2等于零的機率小了許多,這就是為什么L2正則化不具有稀疏性的原因。
6、選擇L2正則項的原因
給損失函數加上的正則化項可以有多種形式,下面給出了正則化的一般形式:
不同函數值圖像對應的等高線(即俯視圖)為:
?
7、總結
?
總結
以上是生活随笔為你收集整理的正则化与L0、L1、L2范数祥解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中用户识别码,C语言中设置用户
- 下一篇: 船舶和计算机结合论文格式,近海船舶监控系