机器学习知识点(二十一)特征选择之岭回归和LASSO
特征選擇,也就是特征縮減,是通過對損失函數(即優化目標)加入懲罰項,使得訓練求解參數過程中會考慮到系數的大小,通過設置縮減系數(懲罰系數),會使得影響較小的特征的系數衰減到0,只保留重要的特征。嵌入式特征選擇方法有:LASSO(L1正則化)和嶺回歸(L2正則化)。特征選擇,可消除噪聲特征和消除關聯的特征,并能減少訓練開銷。
對于特征選擇,需要關注正則化概念,正則化是對損失函數(目標函數)加入一個懲罰項,使得模型由多解變為更傾向其中一個解,也成為罰函數。在介紹嶺回顧和LASSO前,先介紹線性回歸。
1、線性歸回 對于一個樣本xi,它的輸出值是其特征的線性組合:?
 
其中, w0 稱為截距,或者bias,上式中通過增加 xi0=1 把 w0 也吸收到向量表達中了,簡化了形式,因此實際上 xi 有 p+1 維度。
 線性回歸的目標是用預測結果盡可能地擬合目標label,用最常見的最小平方誤差:?
 
可以直接求出最優解:?
w?=(XTX)?1XTy
看起來似乎很簡單,但是在實際使用的過程中會有不少問題,其中一個主要問題就是上面的協方差矩陣不可逆時,目標函數最小化導數為零時方程有無窮解,沒辦法求出最優解。尤其在 p>n 時,必然存在這樣的問題,這個時候也存在overfitting的問題。這個時候需要對 w
做一些限制,使得它的最優解空間變小,也就是所謂的regularization,正則。
2、嶺回歸 ridge regeression
最為常見的就是對
 w的模做約束,如ridge regression,嶺回歸,就是在線性回歸的基礎上加上l2-norm的約束,loss function是(習慣上一般會去掉前面線性回歸目標函數中的常數項1n,同時為了后面推導的簡潔性會加上一個12):?
 
有解析解:?
w^R=(XTX+λI)?1XTy
其中λ>0是一個參數,有了正則項以后解就有了很好的性質,首先是對w的模做約束,使得它的數值會比較小,很大程度上減輕了overfitting的問題;其次是上面求逆部分肯定可以解,在實際使用中ridge regression的作用很大,通過調節參數λ,可以得到不同的回歸模型。
 實際上ridge regression可以用下面的優化目標形式表達:?
 
也就是說,我依然優化線性回歸的目標,但是條件是 w 的模長不能超過限制 θ 。上面兩種優化形式是等價的,可以找到一 一對應的 λ 和 θ 。
3、稀疏約束,Lasso
 先看一下幾種范式(norm)的定義,?
 
∥w∥1=∑i|wi|
∥w∥0=∑i1(wi≠0)
如前面的ridge regression,對 w 做2范式約束,就是把解約束在一個 l2 -ball里面,放縮是對球的半徑放縮,因此 w 的每一個維度都在以同一個系數放縮,通過放縮不會產生稀疏的解——即某些 w 的維度是0。而實際應用中,數據的維度中是存在噪音和冗余的,稀疏的解可以找到有用的維度并且減少冗余,提高回歸預測的準確性和魯棒性(減少了overfitting)。在壓縮感知、稀疏編碼等非常多的機器學習模型中都需要用到稀疏約束。
稀疏約束最直觀的形式應該是約束0范式,如上面的范式介紹,w的0范式是求w中非零元素的個數。如果約束∥w∥0≤k,就是約束非零元素個數不大于k。不過很明顯,0范式是不連續的且非凸的,如果在線性回歸中加上0范式的約束,就變成了一個組合優化問題:挑出≤k個系數然后做回歸,找到目標函數的最小值對應的系數組合,是一個NP問題。
 有趣的是,l1-norm(1范式)也可以達到稀疏的效果,是0范式的最優凸近似,借用一張圖[1]:?
 
很重要的是1范式容易求解,并且是凸的,所以幾乎看得到稀疏約束的地方都是用的1范式。
回到本文對于線性回歸的討論,就引出了Lasso(least absolute shrinkage and selection operator) 的問題:
minw12∥y?Xw∥2,s.t.∥w∥1<θ
也就是說約束在一個 l1 -ball里面。ridge和lasso的效果見下圖:
紅色的橢圓和藍色的區域的切點就是目標函數的最優解,我們可以看到,如果是圓,則很容易切到圓周的任意一點,但是很難切到坐標軸上,因此沒有稀疏;但是如果是菱形或者多邊形,則很容易切到坐標軸上,因此很容易產生稀疏的結果。這也說明了為什么1范式會是稀疏的。
總結
以上是生活随笔為你收集整理的机器学习知识点(二十一)特征选择之岭回归和LASSO的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【正一专栏】巴萨四大皆空怎么办
- 下一篇: 一个1990年代的小故事
