機器學習——迴歸方法(1)

一、迴歸預測簡介

現在我們知道的迴歸一詞最早是由達爾文的表兄弟Francis Galton發明的。Galton在根據上一年的豌豆種子的尺寸預測下一代豌豆種子的尺寸時首次使用了迴歸預測。他在大量的對象上應用了迴歸分析,包括人的身高。他注意到,如果雙親的高度比平均高度高的話,則他們的子女也傾向於比平均身高高,但尚不及雙親。孩子的身高向着平均高度回退(迴歸)。Galton在多項研究上都注意到這個現象,所以儘管這個單詞跟數值預測沒有任何關係,但是仍然把這種方法稱爲迴歸。

二、迴歸方法的適用條件:

1) 收集的數據是數值型數據,或可轉爲數值型數據

2) 建立數學模型,即一個函數,這個函數裏含有未知的參數,通過對收集到的數據進行學習,可以估計出參數。然後利用這個模型去預測/分類新的數值型數據。

3)在對數值型數據的處理後,具體的適用條件見後面具體的迴歸算法

三、線性迴歸模型選擇

線性迴歸假設特徵和結果滿足線性關係,

四、數學理論部分

其實線性關係的表達能力非常強大,每個特徵對結果的影響強弱可以有前面的參數體現,而且每個特徵變量可以首先映射到一個函數,然後再參與線性計算。這樣就可以表達特徵與結果之間的非線性關係。

       收集的數據中,每一個分量,就可以看做一個特徵數據。每個特徵至少對應一個未知的參數。這樣就形成了一個線性模型函數,我們可以用x_{1},x_{2},...,x_{n}  去描述 feature (特徵)裏面的分量,比如爲了預測房屋的價格,可以設 x1=房間的面積, x2=房間的朝向,等等,我們可以做出一個估計函數:

h(x)=h_{\Theta }(x)=\Theta_{0}+\Theta_{1}x_{1}+\Theta _{2}x_{2}+...

θ 在這兒稱爲參數,在這的意思是調整 feature 中每個分量的影響力,就是到底是房屋的面積更重要還是房屋的地段更重要。爲了如果我們令 X0 = 1,就可以用向量的方式來表示了:
h_{\Theta }(x)=\Theta_{0}x_{0}+\Theta_{1}x_{1}+\Theta _{2}x_{2}+...=\Theta ^{T}X

我們程序也需要一個機制去評估我們 θ 是否比較好,所以說需要對我們做出的 h 函數進行評估,一般這個函數稱爲損失函數(loss function)或者錯誤函數(error function),描述 h 函數不好的程度,在下面,我們稱這個函數爲 J 函數
J(\Theta )=\frac{1}{2} \sum_{i=1}^{m}(h_{\Theta }(x^{(i)})-y^{(i)})^{2}

這個錯誤估計函數是去對 x(i)的估計值與真實值 y(i)差的平方和作爲錯誤估計函數,前面乘上的 1/2 是爲了在求導的時候,這個係數就不見了。這個損失函數是關於theta的一個凸函數,它的極值點就是我們要求的最小值,這裏其實爲梯度下降法埋下了一個伏筆。

至於爲何選擇平方和作爲錯誤估計函數,後面從概率分佈的角度講解了該公式的來源。

如何調整 θ 以使得 J(θ)取得最小值有很多方法,其中有最小二乘法(min square),是一種完全
是數學描述的方法, 和梯度下降法。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章