1.結構風險與經驗風險
在支持向量機部分,我們接觸到鬆弛變量,正則化因子以及最優化函數,在樸素貝葉斯分類,決策樹我們也遇到類似的函數優化問題。其實這就是結構風險和經驗風險兩種模型選擇策略,經驗風險負責最小化誤差,使得模型儘可能的擬合數據,而結構風險則負責規則化參數,使得參數的形式儘量簡潔,從而達到防止過擬合的作用.所以針對常見模型,我們都有下式:
第一項經驗風險L(yi,f(xi,w))衡量真實值與預測值之間的誤差,第二項結構風險Ω(w)規則化項使得模型儘可能簡單.而第二項Ω(w)一般是模型複雜度的單調函數,模型越複雜,則規則化項的值越大,這裏常引入範數作爲規則化項,這也就引入了我們常見的L0範數,L1範數以及L2範數.
2.L0範數,L1範數,L2範數與LASSO迴歸,嶺迴歸
1)廣義定義
L0範數 : 向量中非零元素的個數.
L1範數 :向量中各個元素絕對值之和
L2範數 :向量各元素平方和然後求平方根
L0,L1範數可以實現稀疏化,而L1係數因爲有比L0更好的特性而被廣泛應用,L2範數在迴歸裏就是嶺迴歸,也叫均值衰減,常用於解決過擬合,通過對向量各元素平方和再求平方根,使得L2範數最小,從而使得參數W的各個元素都接近於0,與L1範數不同,L2範數規劃後w的值會接近於0但不到0,而L1範數規範後則可能令w的一些值爲0,所以L1範數規範在特徵選擇中經常用到,而L2範數在參數規則化時經常用到.在迴歸模型中,通過添加L1,L2範數引入正則化項,便得到了LASSO迴歸和嶺迴歸:
2)迴歸模型
常見線性模型迴歸:
LASSOO迴歸:
嶺迴歸:
3.嵌入式選擇與LASSO迴歸
這裏主要針對西瓜書第11節的內容,對近端梯度下降PGD法解決L1正則化問題進行討論.
1)優化目標
令▽表示微分算子,對優化目標:
若f(x)可導,且▽f 滿足L-Lipschitz(利普希茨連續條件),即存在常數L>0使得:
2)泰勒展開
則在Xk處我們可以泰勒展開:
上式是嚴格相等,由L-Lipschitz條件我們可以看到:
這裏給出了一個L的下界,且下界的形式與二階導函數形式類似,從而泰勒展開式的二階導便通過L替代,從而嚴格不等也變成了近似:
3)簡化泰勒展開式
接下來我們化簡上式:
其中φ(xk)是與x無關的const常數.
4)簡化優化問題
這裏若通過梯度下降法對f(x)進行最小化,則每一步下降迭代實際上等價於最小化二次函數f(x),從而推廣到我們最上面的優化目標,類似的可以得到每一步的迭代公式:
令
則我們可以先計算z,再求解優化問題:
5)求解
令xi爲x的第i個分量,將上式展開可以看到沒有xixj(x≠j)的項,即x的各分量互不影響,所以優化目標有閉式解.這裏對於上述優化問題求解需要用到Soft Thresholding軟閾值函數,其解爲:
對於本例,帶入求解即得:
因此,PGD能使LASSO和其他基於L1範數最小化的方法得以快速求解.
4.Soft Thresholding軟閾值函數證明
1)軟閾值函數
上式求解用到了軟閾值函數,下面對軟閾值函數的解進行求證,從而更好理解上述求解過程.
先看一下軟閾值函數:
2)證明
Proof:
對於優化問題:
此處X,Z均爲n維向量.
展開目標函數:
從而優化問題變爲求解N個獨立的函數:
這是我們常見的二次函數,對其求導:
令導數爲0:
看到兩邊都有x,所以我們要對上述情況進行討論:
A.z>λ/2時
假設 x<0 , 所以 sign(x)=-1 ,但 z-λ/2sign(x)>0 ,所以矛盾.
假設 x>0 ,所以 sign(x) = 1,z-λ/2sign(x)>0,所以極小值在x>0 取得1.
此時極小值小於f(0):
再看x<0,
所以f(x)在負無窮到0單調遞減,所以最小值在z-λ/2處取得.
B.z<-λ/2時
假設 x<0 , 所以 sign(x)=-1 ,z-λ/2sign(x)<0 ,所以極值點在 x<0 處取得.
假設 x>0 ,所以 sign(x) = 1,z-λ/2sign(x)<0,所以矛盾.
此時極值小於f(0):
再看 x>0 ,
所以f(x)在0到正無窮單調遞增,所以最小值在z+λ/2處取得.
C.λ/2<z<λ/2時
假設 x<0 , 所以 sign(x)=-1 ,z-λ/2sign(x)>0 ,所以矛盾.
假設 x>0 ,所以 sign(x) = 1,z-λ/2sign(x)<0,所以矛盾.
所以x>0,x<0均不滿足條件.
所以有:
當△x>0時,由條件z<λ/2:
當△x<0時,由條件z<λ/2:
所以在0處取極小值,同時也是最小值.
綜合以上三種情況:
3)對應西瓜書的L1正則化與LASSO迴歸
這裏的解對應的優化問題是:
而我們PGD優化的問題是:
對上式同乘2/L不影響極值點位置的選取,所以我們的PGD優化問題變成:
帶入綜合三種情況的到的最終解:
西瓜書上11.14也就得證了~
總結:
終於看完了西瓜書11章特徵選擇與稀疏學習,發現從頭至尾都在提到用LASSO解決問題,所以就結合第六章的正則化和之前的模型評價,對正則化範數以及LASSO重新認識了一下,書中解決LASSO的大致方法就是通過利普希茨連續條件得到L,帶入到優化函數中對函數簡化變形,簡易優化函數,然後通過軟閾值函數得到最後的解.LASSO大致就是這些了,有問題歡迎大家交流~