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

2022-08-22 10:12:09 字數 1326 閱讀 6512

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

\(\fracj(\theta_j)=0\),假設我們的訓練集特徵矩陣為 x(包含了 x0)並且我們的訓練集結果為向量 y,則利用正規方程解出向量 \(\theta=(x^tx)^x^ty\)

注意:\((x^tx)^\) 如果特徵數量n較大,運算代價就很大,一般小於10000即可;只適用於線性模型;

解決過擬合問題:

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

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

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

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

修改後的代價函式:\(j(\theta)=\frac[\sum_^m(h_\theta(x^)-y^)^2+\lambda\sum_^n\theta_j^2]\)

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

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

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

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

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

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

若用正規方程求解:

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

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

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

機器學習 正規方程

梯度下降法計算引數最優解,過程是對代價函式的每個引數求偏導,通過迭代演算法一步步更新,直到收斂到全域性最小值,從而得到最優引數。正規方程是一次性求得最優解。思想 對於乙個簡單函式,對引數求導,將其值置為0,就得到引數的值。像下面這樣 現實例子有很多引數,我們要對這些引數都求偏導數,得到各個引數的最優...

機器學習系列6 正規方程

求乙個函式的引數,例如下面這個方程,我們一般都會用梯度下降法去求。還會不會有其他方法求引數呢?答案是有的,可以用正規方程 normal equation 去求引數。那麼問題來了,什麼是正規方程呢?這個方程長什麼樣子,就讓我們來見識一下。其中 x 是乙個矩陣,這個矩陣的每一行都是一組特徵值,y 是資料...

機器學習 線性回歸,梯度下降演算法與正規方程

個人對這方面的理解,文字純手打,來自於coursera的課件 1.線性回歸的定義 給出若干的訓練集 訓練集中x j i 表示樣本j中第i個項 然後擬合為一條直線,使得cost最小 不妨先看乙個例子,拿課程中的例子,賣房 現在已經知道了若干的房子的大小以及賣出去的 現在跟著這些資訊,來推斷一些房子的 ...