如果需要代做演算法,可以聯絡我...部落格右側有****。
假設我們有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矩陣:x=[ones(m,1),ex3x];
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);可以看到h(θ)為如下平面: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);
梯度下降需要預先確定學習速率、迭代次數,和資料規範化 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正規...