正則化是一種迴歸的形式,它將係數估計(coefficient estimate)朝零的方向進行約束、調整或縮小。也就是說,正則化能夠在學習過程當中下降模型複雜度和不穩定程度,從而避免過擬合的危險。函數
範數是衡量某個向量空間(或矩陣)中的每一個向量以長度或大小。範數的通常化定義:對實數p>=1, 範數定義以下:學習
若是隨機變量的機率密度函數分佈爲:測試
那麼它就是拉普拉斯分佈。其中,μ 是數學指望,b > 0 是振幅。若是 μ = 0,那麼,正半部分剛好是尺度爲 1/2 的指數分佈。優化
又叫正態分佈,若隨機變量X服從一個數學指望爲μ、標準方差爲σ2的高斯分佈,記爲:X∼N(μ,σ2),其機率密度函數爲:spa
其機率密度函數爲正態分佈的指望值μ決定了其位置,其標準差σ決定了分佈的幅度。當μ = 0,σ = 1時的正態分佈是標準正態分佈。3d
還有涉及極大似然估計、機率論相關的先驗和後驗相關機率, 爲了控制篇幅, 本文就不詳細介紹, wiki百科和百度百科都講得很清楚。orm
正則化經過下降模型的複雜性, 達到避免過擬合的問題。 正則化是如何解決過擬合的問題的呢?從網上找了不少相關文章, 下面列舉兩個主流的解釋方式。blog
緣由1:來自知乎上一種比較直觀和簡單的理解, 模型過於複雜是由於模型嘗試去兼顧各個測試數據點, 致使模型函數以下圖,處於一種動盪的狀態, 每一個點的到時在某些很小的區間裏,函數值的變化很劇烈。這就意味着函數在某些小區間裏的導數值(絕對值)很是大,因爲自變量值可大可小,因此只有係數足夠大,才能保證導數值很大。ci
而加入正則能抑制係數過大的問題。以下公式, 是嶺迴歸的計算公式。數學
若是發生過擬合, 參數θ通常是比較大的值, 加入懲罰項後, 只要控制λ的大小,當λ很大時,θ1到θn就會很小,即達到了約束數量龐大的特徵的目的。
緣由二:從貝葉斯的角度來分析, 正則化是爲模型參數估計增長一個先驗知識,先驗知識會引導損失函數最小值過程朝着約束方向迭代。 L1正則是拉普拉斯先驗,L2是高斯先驗。整個最優化問題能夠看作是一個最大後驗估計,其中正則化項對應後驗估計中的先驗信息,損失函數對應後驗估計中的似然函數,二者的乘積即對應貝葉斯最大後驗估計。
給定訓練數據, 貝葉斯方法經過最大化後驗機率估計參數θ:
說明:P(θ)是參數向量θ的先驗機率。
下面咱們從最大後驗估計(MAP)的方式, 推導下加入L1和L2懲罰項的Lasso和嶺迴歸的公式。
首先咱們看下最小二乘公式的推導(公式推導截圖來自知乎大神)
這個是經過最大似然估計的方法, 推導出線性迴歸最小二乘計算公式。
假設1: w參數向量服從高斯分佈
如下爲貝葉斯最大後驗估計推導:
假設2: w參數服從拉普拉斯分佈
如下爲貝葉斯最大後驗估計推導:
爲了幫助理解,咱們來看一個直觀的例子:假定x僅有兩個屬性,因而不管嶺迴歸仍是Lasso接觸的w都只有兩個份量,即w1,w2,咱們將其做爲兩個座標軸,而後在圖中繪製出兩個式子的第一項的」等值線」,即在(w1,w2)空間中平方偏差項取值相同的點的連線。再分別繪製出L1範數和L2範數的等值線,即在(w1,w2)空間中L1範數取值相同的點的連線,以及L2範數取值相同的點的連線(以下圖所示)。
嶺迴歸與Lasso的解都要在平方偏差項與正則化項之間折中,即出如今圖中平方偏差項等值線與正則化項等值線相交處。而由上圖能夠看出,採用L1範數時平方偏差項等值線與正則化項等值線的交點常出如今座標軸上,即w1或w2爲0,而在採用L2範數時,二者的交點常出如今某個象限中,即w1或w2均非0。
這說明了嶺迴歸的一個明顯缺點:模型的可解釋性。它將把不重要的預測因子的係數縮小到趨近於 0,但永不達到 0。也就是說,最終的模型會包含全部的預測因子。可是,在 Lasso 中,若是將調整因子 λ 調整得足夠大,L1 範數懲罰能夠迫使一些係數估計值徹底等於 0。所以,Lasso 能夠進行變量選擇,產生稀疏模型。注意到w取得稀疏解意味着初始的d個特徵中僅有對應着w的非零份量的特徵纔會出如今最終模型中,因而求解L1範數正則化的結果時獲得了僅採用一部分初始特徵的模型;換言之,基於L1正則化的學習方法就是一種嵌入式特徵選擇方法,其特徵選擇過程和學習器訓練過程融爲一體,同時完成。