普通最小二乘法帶來的侷限性,導致許多時候都不能直接使用其進行線性回歸擬合。特別是以下兩種情況:
為了解決上述兩種情況**現的問題,嶺回歸(ridge regression)應運而生。嶺回歸可以被看作為一種改良後的最小二乘估計法,它通過向損失函式中新增l2l2
l2正則項(2-範數)有效防止模型出現過擬合,且以助於解決非滿秩條件下求逆困難的問題,從而提公升模型的解釋能力。即
對應的損失函式由:
f no
rmal
=∑i=
1n(y
i−wt
x)2f_=\sum_^(y_-w^tx)^2
fnorma
l=i
=1∑n
(yi
−wt
x)2變為:
f ri
dge=
∑i=1
n(yi
−wtx
)2+λ
∑i=1
n(wi
)2f_=\sum_^(y_-w^tx)^2 + \lambda \sum_^(w_)^2
fridge
=i=
1∑n
(yi
−wtx
)2+λ
i=1∑
n(w
i)2
我們可以把公式改寫為向量表示:
f
ridge=∥
y−xw
∥22+
λ∥w∥
22f_}=\|y-x w\|_^+\lambda\|w\|_^
fridge=
∥y−x
w∥22
+λ∥
w∥22
公式中回歸係數w
ww的解析解為:
w ^r
idge
=(xt
x+λi
)−1x
ty\hat w_ = (x^tx + \lambda i)^ x^ty
w^ridg
e=(
xtx+
λi)−
1xty
從公式的區別可以看出,通過給xtx
xtxxt
x增加乙個單位矩陣,從而使得矩陣變成滿秩,完善普通最小二乘法的不足。
sklearn.linear_model.ridge(alpha=1.0, fit_intercept=true, normalize=false, copy_x=true, max_iter=none, tol=0.001, solver='auto', random_state=none)
from sklearn.linear_model import ridge
ridge_model = ridge(fit_intercept=
false
)# 引數代表不增加截距項
ridge_model.fit(x, y)
ridge_model.coef_ # 列印模型引數
sklearn.linear_model.lasso(alpha=1.0, fit_intercept=true, normalize=false, precompute=false, copy_x=true, max_iter=1000, tol=0.0001, warm_start=false, positive=false, random_state=none, selection='cyclic')
"""
使用 lasso 回歸擬合併繪圖
"""from sklearn.linear_model import lasso
alphas = np.linspace(-2
,2,10
)lasso_coefs =
for a in alphas:
lasso = lasso(alpha=a, fit_intercept=
false
) lasso.fit(x, y)
plt.plot(alphas, lasso_coefs)
# 繪製不同 alpha 引數下的 w 擬合值
plt.scatter(np.linspace(0,
0,10)
, parameters[0]
)# 普通最小二乘法擬合的 w 值放入圖中
由圖可見,當 alpha 取值越大時,正則項主導收斂過程,各 ? 係數趨近於 0。當 alpha 很小時,各 ? 係數波動幅度變大。
機器學習 嶺回歸和LASSO回歸
1.用矩陣表示多元線性回歸 y bx a q b y bx t y bx 達到最小時的b值。也即是殘差平方和最小時。b bi 的值。可以證明b的最小二乘估計 xtx 1xty 其中 xtx 1為廣義逆。1.出現多重共線性2.當n 嶺回歸 ridge regression 先對資料做標準化 b k x...
機器學習 嶺回歸和Lasso回歸(4)
任何資料都存在雜訊和多重共線性 如何解決多重共線性 1.演算法角度 正則化 2.資料角度 最有效果 嶺回歸與lasso回歸的出現是為了解決線性回歸出現的過擬合 資料間高度線性相關 以及在通過正規方程方法求解 的過程 現的x轉置乘以x不可逆這兩類問題的,這兩種回歸均通過在損失函式中引入正則化項來達到目...
嶺回歸和lasso回歸
在多元線性回歸模型中估計回歸係數使用的是ols,但同時還也有異方差和多重共線性的影響。回歸中關於自變數的選擇大有門道,變數過多時可能會導致多重共線性問題造成回歸係數的不顯著,甚至造成ols估計的失效。嶺回歸和lasso回歸在ols回歸模型的損失函式上加上了不同的懲罰項,該懲罰項由回歸係數的函式構成,...