正規化方程Normal Equations解析

2021-09-07 03:22:35 字數 3002 閱讀 2208

如果需要代做演算法,可以聯絡我...部落格右側有****。

假設我們有m個樣本。特徵向量的維度為n。因此,可知樣本為,其中對於每乙個樣本中的x(i),都有x(i)=。令 h(θ)=θ0 + θ1x1 +θ2x2 +... + θnxn,則有

若希望h(θ)=y,則有

x · θ = y

我們先來回憶一下兩個概念:單位矩陣矩陣的逆,看看它們有什麼性質。

(1)單位矩陣e

ae=ea=a

(2)矩陣的逆a-1

要求:a必須為方陣

性質:aa-1=a-1a=e

再來看看式子 x · θ = y

若想求出θ,那麼我們需要做一些轉換:

step1:先把θ左邊的矩陣變成乙個方陣。通過乘以xt可以實現,則有

xtx · θ = xty

step2:把θ左邊的部分變成乙個單位矩陣,這樣就可以讓它消失於無形了……

(xtx)-1(xtx) · θ = (xtx)-1xty

step3:由於(xtx)-1(xtx) = e,因此式子變為

eθ = (xtx)-1xty

e可以去掉,因此得到

θ = (xtx)-1xty

這就是我們所說的normal equation了。

normal equation 跟 gradient descent(梯度下降)一樣,可以用來求權重向量θ。但它與gradient descent相比,既有優勢也有劣勢。

優勢:normal equation可以不在意x特徵的scale。比如,有特徵向量x=, 其中x1的range為1~2000,而x2的range為1~4,可以看到它們的範圍相差了500倍。如果使用gradient descent方法的話,會導致橢圓變得很窄很長,而出現梯度下降困難,甚至無法下降梯度(因為導數乘上步長後可能會衝出橢圓的外面)。但是,如果用normal equation方法的話,就不用擔心這個問題了。因為它是純粹的矩陣演算法。

劣勢:相比於gradient descent,normal equation需要大量的矩陣運算,特別是求矩陣的逆。在矩陣很大的情況下,會大大增加計算複雜性以及對計算機記憶體容量的要求。

什麼情況下會出現normal equation,該如何應對?

(1)當特徵向量的維度過多時(如,m <= n 時)

解決方法:① 使用regularization方式

or ②delete一些特徵維度

(2)有redundant features(也稱為linearly dependent feature)

例如, x1= size in feet2

x2 = size in m2

feet和m的換算為 1m≈3.28feet所以,x1 ≈ 3.282 * x2, 因此x1和x2是線性相關的(也可以說x1和x2之間有乙個是冗餘的)

解決方法:找出冗餘的特徵維度,刪除之。

y(i)表示**,x(i)表示房屋面積和房間數:

樣本數m=47。

step1:對資料進行預處理

給每乙個x向量,都增加乙個x0=1的分量。

m = 47;

x=[ones(m,1),ex3x];

檢視x矩陣:

step2:帶入normal equation公式θ = (xtx)-1xty,求解權重向量。

y=ex3y;

theta = inv(x'*x)*x'*y;

求得θ向量為

如果我想預計「1650-square-foot house with 3 bedrooms」的**,那麼由x * θ = y可知:

price = [1,1650,3]* theta ;
我們取消matlab中的科學計數法,看看price的**是多少:

>> format long g

>> price

price =  293081.464334897

我們在給出的樣本中,找乙個接近的樣本比比看:

23號樣本的房屋面積為1604,房間數也為3,它的**為

我們可以嘗試畫出h(θ)函式的影象看看:

先分別用min和max函式找出房屋面積(x1)和房間個數(x2)的最大和最小值,有

x1∈[852,4478]

x2∈[1,5]

x1=linspace(852,4478,47);

x2=linspace(1,5,47);

[xx1,xx2]=meshgrid(x1,x2);

h_theta = theta(1)*ones(47,47) + theta(2)*xx1 + theta(3)*xx2;

surf(xx1,xx2,h_theta);

可以看到h(θ)為如下平面:

梯度下降需要預先確定學習速率、迭代次數,和資料規範化  feature scaling。

正規化方程Normal Equations解析

如果需要代做演算法,可以聯絡我.部落格右側有 假設我們有m個樣本。特徵向量的維度為n。因此,可知樣本為,其中對於每乙個樣本中的x i 都有x i 令 h 0 1x1 2x2 nxn,則有 若希望h y,則有 x y 我們先來回憶一下兩個概念 單位矩陣和矩陣的逆,看看它們有什麼性質。1 單位矩陣e a...

一正規化 二正規化 三正規化

1 第一正規化 如果乙個關係模式r的所有屬性都是不可分的基本資料項,則r 1nf。簡單的說,第一正規化就是每乙個屬性都不可再分。不符合第一正規化則不能稱為關聯式資料庫。第一正規化 1nf 要求資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。若某一列有多個值,可以將該列單獨拆分成乙個實...

資料庫正規化 一正規化 二正規化 三正規化 BC正規化

一正規化 關係模式r所有的屬性都是不可分割的,不能為組合屬性 多值屬性。一正規化是資料庫設計裡的必要條件。二正規化 非主碼的屬性集依賴於主碼屬性集,不依賴於主碼屬性集的子集 bcnf boyce bodd normal form bc正規化 在二正規化的基礎上,消除更多的冗餘。第三正規化 在bc正規...