线性回归模型作为算法梳理的第一个模型,也是机器学习中最为基础与容易理解的模型,在各个机器学习的书籍与教程中也是作为机器学习的引例。线性回归的数据集的形式为多个属性X与一个对应的Y,目的是求解X与Y之间的线性映射关系,优化求解参数的目标是降低预测值与Y之间的差别,“差别”的度量方式有很多种(如均方误差,均方根误差等等),其中均方误差可以看作是高斯噪声模型的假设下的最大似然解。若属性X只有一个,则在X,Y组成的二维空间下求解最小二乘法来估计参数。若属性X为多个,则可以写出均方误差的矩阵形式,通过正规化来求解,当求解不唯一的时候需要使用正则化等手段进一步约束并求解参数。
一般向量形式: f ( x ) = w T x + b f(x)=w^Tx + b f(x)=wTx+b,其中 w = ( w 1 ; w 2 ; . . . ; w n ) w=(w_1;w_2;...;w_n) w=(w1;w2;...;wn),w和b学得之后,模型就得以确定。
当属性的数目只有一个的时候:
试图学习 f ( x i ) = w x i + b i f(x_i)=wx_i+b_i f(xi)=wxi+bi,使得 f ( x i ) ≈ y i f(x_i)\approx y_i f(xi)≈yi。
采用均方误差作为衡量 f ( x ) 和 y f(x)和y f(x)和y的度量,选取 w 和 b w和b w和b使得均方误差的结果最小的过程就是线性回归模型的最小二乘“参数估计”,最小二乘法就是试图找到一条直线,使得所有样本到直线上的欧氏距离之和最小。
( w ∗ , b ∗ ) = arg min ∑ i = 1 m ( y i − w x i − b ) 2 (w^*,b^*)=\arg\min\sum_{i=1}^{m}(y_i-wx_i-b)^2 (w∗,b∗)=argmin∑i=1m(yi−wxi−b)2
对w,b分别求导,令其为零便可求得w与b的闭式解:
w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i 2 ) 2 w=\frac{\sum_{i=1}^{m}y_i(x_i-\bar{x})} {\sum_{i=1}^{m}x_i^2-\frac{1}{m}(\sum_{i=1}^{m}x_i^2)^2} w=∑i=1mxi2−m1(∑i=1mxi2)2∑i=1myi(xi−xˉ)
b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) b=m1∑i=1m(yi−wxi)
当属性的数目为多个时(多元线性回归):
类似写出其均方误差的矩阵表示:
w ^ ∗ = arg min ( y − X w ^ ) T ( X w ^ − y ) \hat{w}^*=\arg\min(y-X\hat{w})^T(X\hat{w}-y) w^∗=argmin(y−Xw^)T(Xw^−y)
令 E w ^ = ( y − X w ^ ) T ( X w ^ − y ) E_{\hat{w}}=(y-X\hat{w})^T(X\hat{w}-y) Ew^=(y−Xw^)T(Xw^−y)
化简得 E w ^ = y y T − 2 y T x w ^ + w ^ T x T x w ^ E_{\hat{w}}=yy^T-2y^Tx\hat{w}+\hat{w}^Tx^Tx\hat{w} Ew^=yyT−2yTxw^+w^TxTxw^
对 w ^ \hat{w} w^求导: ∂ E w ^ ∂ w ^ = − 2 x T y + 2 x T x w ^ \frac{\partial E_{\hat{w}}}{\partial \hat{w}}=-2x^Ty+2x^Tx\hat{w} ∂w^∂Ew^=−2xTy+2xTxw^
令其为0,便可得到一个非齐次方程组: x T x w ^ = x T y x^Tx\hat{w}=x^Ty xTxw^=xTy,在这里需要讨论其解得情况:
若 x T x x^Tx xTx满秩,则存在唯一解 w ^ ∗ = ( x T x ) − 1 x T y \hat{w}^*=(x^Tx)^{-1}x^Ty w^∗=(xTx)−1xTy。
若 x T x x^Tx xTx不是满秩,则可能是无解,也可能是无数组解,可以通过PCA降维使得特征数量变少,提出线性相关得特征,增加样本量,和正则化来调节与约束最终的 w ^ ∗ \hat{w}^* w^∗。