线性回归可以说是机器学习的入门理论之一,想用代码实现线性回归模型,我们先来了解一下它的理论吧。
线性模型
线性模型(Linear model)试图学得一个通过属性的线性组合来进行预测的函数。
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b 向 量 形 式 : f ( x ) = w T x + b f(x)=w_1x_1+w_2x_2+...+w_dx_d+b\\ 向量形式:f(x)=w^Tx+b f(x)=w1x1+w2x2+...+wdxd+b向量形式:f(x)=wTx+b
线性回归(Linear Regression)
f ( x ) = w x i + b 使 得 f ( x i ) ≈ y i f(x) = wx_{i}+b\qquad使得\qquad f(x_{i})\approx y_{i} f(x)=wxi+b使得f(xi)≈yi
令均方差误差最小化,有
KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲ (w^{*},b^{*}…
对 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)}=\sum\limits_{i=1}^{m}(y_{i}-wx_{i}-b)^2 E(w,b)=i=1∑m(yi−wxi−b)2进行最小二乘法参数估计
分别对 w w w和 b b b求导:
∂ E ( w . b ) = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) ∂ E ( w . b ) = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \partial E_{(w.b)} = 2(w\sum\limits_{i=1}^mx_i^2-\sum\limits_{i=1}^m(y_{i}-b)x_{i})\\ \partial E_{(w.b)} = 2(w\sum\limits_{i=1}^mx_i^2-\sum\limits_{i=1}^m(y_{i}-b)x_{i}) ∂E(w.b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)∂E(w.b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)
令导数为0,得到闭式(closed-form)解:
w = ∑ i = 1 m y i ( x i − x ‾ ) ∑ i = 1 m x 2 − 1 m ( ∑ i = 1 m x i ) 2 b = 1 m ∑ i = 1 m ( y i − w x