L1正則化與嵌入式特徵選擇(稀疏性)

嶺迴歸的歷史可追溯到1943年由A.Tikhonov發表在《蘇聯科學院院刊》上的一篇文章,咱們知道計算機是在1946年發明出來的,因而可知,這是一個歷史悠久的算法,至今依舊有生命力,屬於經典算法之一。算法

嶺迴歸,是線性迴歸的L2正則化方式。本質上是一種迴歸。函數

給定數據集D = {(x1,y1),(x2,y2),...,(xm,ym)},其中xϵR^d dimension,yϵR。咱們考慮最簡單的線性迴歸模型,以平方偏差爲損失函數:post

線性迴歸的損失函數

對於正則化不太瞭解的朋友能夠看我這一篇文章《L1與L2正則化》,可是咱們這裏對於正則化有一些更加深刻的理解。學習

正則化(Regularization)是在被優化的目標函數中,添加一項與常數因子λ相乘(有時候也使用α)的參數,這一項就叫作正則項。咱們很容易知道,因爲目標函數老是向最小化方向發展,則被加進來的這一項會受到懲罰使之更傾向於小。具體的理解能夠參考個人《L1與L2正則化》。如下是線性迴歸帶正則化的目標函數表達式。優化

帶L1正則化的線性迴歸的目標函數:spa

公式1

帶L2正則化的線性迴歸的目標函數,也就是咱們提到的嶺迴歸cdn

公式2

以上是正則化的感性認識以及其工做原理。咱們經常使用的正則化爲L1和L2正則化,也稱L1範數正則化與L2範數正則化。這兩種正則化均可以用來下降過擬合的風險,可是L1正則化比L2正則化多一個優點在於,其能夠更容易得到稀疏(sparse)解,即其會有更少的非零份量。blog

我舉一個直觀的例子。假設x僅僅有兩個屬性,因而根據線性迴歸的目標函數求解,w都以後有兩個份量。即w1與w2,以此爲座標軸,畫出一個座標系。如圖所示 get

L1範數與L2範數在w座標軸中的表示

那麼咱們取在這個(w1,w2)空間裏平方偏差取值同樣的點連成線,就成了咱們的平方偏差項等值線。再畫出L1,L2範數的等值線,即在(w1,w2)空間中L1範數與L2範數取值相同的點的連線,如圖所示。咱們知道,平方偏差等值線與正則化項等值線的交點爲帶正則化項的線性迴歸目標函數的解。咱們從圖中能夠看出,平方偏差等值線與L1正則化等值線的交點,在座標軸的頻率更高,即w1或w2爲0;二平方偏差等值線與L2正則化等值線的交點更容易出如今象限中,即w1與w2均不爲0。因而可知,採用L1範數正則化比L2範數更容易獲得稀疏解。it

注意到w取得稀疏解則意味着初始的d個特徵中僅有對應着w的非零份量的特徵纔會出如今最終模型中,因此求得的結果是獲得了僅採用一部分初始特徵的模型。咱們即可以將L1鄭澤華的學習方法視爲一種特徵選擇方法,刪掉了部分特徵(特徵爲0),特徵選擇過程與學習器訓練過程融爲一體,同時完成。

L1和L2正則的區別,如何選擇L1和L2正則?

  1. L1在0處不可導,怎麼處理他們都是能夠防止過擬合,下降模型複雜度L1是在loss function後面加上模型參數的1範數(也就是|xi|)L0範數的最小化問題在實際應用中是NP難問題,沒法實際應用
  2. L2是在loss function後面加上模型參數的2範數(也就是sigma(xi^2)),注意L2範數的定義是sqrt(sigma(xi^2)),在正則項上沒有添加sqrt根號是爲了更加容易優化L1 會產生稀疏的特徵L2 會產生更多地特徵可是都會接近於0
  3. L1會趨向於產生少許的特徵,而其餘的特徵都是0,而L2會選擇更多的特徵,這些特徵都會接近於0。L1在特徵選擇時候很是有用,而L2就只是一種規則化而已。
  4. L1對應拉普拉斯分佈,L2對應高斯分佈,L1偏向於參數稀疏性,L1不可導可使用近似算法或者ADMM來解決
相關文章
相關標籤/搜索