一文讀懂線性回歸、嶺回歸和Lasso回歸

時間:2024-07-13 14:13:11 閱讀:1

一文讀懂線性回歸、嶺回歸和Lasso回歸

本文先容線性回歸模子,從梯度下降和最小二乘的角度來求解線性回歸成績,以概率的辦法表明了線性回歸為什么接納平方喪失,然后先容了線性回歸中常用的兩種范數來處理過擬合和矩陣不成逆的情況,分散對應嶺回歸和Lasso回歸,最初思索到線性回歸的范圍性,先容了一種局部加權線性回歸,增長其非線性表現才能。

作者 | 文杰

線性回歸

A、線性回歸

假定多數據有:

此中

,

。此中m為練習集樣本數,n為樣本維度,y是樣本的真實值。線性回歸接納一個高維的線性函數來盡約莫的擬合一切的數據點,最簡便的想法就是最小化函數值與真實值偏差的平方(概率表明-高斯分布加最大似然估測)。即有如下目標函數:

此中線性函數如下:

構建好線性回歸模子的目標函數之后,接下去就是求解目標函數的最優解,即一個優化成績。常用的梯度優化辦法都可以拿來用,這里以梯度下降法來求解目標函數。

別的,線性回歸也可以從最小二乘法的角度來看,底下先將樣本表現向量化,,,構成如下數據矩陣。

那么目標函數向量化情勢如下:

可以看出目標函數是一個凸二次方案成績,其最優解在導數為0處取到。

值得注意的上式中存在盤算矩陣的逆,尋常來講當樣本數大于數據維度時,矩陣可逆,可以接納最小二乘法求得目標函數的閉式解。當數據維度大于樣本數時,矩戰線性干系,不成逆。此時最小化目標函數解不唯一,且十分多,出于如此一種情況,我們可以思索奧卡姆剃刀準則來簡化模子繁復度,使其不必要的特性對應的w為0。以是引入正則項使得模子中w非0個數最少。固然,嶺回歸,lasso回歸的最基本的目標不是處理不成逆成績,而是避免過擬合。

B、概率表明

喪失函數與最小二乘法接納最小化平方和的概率表明。假定模子猜測值與真實值的偏差為,那么猜測值

與真實值

之間有如下干系:

依據中央極限定理,當一個事變與很多獨立隨機變量有關,該事變聽從正態分布 。尋常來說,一連值我們都傾向于假定聽從正態分布。假定每個樣本的偏差獨立同分布均值為0,方差為σ的高斯分布

,以是有:

即表現滿意以均值為,方差為的高斯分布。

由最大似然估測有:

嶺回歸和Lasso回歸

嶺回歸的目標函數在尋常的線性回歸的基本上到場了正則項,在確保最佳擬合偏差的同時,使得參數盡約莫的“簡便”,使得模子的泛化才能強(即不外分信賴從練習數據中學到的知識)。正則項尋常接納一,二范數,使得模子更具有泛化性,同時可以處理線性回歸中不成逆情況。

其迭代優化函數如下:

別的從最小二乘的角度來看,經過引入二范正則項,使其主對角線元從來欺壓矩陣可逆。

