5、多變量線性回歸
引例:當房價受房屋面積、臥室數量、樓層、房屋年齡等多個因素影響時的線性回歸算法是什麽樣的?
房屋面積 |
臥室數量 |
樓層 |
房屋年齡 |
房價($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
設定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、多變量線性回歸