機器學習——正規方程,正則化


一、正規方程(Normal equation):

對於某些線性回歸問題,正規方程方法很好解決;

\(\frac{\partial}{\partial\theta_j}J(\theta_j)=0\),假設我們的訓練集特征矩陣為 X(包含了 x0)並且我們的訓練集結果為向量 y,則利用正規方程解出向量 \(\theta=(X^TX)^{-1}X^Ty\)

注意:\((X^TX)^{-1}\) 如果特征數量n較大,運算代價就很大,一般小於10000即可;只適用於線性模型;

二、正則化:

解決過擬合問題:

1.丟棄一些不能幫助我們正確預測的特征。可以是手工選擇保留哪些特征,或者使用一些模型選擇的算法來幫忙(例如PCA

2.正則化。 保留所有的特征,但是減少參數的大小(magnitude)。

如果我們的模型是:\(h_\theta(x)=\theta_0x_0^0+\theta_1x_1^1+...+\theta_nx_n^n\)

正是這些高次項導致了過擬合的產生,所以去減小他們系數的大小就好了。修改代價函數,給他們的系數設置懲罰;

修改后的代價函數:\(J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{j=1}^n\theta_j^2]\)

其中\(\lambda\)稱作正則化參數,需要對哪個參數懲罰,就把他們加進去,默認全加上。

因為如果我們令\(\lambda\)的值很大的話,為了使Cost Function 盡可能的小,\(\theta_j\)的值都會在一定程度上減小 。。。

(備注: \(\theta_0\)不參與其中的任何一個正則化 )

2.1正則線性回歸的代價函數為:

\(J(\theta)=\frac{1}{2m}\sum_{i=1}^m[((h_\theta(x^{(i)}-y^{(i)})^2+\lambda\sum_{j=1}^n\theta_j^2)]\)

求得更新式子為:\(\theta_j:=\theta_j(1-a\frac{\lambda}{m})-a\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\) 可以看出,正則化線性回歸的梯度下降算法的變化在於,每次都在原有算法更新規則的基礎上令 \(\theta\)值減少了一個額外的值。

若用正規方程求解:

2.2正則邏輯回歸的代價函數為:

\(J(\theta)=\frac{1}{m}\sum_{i=1}^m[-y^{(i)}log(h_\theta(x^{(i)}))-(1-y^{(i)})log(1-h_\theta(x^{(i)}))]+\frac{\lambda}{2m}\sum_{j=1}^n\theta_j^2\)

梯度更新式子和正則線性的一樣的注:看上去同線性回歸一樣,但是知道 \(h_\theta(x)=g(\theta^TX)\) ,所以與線性回歸不同。


免責聲明!

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



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