Lasso回歸接納一范數來束縛,使參數非零個數最少。而Lasso和嶺回歸的區別很好了解,在優化歷程中,最優解為函數等值線與束縛空間的交集,正則項可以看作是束縛空間??梢钥闯龆兜氖`空間是一個球形,而一范的束縛空間是一個方形,這也就是二范會取得很多參數接近0的值,而一范則盡約豈非零參數最少。

值得注意的是線性模子的表現才能僅限,但是并不一定表現線性模子只能處理線性分布的數據。這里有兩種常用的線性模子非線性化。關于外表的線性函數的布局,我們可以看出模子在以

的坐標上是線性的,但是并不表現線性的模子就一定只能用于線性分布成績上。假定我們僅有一個特性

,而實踐上回歸值是

等,我們相反可以接納線性模子,由于我們完全可以把輸入空間映射到高維空間

,但是這也是查究法以及PCA空間變動的一種頭腦,但凡對輸入空間舉行線性,非線性的變動,都是把輸入空間映射到特性空間的頭腦,以是只必要把非線性成績轉化為線性成績即可。別的一種是局部線性頭腦,即對每一個樣本構建一個加權的線性模子。

局部加權線性回歸

思索到線性回歸的表現才能僅限,約莫顯現欠擬合征象。局部加權線性回歸為每一個待猜測的點構建一個加權的線性模子。其加權的辦法是依據猜測點與數據會合點的距離來為數據會合的點賦權重,當某點距離猜測點較遠時,其權重較小,反之較大。由于這種權重的機制引入使得局部加權線性回歸產生了一種局部分段擬合的后果。由于該辦法關于每一個猜測點構建一個加權線性模子,都要重新盤算與數據會合一切點的距離來確定權重值,進而確定針對該猜測點的線性模子,盤算本錢高,同時為了完成無參估測來盤算權重,必要存儲整個數據集。

局部加權線性回歸,在線性回歸基本上引入權重,其目標函數(底下的目標函數是針對一個猜測樣本的)如下:

尋常選擇底下的權重函數,權重函數選擇并非由于其相似于高斯函數,而是依據數據分布的特性,但權重函數的拔取并不一定依托于數據特性。

此中是待猜測的一個數據點。

關于外表的目標函數,我們的目標相反是求解使得喪失函數最小化,相反局部加權線性回歸可以接納梯度的辦法,也可以從最小二乘法的角度給出閉式解。

此中是對角矩陣,

。

線性回歸中心頭腦最小化平方偏差,可以從最小化喪失函數和最小二乘角度來看,優化歷程可以接納梯度辦法和閉式解。在閉式解成績中必要注意矩陣可逆成績。思索到過擬合和欠擬合成績,有嶺回歸和lasso回歸來回頭避免過擬合,局部加權線性回歸經過加權完成非線性表現。

代碼實戰

A、線性回歸

/**
線性回歸函數的完成,思索尋常的線性回歸,最小平方和作為喪失函數,則目標函數是一個無束縛的凸二次方案成績,
由凸二次方案成績的極小值在導數為0處取到,且極小值為全局最小值,且有閉式解。依據數學表達式完成矩陣之間的運算求得參數w。
**/
intregression(Matrix x,Matrix y)
{
Matrix xT=x.transposeMatrix;
Matrix xTx=xTx.multsMatrix(xT,x);
Matrix xTx_1=xTx.niMatrix;
Matrix xTx_1xT=xTx_1xT.multsMatrix(xTx_1,xT);
Matrix ws;
ws=ws.multsMatrix(xTx_1xT,y);
cout<<"ws"<<endl;
ws.print;
return 0;
}

B、嶺回歸和Lasso回歸

/**
底下的嶺回歸函數只是在尋常的線性回歸函數的基本上在對角線上引入了嶺的看法,不僅有處理矩陣不成逆的線性,相反也有正則項的目標,
接納常用的二范數就取得了直接引入lam的情勢。
**/

intridgeRegres(Matrix x,Matrix y,double lam)
{
Matrix xT=x.transposeMatrix;
Matrix xTx=xTx.multsMatrix(xT,x);
Matrix denom(xTx.row,xTx.col,lam,"diag");
xTx=xTx.addMatrix(xTx,denom);
Matrix xTx_1=xTx.niMatrix;
Matrix xTx_1xT=xTx_1xT.multsMatrix(xTx_1,xT);
Matrix ws=ws.multsMatrix(xTx_1xT,y);
cout<<"ws"<<endl;
ws.print;
return 0;
}

C、局部加權線性回歸

/**
局部加權線性回歸是在線性回歸的基本上對每一個測試樣本(練習的時分就是每一個練習樣本)在其已有的樣本舉行一個加權擬合,
權重的確定可以經過一個核來盤算,常用的有高斯核(離測試樣本越近,權重越大,反之越?。?,如此對每一個測試樣本就取得了不一樣的
權重向量,以是最初得出的擬合曲線不再是線性的了,如此就增長的模子的繁復度來更好的擬合非線性數據。
**/
//必要注意的是局部加權線性回歸是對每一個樣本舉行權重盤算,以是關于每一個樣本都有一個權重w,以是底下的函數只是局部線性回歸的一個主要幫助函數
Matrix locWeightLineReg(Matrix test,Matrix x,Matrix y,const double &k)
{
Matrix w(x.row,x.row,0,"T");
double temp=0;
int i,j;

/**
依據測試樣本點與整個樣本的距離以前選擇的核確定局部加權矩陣,接納對角線上為局部加權值
**/
for(i=0;i<x.row;i++)
{
temp=0;
for(j=0;j<x.col;j++)
{
temp+=(test.data[0][j]-x.data[i][j])*(test.data[0][j]-x.data[i][j]);
}
w.data[i][i]=exp(temp/-2.0*k*k);
}
Matrix xT=x.transposeMatrix;
Matrix wx=wx.multsMatrix(w,x);
Matrix xTwx;
xTwx=xTwx.multsMatrix(xT,wx);
Matrix xTwx_1;
xTwx_1=xTwx.niMatrix;
Matrix xTwx_1xT;
xTwx_1xT=xTwx_1xT.multsMatrix(xTwx_1,xT);
Matrix xTwx_1xTw;
xTwx_1xTw=xTwx_1xTw.multsMatrix(xTwx_1xT,w);
Matrix ws = xTwx_1xTw * y;
return ws;
}

具體代碼:https://github.com
/myazi/myLearn/blob/master/LineReg.cpp

聲明:本文為群眾號「 AI小白入門」投稿,版權歸作者一切。

【END】

版權聲明:本文來自互聯網整理發布,如有侵權,聯系刪除

原文鏈接:http://www.freetextsend.comhttp://www.freetextsend.com/wangluozixun/49921.html


Copyright ? 2021-2022 All Rights Reserved 備案編號:閩ICP備2023009674號 網站地圖 聯系:dhh0407@outlook.com

www.成人网