日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习算法之线性回归

發(fā)布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习算法之线性回归 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、什么是回歸算法

回歸算法是一種有監(jiān)督算法

回歸算法是一種比較常用的機器學習算法,用來建立“解釋”變量(自變量X)和觀測值(因變量Y)之間的關系;從機器學習的角度來講,用于構(gòu)建一個算法模型(函數(shù))來做屬性(X)與標簽(Y)之間的映射關系,在算法的學習過程中,試圖尋找一個函數(shù)使得參數(shù)之間的關系擬合性最好

回歸算法中算法(函數(shù))的最終結(jié)果是一個連續(xù)的數(shù)據(jù)值,輸入值(屬性值)是一個d維度的屬性/數(shù)值向量

1.1 初識回歸

有一個問題:現(xiàn)在擁有一組房屋面積及其對應房價的數(shù)據(jù)如下,如果有一個房屋面積為55平,請問最終的租賃價格是多少比較合適?

房屋面積租賃價格
100.8
201.8
302.2
302.5
705.5
705.2

我們可以構(gòu)建一個函數(shù)

其中h(x) 為房價,x為房屋面積,根據(jù)大量的數(shù)據(jù)求出??和??的值,于是能夠構(gòu)建出一條直線。

如果此時將測試集中的數(shù)據(jù)投入到模型中,如果模型構(gòu)建的比較好,可以看到測試集中所有(面積,價格)的點會均勻分布在直線的上下兩側(cè),而且離的直線距離不會太遠 (說明方差較小) 。如果測試集中的數(shù)據(jù)大量分布在直線的上方,或離直線的距離普遍較遠,那么說明模型質(zhì)量不高,需要重新訓練。

如果在面積的基礎上,增加房間數(shù)量這一變量呢

房屋面積房間數(shù)量租賃價格
1010.8
2011.8
3012.2
3022.5
7035.5
7025.2

構(gòu)造函數(shù)

其中h(x) 為房價,根據(jù)大量的數(shù)據(jù)求出 、 、 的值,于是能夠構(gòu)建出一個平面。我們要預測面積、房間個數(shù)和房價的映射關系,構(gòu)建如下模型

從Y軸向下俯視該平面,可以獲得該平面在 x1、 x2 兩坐標軸上的投影。同樣,由(x1、 x2)點衍生到平面上后,對應的Y軸值即是對應的房價值y或記作h(x)?

如果有1個特征,我們得到了一條直線模型。如果有2個特征,我們得到了一個平面。如果有2個以上的特征呢?

2個特征形成的平面,結(jié)合目標值構(gòu)成了一個三維的圖像,對于更高維度的思維結(jié)構(gòu)人類是無法想象出來的。對于兩個以上特征形成的n維模型,我們稱之為超平面(Hyperplane)

模型:

即θ矩陣的轉(zhuǎn)置,乘以X的矩陣。

注:所有特征默認都是列向量

1.2 導數(shù)

導數(shù) 就是曲線的斜率,是曲線變化快慢的一個反應。

二階導數(shù) 是斜率變化的反應,表現(xiàn)曲線的 凹凸性

1.3 偏導數(shù)

導數(shù)是針對單一變量的,當函數(shù)是多變量的,偏導數(shù)?就是關于其中一個變量的導數(shù)而保持其他變量恒定不變(固定一個變量求導數(shù))。

1.4 梯度

梯度是一個向量,表示某一函數(shù)在該點處的?方向?qū)?shù)?,沿著該方向取最大值,即函數(shù)在該點處沿著該方向變化最快,變化率最大(即該梯度向量的模);當函數(shù)為一維函數(shù)的時候,梯度就是導數(shù)。

二、求解

2.1 求解方法

1.解析解:最小二乘法(又稱最小平方法)是一種數(shù)學優(yōu)化技術,它由兩部分組成:

  • 計算所有樣本誤差的平均(代價函數(shù))
  • 使用最優(yōu)化方法尋找數(shù)據(jù)的最佳函數(shù)匹配(抽象的)

2.數(shù)值解:梯度下降法、牛頓法、擬牛頓法等

2.2 線性回歸算法的步驟

Step1:畫出散點圖確定回歸方程

Step2:寫出回歸方程的基本形式(以線性為例)。最終目的是要計算出θ的值,并選擇最優(yōu)的θ構(gòu)成算法公式

Step3:寫出目標函數(shù),object:樣本預測值與實際值的差值最小化

Step4:計算待估計參數(shù)的值,求出回歸方程

三、方法一:極大似然估計解釋最小二乘法

3.1 似然函數(shù)

前提假設:對于,誤差??是獨立同分布的,服從均值為0,方差為某定值的高斯分布

解釋:實際問題中,很多隨機現(xiàn)象可以看做眾多因素的獨立影響的綜合反應,如房價往往由距離地鐵位置,周圍是否由學校等因素影響(誤差?同樣如此),往往服從正態(tài)分布(原因:中心極限定理)

所以,對于第i個樣本,誤差滿足如下公式:

?

根據(jù)中心極限定理得到似然函數(shù):

取對數(shù),得到對數(shù)似然函數(shù):

??????

化簡,得到目標函數(shù):

?3.2 最小二乘法

對于,其中

目標函數(shù):

