最小二乘回歸,嶺回歸,Lasso回歸,彈性網絡


普通最小二乘法

理論:

 

損失函數:

 

權重計算:

 

1、對於普通最小二乘的系數估計問題,其依賴於模型各項的相互獨立性。

2、當各項是相關的,且設計矩陣 X的各列近似線性相關,那么,設計矩陣會趨向於奇異矩陣,這會導致最小二乘估計對於隨機誤差非常敏感,產生很大的方差。

例如,在沒有實驗設計的情況下收集到的數據,這種多重共線性(multicollinearity)的情況可能真的會出現。

使用:

from sklearn import datasets, linear_model

regr = linear_model.LinearRegression()

reg.fit(X_train, y_train)

嶺回歸

理論:

損失函數:

 

 

其中阿爾法大於0,它的值越大,收縮量越大,這樣系數對公線性的魯棒性也更強

當X矩陣不存在廣義逆(即奇異性),最小二乘法將不再適用。可以使用嶺回歸

 

X矩陣不存在廣義逆(即奇異性)的情況:

1)X本身存在線性相關關系(即多重共線性),即非滿秩矩陣。

當采樣值誤差造成本身線性相關的樣本矩陣仍然可以求出逆陣時,此時的逆陣非常不穩定,所求的解也沒有什么意義。

2)當變量比樣本多,即p>n時.

 

嶺跡圖:

嶺跡圖作用:

1)觀察λ較佳取值;

2)觀察變量是否有多重共線性;

在λ很小時,W很大,且不穩定,當λ增大到一定程度時,W系數迅速縮小,趨於穩定。

λ的選擇:一般通過觀察,選取喇叭口附近的值

 

嶺參數的一般選擇原則

選擇λ值,使到

1)各回歸系數的嶺估計基本穩定;

2)用最小二乘估計時符號不合理的回歸系數,其嶺估計的符號變得合理;

3)回歸系數沒有不合乎實際意義的值;

4)殘差平方和增大不太多。 一般λ越大,系數β會出現穩定的假象,但是殘差平方和也會更大

 

嶺回歸選擇變量的原則(僅供參考)

1)在嶺回歸中設計矩陣X已經中心化和標准化了,這樣可以直接比較標准化嶺回歸系數的大小。可以剔除掉標准化嶺回歸系數比較穩定且值很小的自變量。

2)隨着λ的增加,回歸系數不穩定,震動趨於零的自變量也可以剔除。

3)如果依照上述去掉變量的原則,有若干個回歸系數不穩定,究竟去掉幾個,去掉哪幾個,這無一般原則可循,這需根據去掉某個變量后重新進行嶺回歸分析的效果來確定。

 

使用:

import numpy as np

import matplotlib.pyplot as plt

from sklearn import linear_model

 

# X is the 10x10 Hilbert matrix

X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])

y = np.ones(10)

# #############################################################################

# Compute paths

n_alphas = 200

alphas = np.logspace(-10, -2, n_alphas)

coefs = []

for a in alphas:

    ridge = linear_model.Ridge(alpha=a, fit_intercept=False)

    ridge.fit(X, y)

    coefs.append(ridge.coef_)

# #############################################################################

# Display results

ax = plt.gca()

ax.plot(alphas, coefs)

 

 

Lasso回歸

理論:

維數災難:

何謂高維數據?高維數據指數據的維度很高,甚至遠大於樣本量的個數。高維數據的明顯的表現是:在空間中數據是非常稀疏的,與空間的維數相比樣本量總是顯得非常少。

在分析高維數據過程中碰到最大的問題就是維數的膨脹,也就是通常所說的“維數災難”問題。研究表明,隨着維數的增長,分析所需的空間樣本數會呈指數增長。

如下所示,當數據空間維度由1增加為3,最明顯的變化是其所需樣本增加;換言之,當樣本量確定時,樣本密度將會降低,從而樣本呈稀疏狀態。假設樣本量n=12,單個維度寬度為3,那在一維空間下,樣本密度為12/3=4,在二維空間下,樣本分布空間大小為3*3,則樣本密度為12/9=1.33,在三維空間下樣本密度為12/27=0.44。

設想一下,當數據空間為更高維時,X=[x1x1,x2x2,….,xnxn]會怎么樣?

1、需要更多的樣本,樣本隨着數據維度的增加呈指數型增長;

2、數據變得更稀疏,導致數據災難;

3、在高維數據空間,預測將變得不再容易;

4、導致模型過擬合。

 

數據降維:

對於高維數據,維數災難所帶來的過擬合問題,其解決思路是:1)增加樣本量;2)減少樣本特征,而對於現實情況,會存在所能獲取到的樣本數據量有限的情況,甚至遠小於數據維度,即:d>>n。如證券市場交易數據、多媒體圖形圖像視頻數據、航天航空采集數據、生物特征數據等。

主成分分析作為一種數據降維方法,其出發點是通過整合原本的單一變量來得到一組新的綜合變量,綜合變量所代表的意義豐富且變量間互不相關,綜合變量包含了原變量大部分的信息,這些綜合變量稱為主成分。主成分分析是在保留所有原變量的基礎上,通過原變量的線性組合得到主成分,選取少數主成分就可保留原變量的絕大部分信息,這樣就可用這幾個主成分來代替原變量,從而達到降維的目的。

 

但是,主成分分析法只適用於數據空間維度小於樣本量的情況,當數據空間維度很高時,將不再適用。

 

Lasso是另一種數據降維方法,該方法不僅適用於線性情況,也適用於非線性情況。Lasso是基於懲罰方法對樣本數據進行變量選擇,通過對原本的系數進行壓縮,將原本很小的系數直接壓縮至0,從而將這部分系數所對應的變量視為非顯著性變量,將不顯著的變量直接舍棄。

 

目標函數:

 

 

 

1、Lasso 是估計稀疏系數的線性模型。

2、它在一些情況下是有用的,因為它傾向於使用具有較少參數值的情況,有效地減少給定解決方案所依賴變量的數量。 因此,Lasso 及其變體是壓縮感知領域的基礎。 在一定條件下,它可以恢復一組非零權重的精確集

彈性網絡

1、彈性網絡 是一種使用 L1, L2 范數作為先驗正則項訓練的線性回歸模型。

2、這種組合允許學習到一個只有少量參數是非零稀疏的模型,就像 Lasso 一樣,但是它仍然保持 一些像 Ridge 的正則性質。我們可利用 l1_ratio 參數控制 L1 和 L2 的凸組合。

3、彈性網絡在很多特征互相聯系的情況下是非常有用的。Lasso 很可能只隨機考慮這些特征中的一個,而彈性網絡更傾向於選擇兩個。

4、在實踐中,Lasso 和 Ridge 之間權衡的一個優勢是它允許在循環過程(Under rotate)中繼承 Ridge 的穩定性。

 

損失函數:

 

 

使用:

from sklearn.linear_model import ElasticNet

enet = ElasticNet(alpha=0.2, l1_ratio=0.7)    #alpha=α   l1_ratio=ρ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM