1. 程式人生 > >Ridge迴歸、Lasso迴歸

Ridge迴歸、Lasso迴歸

最小二乘法:

目標函式=∑(觀測值-理論值)²
J(θ)=1/2(Xθ−Y)T (Xθ−Y)
迭代的表示式是:
θ=(XT X+αE)−1 XT Y
其中E為單位矩陣。 

Ridge迴歸:

通過對係數的大小施加懲罰來解決普通最小二乘法的一些問題。它和一般線性迴歸的
區別是在損失函式上增加了一個L2正則化的項,和一個調節線性迴歸項和正則化項權
重的係數α。
J(θ)=1/2(Xθ−Y)T (Xθ−Y)+1/2α||θ||22
Ridge迴歸的解法和一般線性迴歸大同小異。如果採用梯度下降法,則每一輪θ迭代的
表示式是:
θ=θ−(βXT(Xθ−Y)+αθ)
其中β為步長。

Lasso迴歸:

Lasso迴歸有時也叫做線性迴歸的L1正則化,和Ridge迴歸的主要區別就是在正則化
項,Ridge迴歸用的是L2正則化,而Lasso迴歸用的是L1正則化。Lasso迴歸的損失
函式表示式如下:
J(θ)=1/2n (Xθ−Y)T (Xθ−Y)+α||θ||1
其中n為樣本個數,α為常數係數,需要進行調優。||θ||1為L1範數。 
Lasso迴歸使得一些係數變小,甚至還是一些絕對值較小的係數直接變為0,因此特別
適用於引數數目縮減與引數的選擇,因而用來估計稀疏引數的線性模型。 不過lasso
迴歸會使損失函式不是連續可導。

座標軸下降法求lasso迴歸:

步驟:
1.給定初始點(x1,x2,...,xn)
2.固定除xi意外其他維度的點,以xi為自變數獲取最小值
3.換個維度,重複2 

座標下降法在每次迭代中在當前點處沿一個座標方向進行一維搜尋,固定其他的座標
方向,找到一個函式的區域性極小值。  

最小角迴歸法求解Lasso迴歸:

1.前項選擇演算法:
求解Y=Xθ中的θ。其中Y為 mx1的向量,X為mxn的矩陣,θ為nx1的向量。m為樣本數
量,n為特徵維度。
把矩陣X看做n個mx1的向量Xi(i=1,2,…n),在Y的X變數Xi(i =1,2,…m)中,選擇和
目標Y最為接近(餘弦距離最大)的一個變數Xk,用Xk來逼近Y
,得到下式:
Y=Xk θk
其中:
θk = Xk,Y / ||Xk||2
2.前向梯度演算法和前向選擇演算法有類似的地方,不再使用投影的方式,而是在最接近
的自變數Xt的方向上移動一小步,在觀察與殘差Yyes最接近的自變數,直到殘差足夠
小。 
3.最小角迴歸演算法:
在縮小殘差問題上,最小角迴歸採用的是延Xt和Xk的平分線走,不斷縮小殘差。
其主要的優點有:
1)特別適合於特徵維度n 遠高於樣本數m的情況。
2)演算法的最壞計算複雜度和最小二乘法類似,但是其計算速度幾乎和前向選擇演算法一
樣
3)可以產生分段線性結果的完整路徑,這在模型的交叉驗證中極為有用
主要的缺點是:
由於LARS的迭代方向是根據目標的殘差而定,所以該演算法對樣本的噪聲極為敏感。