1. 程式人生 > >2、單變數線性迴歸

2、單變數線性迴歸

 

引例:以房價和房屋面積作為訓練集,學習如何預測房價

  • m 代表訓練集的數量
  • x 代表輸入變數(特徵),這裡代表房屋面積
  • y 代表輸出變數(標籤),這裡代表房價
  • (x, y)表示一個訓練樣本
  • (x^(i), y^(i))表示第i個訓練樣本

單變數線性迴歸演算法的實現過程

  • 訓練集(房屋面積x, 房價y)— —>學習演算法— —>h(x)假設函式
  • 房屋面積(x)— —>h(x)假設函式— —> 預測房價(y)
  • 假設函式:h(x) = w1x + b

單變數線性迴歸最常用的損失函式:均方誤差MSE

假設函式和房屋價格的實際價格的差值,差值越小損失越小

均方誤差(MSE) = ∑(h(x)-y)^2/m

     = ∑(w1x + b -y)^2/m

                  =J(w1, b), 其中 x∈(1, m) 

即求一組w1,b使J(w1, b)(MSE)最小

  • (x, y)代表樣本
  • x 代表輸入變數(特徵),這裡代表房屋面積
  • y 代表輸出變數(標籤),這裡代表房價
  • m 代表訓練集(樣本)的數量
  • w1代表權重,b代表偏差(y軸截距)

假設函式和損失函式

  • h(x) = w1x + b, x是變數
  • J(w1, b) = ∑(w1x+b-y)^2/m,w1, b是變數

梯度下降Gradient descent

對於J(w1, b)初始化選擇任意w1,b,慢慢改變w1,b的值使得J(w1, b)取得最小值或者區域性最小值

 

梯度下降w1的值變化:  w1 := w1 - aJ(w1,b)’, 對於此方程當J(w1,b)’0時w1不變,即找到最小值或者區域性最小值

  • 其中 := 賦值
  • a 學習速率(learning rate)
  • J(w1,b)’ :函式在w1, b點的導數

 

 

學習速率learning rate

學習速率過小

學習速率過大

 

線性迴歸演算法實現

結合假設函式、損失函式、梯度下降函式

  • h(x) = w1x + b
  • J(w1, b)=∑(w1x + b -y)^2/m
  • w1 := w1 - aJ(w1,b)’

得出線性迴歸演算法:

  • w1 := w1 - 2ax∑(w1x + b -y)^/m
  • b:=b- 2a∑(w1x + b -y)^/m

W1和b同時更新