最近課程作業讓閱讀了
這篇經典的論文,寫篇學習筆記。
主要是對論文前半部分Lasso思想的理解,后面實驗以及參數估計部分沒有怎么寫,中間有錯誤希望能提醒一下,新手原諒一下。
1.整體思路
作者提出了一種收縮和選擇方法Lasso,這是一種可以用於線性回歸的新的估計方法。它具有子集選擇和嶺回歸的各自的優點。像子集選擇一樣可以給出具有解釋力的模型,又能像嶺回歸一樣具有可導的特性,比較穩定。同時避免了子集選擇不可導,部分變化引起整體巨大變化這一不穩定的缺點。以及嶺回歸不能很好的收縮到0的缺點。
2.對文章目的理解
為了理解這篇文章是做了什么事情,先要明白回歸的收縮和選擇是用來做什么的。
我們用某一個模型F來回歸擬合某一問題時,往往容易遇到過擬合的問題。這是經常是由於,模型過於復雜,比如參數過多,變量指數過高。過度擬合了訓練數據,導致模型的泛化能力變差。這是需要引入正則化項(懲罰項)來使模型最后訓練的結果不至於太過於復雜(過擬合)。
正則化一般具有如下形式:

是經驗風險。J(f)是正則化項,就代表了對模型復雜度的懲罰,只要它能做到模型越復雜,J(f)值越大。所以最小化損失函數時,就會令經驗風險盡量小的同時,考慮讓模型復雜度也不要太大。這樣雖然會提高模型的訓練誤差,甚至可能某些正則化操作會使模型偏差(Bias)變大,但是會提高模型的穩定程度(方差更小,模型更簡單),減少模型的泛化誤差。
這里有兩個問題!
(1) 模型的簡單體現在什么方面?(模型如何簡化)
(2) 正則化是怎么讓模型變簡單的?
先說問題(1),考慮模型
。向量X是特征向量,向量W是其對應的參數。模型復雜,一是體現在特征過多,第二是體現在X的指數過高。那么如何令模型變得簡單呢,自然而然的想到若某些參數為0,那么就相當於不考慮這些特征Xi了(這就是子集選擇的思想)。或者令某些參數縮小,這樣不重要的特征對結果造成的影響也會變小(這就是shrinkage的思想)。當然有些參數在縮小過程中會變成0,這就是在收縮過程中起到了子集選擇的效果。
那么關鍵的來了,問題(2)正則化是怎么讓模型變簡單的呢。上一段分析出,如果讓某些不重要的參數進行收縮,能夠使模型變得簡化。再來看看正則化的例子:

以J(f)取||w||為例,可以看出,如果參數W越多,或者整理模的平方和越大,||w||就越大。所以在最小化代價函數的過程,就會考慮讓參數的平方和也盡可能小(整體最小的前提下)。所以設不加正則化項的估計出的向量為
,加了正則化項的估計出得參數向量為
。那么可以看出
。所以正則化項起到了shrinkage參數的效果,如果有些參數在收縮過程中精確到0,就相當於子集選擇的效果(我們是希望這樣的)。
那么這篇文章的目的就可以理解了,作者提出的Lasso就是一種具有嶺回歸(可導可直接求最小值)和子集選擇(部分參數為0)的優點的估計方法(也可以說一種正則化的方法)。
3.方法對比及Lasso引入
之前是在word寫的,這里為了方便截圖一下。


