1. 程式人生 > >2、單變量線性回歸

2、單變量線性回歸

ping con src 面積 變量 選擇 spa nbsp 損失函數

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

  • 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同時更新

2、單變量線性回歸