ML筆記(3)線性回歸的正則化

2021-10-04 10:40:21 字數 2627 閱讀 9936

先舉乙個多項式回歸的例子,當我們使用多項式回歸的時候,如果沒有對多項式的係數進行限制,擬合的模型過擬合的概率極高,所以我們需要通過一些方法限制多項式係數的變化。以下的正則化改進從損失函式,減少過擬合概率。

簡單來說,正則化是一種為了減小測試誤差的行為(有時候會增加訓練誤差)。我們在構造機器學習模型時,最終目的是讓模型在面對新資料的時候,可以有很好的表現(即增加模型的泛化能力)。當你用比較複雜的模型比如神經網路,去擬合資料時,很容易出現過擬合現象(訓練集表現很好,測試集表現較差),這會導致模型的泛化能力下降,這時候,我們就需要使用正則化,降低模型的複雜度。

這塊我只是簡單的從其他資料進行了解,以後有待完善。

l1常用於特徵選擇如上學期的lasso回歸,在存在多重共線性的特徵裡選擇;l2常用於防止模型過擬合,其中嶺回歸是乙個例子

3 線性回歸的正則化

正則化的思想就是減少高次項θ

\theta

θ (θ

)=12

m[∑i

=1m(

hθ(x

(i))

−y(i

))2+

λ∑j=

1nθj

2]

j(\theta)=\frac\left[\sum_^\left(h_\left(x^\right)-y^\right)^+\lambda \sum_^ \theta_^\right]

j(θ)=2

m1​[

i=1∑

m​(h

θ​(x

(i))

−y(i

))2+

λj=1

∑n​θ

j2​]

以上公式中,λ

\lambda

λ表示正則化引數,在演算法實際執行過程中,要選擇合適的λ

\lambda

λ值,不能使其過大,否則可能會導致過擬合不能被消除,或者梯度下降演算法不收斂。

repeat

:=\theta_-\alpha \frac \sum_^\left(h_\left(x^\right)-y^\right)^ x_^

θ0​:=θ

0​−α

m1​∑

i=1m

​(hθ

​(x(

i))−

y(i)

)2x0

(i)​

θ j:

=θj(

1−αλ

m)−α

1m∑i

=1m(

hθ(x

(i))

−y(i

))2x

j(i)

\theta_:=\theta_\left(1-\alpha \frac\right)-\alpha \frac \sum_^\left(h_\left(x^\right)-y^\right)^ x_^

θj​:=θ

j​(1

−αmλ

​)−α

m1​i

=1∑m

​(hθ

​(x(

i))−

y(i)

)2xj

(i)​

}可以看出每次θ

j\theta_

θj​變化前都會先乘以(1−

αλm)

\left(1-\alpha \frac\right)

(1−αmλ

​),從而減小。

θ =(

xtx+

λl)−

1xty

\theta=\left(x^ x+\lambda l\right)^ x^ y

θ=(xtx

+λl)

−1xt

y其中 l表示(n+1)x(n+1)的對角矩陣,其主對角線第乙個元素為0,其餘全為1.

通過增加λ

l\lambda l

λl避免矩陣xtx

x^ x

xtx不可逆的情況。

repeat

:=\theta_-\alpha \frac \sum_^\left(h_\left(x^\right)-y^\right)^ x_^

θ0​:=θ

0​−α

m1​∑

i=1m

​(hθ

​(x(

i))−

y(i)

)2x0

(i)​

θ j:

=θj(

1−αλ

m)−α

1m∑i

=1m(

hθ(x

(i))

−y(i

))2x

j(i)

\theta_:=\theta_\left(1-\alpha \frac\right)-\alpha \frac \sum_^\left(h_\left(x^\right)-y^\right)^ x_^

θj​:=θ

j​(1

−αmλ

​)−α

m1​i

=1∑m

​(hθ

​(x(

i))−

y(i)

)2xj

(i)​

}不一樣的是此時hθ(

)h_()

hθ​(

)表達的是simgoid函式

嶺回歸(加入正則化的線性回歸)的使用

author lei function l2正則化 解決過擬合,使得w的每個元素都很小,都接近於0 越小的引數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象 線性回歸 容易出現過擬合,為了把訓練集資料表現的更好,可使用l2正則化 ridge 嶺回歸,帶有正則化的線性回歸,解決過擬合。回歸解決過...

深度學習(正則化的線性回歸和邏輯回歸)

clear clc 載入資料 x load ex5linx.dat y load ex5liny.dat 顯示原始資料 plot x,y,o markeredgecolor b marke cecolor r markersize 10 將特徵值變成訓練樣本矩陣 x ones length x 1 ...

pytorch學習筆記3 線性回歸

線性回歸線性回歸 是分析乙個變數與另外乙個 多 個變數之間關係的方法 因變數 y 自變數 x 關係 線性 y wx b 求解w,b 求解步驟 1.確定模型 module y wx b 2.選擇損失函式 mse 均方差等 3.求解梯度並更新w,b w w lr w.grad b b lr w.grad...