1. 程式人生 > >Machine Learning——DAY1

Machine Learning——DAY1

優劣 大量 mach spa http pin bsp -1 ica

監督學習:分類和回歸

非監督學習:聚類和非聚類

1.分類和聚類的區別:

分類(Categorization or Classification)就是按照某種標準給對象貼標簽(label),再根據標簽來區分歸類。

聚類是指事先沒有“標簽”而通過某種成團分析找出事物之間存在聚集性原因的過程。

2.回歸和分類的區別:

當我們試圖預測的目標變量是連續的時,例如在我們的住房例子中,我們把學習問題稱為回歸問題。當y只能取一小部分離散值時(例如,考慮到居住區域,我們想預測一個住宅是房子還是公寓),我們稱之為分類問題。

單個特征:

成本函數:

技術分享

的添加是為了以後便於計算

梯度下降法:

技術分享

技術分享

學習速率

ɑ選擇不能太大也不能太小。

拿線性回歸擬合為例,則梯度下降過程如下:

技術分享

多個特征

hypothesis function(假設函數)

技術分享

技術分享

技術分享可理解為第i個樣本的第0個屬性值為1,這樣設置是為了便於θ’X的矩陣運算

(試著將θ理解為平衡各個特征的權重)

技術分享

(統計學習方法.李航中上標下標表示的意思與這裏相反)

梯度下降法:

技術分享

技術分享

Feature Scaling(特征縮放):

它可以使得梯度下降的速度加快從而優化梯度下降法

技術分享

μi表示所有樣本的第i個屬性(特征)的平均值

Si表示所有樣本第i個屬性(特征)中(最大值-最小值),或者叫standard deviation(標準差)

Polynomial Regression(多項式回歸)

當數據用線性擬合不太好時可以考慮用多項式回歸,例如二次三次多項式甚至平方根

正規方程法

Normal Equations 的由來

假設我們有m個樣本。特征向量的維度為n。因此,可知樣本為{(x(1),y(1)), (x(2),y(2)),... ..., (x(m),y(m))},其中對於每一個樣本中的x(i),都有x(i)={x1(i), xn(i),... ...,xn(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 VS Gradient Descent

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

優勢:

Normal Equation可以不在意x特征的scale。比如,有特征向量X={x1, x2}, 其中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之間有一個是冗余的)

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

梯度下降法和正規方程法的優劣比較:

技術分享

Machine Learning——DAY1