2、單變數線性迴歸
阿新 • • 發佈:2018-12-23
引例:以房價和房屋面積作為訓練集,學習如何預測房價
- 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同時更新