【machine learning】linear regression

一、曲線擬合

 

1、問題引入

①假設現在有一份關於某城市的住房面積與相應房價的數據集


1    居住面積與房價關係


1    居住面積與房價關係

那麼給定這樣一個數據集,我們怎麼學習出一個以住房面積大小爲自變量的用於預測該城市房價的函數?


問題可形式化爲

給定大小爲m的訓練樣本集


我們希望學習的目標函數爲


房價預測本質上是迴歸問題

a、迴歸分析挖掘自變量與因變量之間的關係

b、有監督的學習問題,所有的樣本點都帶有目標變量

c、輸出變量爲連續值,可取任意實數

 

②假設現在我們有份更詳盡的數據集,它還記錄了臥室的數量


輸入X=(x1,x2)

假設每個自變量都與因變量Y存在線性相關

目標是學習出假設函數


1、怎樣建模

①基本概念


Relationship

l Linear correlated?

l Nonlinear correlated?

Mining relation

l Correlation coefficient


 = 1時,稱X,Y完全相關,X,Y之間具有線性函數關係

 

l Special Case

  e.g. 猜想YX存在指數關係,觀察

      ln YX的線性相關性

l General---Polynomial Curve Fit(多項式曲線擬合)

          找到合適的階數k,使等式成立,譬如logistic regression



②多元變量線性迴歸

上文提到假設函數:


參數或權重(反映每個自變量對輸出的影響),使線性函數空間參數化(h形式已知,用參數來刻畫)

爲了表示方便,令x0(對應截距項),則上式可寫成


注:k與自變量的個數有關,此處k=2

 

3、怎樣獲取參數

合理的選擇策略:對於該數據集的每一個樣本,選定的參數使得儘可能接近y。在實際中,儘可能接近用代價函數來表示。

Cost Function(代價函數)

描述預測值與真實值之間的差距,從而優化目標函數參數,可以利用0-1損失,絕對值損失,平方損失,對數損失。

對於線性迴歸問題,我們採用的目標函數爲


這是普通最小二乘迴歸模型(statistics),可以利用概率論知識解釋爲什麼可以,如下。

 

二、概率解釋

 

1、選擇最小二乘(平方損失)代價函數的理由:

我們做出如下假設:


E(i):誤差項(沒有model出的效應,e.g.遺漏了某些因素的影響)或隨機噪聲

進一步假設:



注意,下面式子與這條式子等價。



等價於


之後我們就可以利用似然函數解釋最小二乘代價函數:

 

定義:給定隨機變量X與參數,我們觀察到結果Y的可能性


由E(i)之間的獨立性假設,得


簡單解釋一下,我們的目標,是實現在給定的情況下,對於m個樣本的輸入,能輸出的my的概率的總乘積最大,那構建的模型就越準確了,即最大似然估計。

 

定義:最大似然估計(maximum likelihood estimation)

    當給定似然函數(關聯yx的概率模型)時,一種合理的參數估計方法是儘可 能選擇使數據出現的概率最大,即最大化似然函數。



實際上,常用的是對數似然:


因而,最大似然估計等價於最小化平方損失函數,得證。


三、模型求解

 

1、梯度下降法(steepest gradient descent)

負梯度方向是函數值下降的方向,利用負梯度方向來決定每次迭代的新的搜索方向,使得每次迭代能使待優化的目標函數逐步減小。

a:學習率


其中(關鍵):


LMS更新法則:


注意:每次參數更新只用到一個訓練樣本,樣本維數等於維數。

 

2、批量梯度下降(batch gradient descent)


每次參數更新,需要依賴訓練集的所有樣本。

對於線性迴歸問題,代價函數是凸二次規劃函數,有全局最優解


1  梯度下降法迭代過程

 

3、隨機梯度下降


特點

1.每次隨機選取一個樣本點 立即更新參數

        2.單個樣本點的代價函數值下降近似於總體的代價函數值下降

        3.對步長選擇敏感 可能會出現overshoot the minimum


3、方法比較

1.梯度下降法是批量更新算法,隨機梯度是在線算法

2.梯度法優化的是經驗風險,隨機梯度法優化的是泛化風險

3.梯度法可能陷入局部最優,隨機梯度可能找到全局最優

4.梯度法對步長不敏感,隨機梯度對步長選擇敏感 

5.梯度法對初始點(參數)選擇敏感


5、輸入預處理

a. 歸一化

輸入特徵歸一化,確保特徵在相似的尺度裏,但不一定所有的數據都需要歸一化。

    理由:梯度下降法可能會存執之字形地下降,影響算法的收斂速度。


一般做法:

其中均值,最大值與最小值之差或標準差。

b.步長的選擇

對於梯度下降法:

 

注意兩個問題:

1、“調試”:如何確保梯度下降算法正確的執行;

2、如何選擇正確的步長(learning rate):  α

 如何選擇α-經驗的方法:

, 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1… 

     特別對於隨機梯度下降法,步長的選擇需滿足兩點:

①保證算法收斂性

②保證有機會搜索到全局最優解

 

5、正規方程

假設函數作用於每個樣本:


則:


代價函數可改成:


此問題等價於:


即兩個向量之間的歐氏距離:


幾何意義:



需保證可逆(可逆的充分條件:矩陣X各列線性無關)

 

回顧一下,上面我們的方法是利用迭代的方式求出,從而使代價函數值最小,並沒有求出代價函數。也就是說,所謂的最優解能否求得,不管是通過迭代的方式或是其它方式也好,符合上面的條件才行。

 

但現實中的數據不是那麼理想的。

若不可逆,如何求解? 

1、求僞逆(statistics的解決方案)

2、去掉冗餘的特徵(線性相關)

3、去掉過多的特徵,例如m <= n (m爲樣本數, n爲特徵數)

 

四、小結

 

1梯度下降法

需要選擇合適的learning rate α;

需要很多輪迭代

即使n很大的時候效果也很好(n爲特徵數,即維度

2、正規方程

不需要選擇α

不需要迭代,一次搞定

需要計算,其時間複雜度是

n很大,就非常慢,可以考慮降維






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