1. 程式人生 > >5、多變量線性回歸

5、多變量線性回歸

val bsp 其中 -h 快的 span 是什麽 選擇 數量

引例:當房價受房屋面積、臥室數量、樓層、房屋年齡等多個因素影響時的線性回歸算法是什麽樣的?

房屋面積

臥室數量

樓層

房屋年齡

房價($1000)

2104

5

1

45

460

1416

3

2

40

232

1534

3

2

30

315

852

2

1

36

178

….

….

….

假設函數:h(x)=WTX

輸入變量(x1,w1)、(x2,w2)、(x3,w3)、(x4,w4)分別代表房屋面積、臥室數量、樓層、房屋年齡和各自的權重,w0代表偏差,則假設函數為:h(x)=w0+w1x1+w2x2+w3x3+w4x4

推廣到一般,對於n個特征的多因素線性回歸問題的假設函數:h(x)=w0

+w1x1+w2x2+...+wnxn

設定x0=1,則假設函數為:h(x)=w0+w1x1+w2x2+...+wnxn=w0x0+w1x1+w2x2+...+wnxn

把W(w0,w1,w2,....),X(x0,x1,x2,....)分別看成是n+1維的列向量,則W、X、WT(W的轉置矩陣)分別為:

技術分享圖片,則假設函數為:

技術分享圖片

損失函數:J(w0,w1,w2,...,wn)=J(W)=Σmi=1(h(x(i))-y(i))2/m

特征縮放

方法一:把特征值縮放到[-1,1]之間(或者差不多大小的區間)來達到更快的收斂到最小值的效果

例如:房屋面積x1的大小在0-2000,臥室數量x2的大小在1-5,使用特征縮放,對x1,x2

進行縮放處理,則:

x1=房屋面積/2000,0≤x1≤1

x2=臥室數量/5,0≤x2≤1

縮放後會加快收斂到最小值

方法二:均值歸一化

例如:房屋面積x1的大小在0-2000(均值為1000),臥室數量x2的大小在1-5(均值為2),使用特征縮放,對x1,x2進行縮放處理,則:

x1=(房屋面積-1000)/2000,-0.5≤x1≤0.5

x2=(臥室數量-2)/5,-0.5≤x2≤0.5

或者

x1=(房屋面積-1000)/(樣本最大值-樣本最小值),-0.5≤x1≤0.5

x2=(臥室數量-2)/(樣本最大值-樣本最小值),-0.5≤x2≤0.5

學習率learning rate

1、看圖:x軸數學習次數,y軸是J(W)損失函數,通過圖形對收斂情況判斷學習率的情況

2、..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1, ... 間隔3倍選擇學習率測試

線性回歸問題正規方程解法:W=(XTX)-1XTy , 其中XT是X矩陣的轉置矩陣,(XTX)-1是XTX的逆矩陣

對於線性回歸:梯度下降法和正規方程解法的區別

  • 梯度下降需要選擇一個學習率,需要叠代很多次
  • 正規方程不需要學習率,一次求解
  • 特征數量(n)很大(百萬級)選擇梯度下降,特征數量不多(萬級或者以下)選擇用正規方程解法(時間復雜度O(n3))

5、多變量線性回歸