Ng機器學習筆記-1-一元線性迴歸

一:迴歸模型介紹算法

從理論上講,迴歸模型即用已知的數據變量來預測另一個數據變量,已知的數據屬性稱爲輸入或者已有特徵,想要預測的數據稱爲輸出或者目標變量。機器學習

下圖是一個例子:函數

迴歸模型1     

     迴歸模型2

 

  圖中是某地區的面積大小與房價的關係圖,輸入變量X是面積,輸出變量Y是房價,把已有的數據集(x,y)做爲一個訓練數據,擬合出線性迴歸模型,利用線性迴歸模型預測出一給定面積房子的價格。學習

下圖1-3是典型的學習過程迴歸模型學習過程                                                              圖1-3 學習過程   測試

其中,h是估計函數,對應到線性迴歸中就是一個線性關係式image ,輸入變量x,通過估計函數,輸出相應的估計值y。spa

 

二:代價函數3d

1

2-costfunction

      在一元線性迴歸中有兩個參數:theta0,theta1的值是未知的,這兩個參數的值決定了估計函數的好壞。估計值image 與真實值y之間的差越小,說明估計函數越好,所以,選擇參數theta0,theta1的標準就設爲image ,選擇可以使得函數J(theta0,theta1)獲得最小值的一對參數(theta0,theta1)做爲最終的參數值。咱們稱函數blog

J(theta0,theta1)爲代價函數。get

     下面進行舉例分析,爲方便理解代價函數和線性迴歸估計函數,先假設theta0=0,即image ,給定三組訓練數據(1,1)、(2,2)、(3,3),如今訓練一線性迴歸估計函數,使得它可以最大限度的磨合訓練數據,即目標是求得參數theta1的值,使得代價函數值最小,以下圖所示:  3-Cost Function_4同步

    左圖是不一樣theta1值對應的估計函數線性圖,右圖是不一樣theta1對應的代價函數值,能夠看出當theta1=1的時候,代價函數值達到了最小值0,所以最終選擇theta1=1。

    下面是簡單的練習題:

    q1

 

   上面設theta0=0,簡單的對代價函數進行了分析,下面看下有兩個參數theta0、theta1的狀況:

   2-Cost Function_5

    圖中紅色的叉叉表明訓練數據,當只有參數theta1的時候,代價函數圖是二維的平面圖,可是當有兩個參數時,代價函數就是一個三維圖,以下所示:

   2-Cost Function_6

   從代價函數三維圖中能夠看出,位於曲平面最中間的點所在的座標(theta0,theta1)可使得代價函數值取得最小值,爲方便起見,把代價函數的三維圖換成等高線圖,即把曲平面映射到地面。以下所示:

   2-Cost Function_7

  

   2-Cost Function_8

   2-Cost Function_9

 

   代價函數等高線圖中,在相同顏色曲線上的點有相同大小的代價函數值,隨着參數theta0,theta1的調整,估計函數線逐漸與訓練數據重合,代價函數值逐漸變小,最終到達曲線平面的最中點。

 

三:梯度降低法

  第二節中,咱們畫出代價函數關於參數theta0,theta1的圖形,從圖中能夠大概得知取得最小代價函數值時所對應的參數值,可是當參數個數多於2個的時候,這種方法就不適用了,所以本節研究自動獲取最佳參數的方法:梯度降低法。

  梯度降低法是機器學習中經常使用的一種方法:

   G2 

G3      G1   

這裏梯度降低法的應用能夠想象成是:把代價函數圖當作是一座山,從山上任意一點出發下山,在給定步伐大小狀況下,須要在最快時間內走到山腳,也許不一樣的出發點可能到達不一樣的山腳,可是它們的海拔高度可能差很少。

具體的算法流程以下:

 G4

  1:先給theta0,theta1設定初始值,即對應着下山的出發點。

  2:設定下山步伐大小,即對應image ,表明學習率。

  3:爲了可以快速的到達山腳,在相同步伐大小狀況下,往梯度最大方向走確定最快,梯度大小也就是對應着上圖中的斜率image

  4:每次都同時更新參數theta0,theta1,圖中左下側的更新公式是正確的,右下側是錯誤的。

 

  參數image的大小決定了代價函數是否可以逐漸收斂到一比較小的值,下圖所示:

  G5

  以參數theta1的更新舉例,斜率大小多是正值也多是負值,若是是正值則參數theta1逐漸變小,若是是負值,則參數theta1逐漸變大。

 

  G6

  所以,若是參數image過小,梯度降低的速度雖然會比較慢,可是確定會逐漸收斂到一極小值,可是若是image太大,則可能致使代價函數不能收斂到極小值,而且是兩邊交叉變化的,如上圖所示。

  四:線性迴歸對應的梯度降低法

下圖是線性迴歸對應的梯度降低法,是一個不斷迭代的過程。

G9

 G10

 

  最終的的算法流程以下:

 

  G11

  

簡單測試題:

  G13

 

 

五:總結

本節主要介紹了一元線性迴歸、代價函數、梯度降低法,在求一元線性迴歸中的參數估計時,用到了梯度降低法,在下面的一章節中將進行習題練習和實驗實現本節介紹的方法。

除了梯度降低法求參數估計值外,還有經常使用的利用最小二乘法的正規方程方法,也將在下面的章節中進行介紹和對比。

相關文章
相關標籤/搜索