1. 程式人生 > >使用迴歸分析預測連續型變數

使用迴歸分析預測連續型變數

線性迴歸模型

線性函式的定義如下:
h ( x ) = w 1

x 1 + w 2 x 2
+ . . . + w d x d
+ b = w T x + b h(\bm{x})=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b=\bm{w}^{T}\bm{x}+b
給定資料集 D = { ( x i , y i ) } 1 N D=\{(\bm{x}_{i},y_{i})\}_{1}^{N} ,其中 x i , y i \bm{x}_{i},y_{i} 都是連續型變數。線性迴歸試圖去學習到 h ( x ) h(\bm{x}) 能準確地預測 y y
迴歸任務最常用的效能度量就是均平方誤差(MSE,mean squared error):
J ( w , b ) = 1 2 i = 1 N ( y i h ( x i ) ) 2 = 1 2 i = 1 N ( y i w T x i + b ) 2 J(\bm{w},b)=\frac{1}{2}\sum_{i=1}^{N}(y_{i}-h(\bm{x}_{i}))^{2}=\frac{1}{2}\sum_{i=1}^{N}(y_{i}-\bm{w}^{T}\bm{x}_{i}+b)^{2}
引數的優化:(入門人士只需掌握(1)即可,實用簡單)
(1)可以使用梯度下降來優化誤差,每一步的更新為:
w j : = w j η J ( w , b ) w j = w j η i = 1 N ( y i h ( x i ) ) x i j , j = 1 , 2 , . . . d b : = b η J ( w , b ) b = w j η i = 1 N ( y i h ( x i ) ) , j = 1 , 2 , . . . d w_{j}:=w_{j}-\eta \frac{\partial J(\bm{w},b)}{\partial w_{j}}=w_{j}-\eta \sum_{i=1}^{N}(y_{i}-h(\bm{x}_{i}))\bm{x}_{i}^{j},j=1,2,...d \\ b:=b-\eta \frac{\partial J(\bm{w},b)}{\partial b}=w_{j}-\eta \sum_{i=1}^{N}(y_{i}-h(\bm{x}_{i})),j=1,2,...d
(2)最小二乘估計:
w \bm{w} b b 合起來寫為 w ^ = ( w ; b ) , \hat{\bm{w}}=(\bm{w};b), 把資料集表示為 N × ( d + 1 ) N\times (d+1) 的矩陣,前 d d 個元素對應屬性值,最後一個數為 1 1 對應引數 b b
在這裡插入圖片描述
標記也寫為向量的形式: y = ( y 1 ; y 2 ; . . . ; y N ) \bm{y}=(y_{1};y_{2};...;y_{N}) ,則求最小化誤差的引數 w ^ \hat{\bm{w}} 可表示為:
w ^ = min w ^ J ( w ^ ) = min w ^ <