對目標函數(shù)進行求導:

??????

3.3 最小二乘法的參數(shù)最優(yōu)解

參數(shù)解析式:

最小二乘法的使用要求矩陣是可逆的;為了防止不可逆或者過擬合的問題存在,可以增加額外數(shù)據(jù)影響,導致最終的矩陣是可逆的

證明方法:加入懲罰項
1)?半正定,對于任意的非零向量μ:
2)對于任意的實數(shù)λ>0,正定λ
則恒成立。
3)從而可逆,保證回歸公式一定有意義

最小二乘法直接求解的難點:矩陣逆的求解是一個難處

3.4 損失函數(shù),代價函數(shù),目標函數(shù)

參考:機器學習之線性回歸 損失函數(shù)、代價函數(shù)、目標函數(shù)

3.5 線性回歸過擬合

一般來說,模型的訓練誤差很小,而預測誤差很大的情況下,模型存在過擬合的情況

目標函數(shù)

為了防止數(shù)據(jù)過擬合,也就是的θ值在樣本空間中不能過大/過小,可以在目標函數(shù)之上增加一個平方和損失:

正則項(norm):這里這個正則項叫做L2-norm

3.5.1 Ridge回歸(嶺回歸)

使用L2正則的線性回歸模型就稱為Ridge回歸(嶺回歸)

3.5.2 LASSO回歸

使用L1正則的線性回歸模型就稱為LASSO回歸(Least Absolute Shrinkage and Selection Operator)

3.5.3 Elasitc Net算法

同時使用L1正則和L2正則的線性回歸模型就稱為Elasitc Net算法(彈性網(wǎng)絡算法)

3.5.4 Ridge(L2-norm)和LASSO(L1-norm)比較

L2-norm中,由于對于各個維度的參數(shù)縮放是在一個圓內(nèi)縮放的,不可能導致有維度參數(shù)變?yōu)?的情況,那么也就不會產(chǎn)生稀疏解;實際應用中,數(shù)據(jù)的維度中是存在噪音和冗余的,稀疏的解可以找到有用的維度并且減少冗余,提高回歸預測的準確性和魯棒性(減少了overfitting)(L1-norm可以達到最終解的稀疏性的要求)

Ridge模型具有較高的準確性、魯棒性以及穩(wěn)定性;LASSO模型具有較高的求解速度。

如果既要考慮穩(wěn)定性也考慮求解的速度,就使用Elasitc Net

由上圖可知,對于二元線性回歸來說,L1正則的限制性區(qū)域為藍色正方形固定區(qū)域,L2正則限制性區(qū)域為藍色圓形固定區(qū)域,當目標函數(shù)前半部分與后半部分(限制性條件)相交時,集等勢線與固定區(qū)域相交,交點即為最優(yōu)解,L1正則交點存在參數(shù)為0的情況,而L2則不存在,由此可推出L1正則容易產(chǎn)生稀疏解(元素為零)

3.6模型效果評判標

  • MSE:誤差平方和,越趨近于0表示模型越擬合訓練數(shù)據(jù)。
  • RMSE:MSE的平方根,作用同MSE
  • :取值范圍(負無窮,1],值越大表示模型越擬合訓練數(shù)據(jù);最優(yōu)解是1;當模型預測為隨機值的時候,有可能為負;若預測值恒為樣本期望, 為0
  • TSS:總平方和TSS(Total Sum of Squares),表示樣本之間的差異情況,是偽方差的m倍
  • RSS:殘差平方和RSS(Residual Sum of Squares),表示預測值和樣本值之間的差異情況,是MSE的m倍

3.7機器學習調(diào)參

在實際應用中,對于各種算法模型(線性回歸)來講,我們需要獲取θ、λ、p \theta、\lambda、pθ、λ、p的值,由于λ、p \lambda、pλ、p為超參數(shù),無法求解,需要人為設定,從而求解最優(yōu)的θ \thetaθ值,該過程為調(diào)參(超參數(shù))

交叉驗證:將訓練數(shù)據(jù)分為多份,其中一份進行數(shù)據(jù)驗證并獲取最優(yōu)的超參數(shù)λ \lambdaλ和p pp;比如:十折交叉驗證、五折交叉驗證(scikit-learn中默認)等。

四、方法二:梯度下降法

參考鏈接https://blog.csdn.net/fenglepeng/article/details/104507269

五、局部加權(quán)回歸

局部加權(quán)回歸-損失函數(shù)

普通線性回歸損失函數(shù):

局部加權(quán)回歸損失函數(shù):

局部加權(quán)回歸權(quán)重值?是權(quán)重,主要是根據(jù)預測點與訓練集點的距離作為數(shù)據(jù)集中的點賦權(quán)值。當某點離要預測的點越遠,其權(quán)重越小,否則越大。常用的公式為:

該函數(shù)稱為指數(shù)衰減函數(shù),其中k 為波長參數(shù),它控制了權(quán)值隨距離下降的速率

注意:使用該方式主要應用到樣本之間的相似性考慮

NOTE:局部加權(quán)回歸是一種非參數(shù)學習算法,也就是說參數(shù)不固定,在每一次預測的時候,均需要使用訓練數(shù)據(jù)重新訓練模型參數(shù)。

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的机器学习算法之线性回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。