线性回归(Linear Regression)形式简单,但其建模思想具有广泛的通用性。其基本思路在于给定一组由输入 x x x 和输出 y y y 构成的数据集 D = { ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x m , y m ) } D=\{(x_1, y_1), (x_1, y_1), ···,(x_m, y_m)\} D = {( x 1 , y 1 ) , ( x 1 , y 1 ) ,⋅⋅⋅ , ( x m , y m )} ,采用线性的思想 y ~ = w x + b \tilde{y}=wx+b y ~ = w x + b 来拟合输入与输出的关系,并通过反复“训练”使得拟合结果和真实结果愈加地接近,即 y ~ ≅ y \tilde{y}\ \cong y y ~ ≅ y 。因此,线性回归中的关键任务就是确定参数 w w w 和 b b b 。
为了保证拟合结果 y ~ \tilde{y} y ~ 和真实结果 y y y 尽可能接近,模型训练过程中的关键内容就是监测二者间的差距。这一差距被称为损失(Loss),使用均方误差(Mean Square Error,MSE)进行度量,所以线性回归模型训练的优化目标就是使得拟合结果与真实结果之间的均方误差最小,即:
( w ∗ , b ∗ ) = a r g m i n ∑ i = 1 m ( y i − y i ~ ) 2 = a r g m i n ∑ i = 1 m ( y i − ( w x i + b ) ) 2 (w^*, b^*) = arg min \sum_{i=1}^m(y_i-\tilde{y_i})^2
\\
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = arg min \sum_{i=1}^m(y_i-(wx_i+b))^2 ( w ∗ , b ∗ ) = a r g min i = 1 ∑ m ( y i − y i ~ ) 2 = a r g min i = 1 ∑ m ( y i − ( w x i + b ) ) 2
求使得均方误差最小的 w ∗ w^* w ∗ 和 b ∗ b^* b ∗ ,只需对均方差公式分别对 w w w 和 b b b 求一阶偏导并令导数为 0 0 0 即可,就是著名的最小二乘法(Least Square Method)。
为展示求导过程,w w w 和 b b b 合并为参数向量形式,并将数据集 D D D 写成矩阵形式,同时添加对应 b b b 的输入数据:
X = ( x 11 x 12 ⋯ x 1 n 1 x 21 x 22 ⋯ x 2 n 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m n 1 ) m × ( n + 1 ) y = ( y 1 ; y 2 ; ⋅ ⋅ ⋅ y m ) m × 1 w ^ = ( w ; b ) ( n + 1 ) × 1 \textit{\textbf{X}} =
\begin{pmatrix}
x_{11} & x_{12} & \cdots & x_{1n} & 1\\
x_{21} & x_{22} & \cdots & x_{2n} & 1\\
\vdots & \vdots & \ddots & \vdots & \vdots\\
x_{m1} & x_{m2} & \cdots & x_{mn} & 1\\
\end{pmatrix}_{m\times (n+1)}
\quad\quad
\textit{\textbf{y}} = (y_1;y_2; ··· y_m)_{m\times1}
\quad\quad
\hat{\textit{\textbf{w}}} = (w;b)_{(n+1)\times1} X = ⎝ ⎛ x 11 x 21 ⋮ x m 1 x 12 x 22 ⋮ x m 2 ⋯ ⋯ ⋱ ⋯ x 1 n x 2 n ⋮ x mn 1 1 ⋮ 1 ⎠ ⎞ m × ( n + 1 ) y = ( y 1 ; y 2 ;⋅⋅⋅ y m ) m × 1 w ^ = ( w ; b ) ( n + 1 ) × 1
于是得到均方误差的矩阵形式:
w ^ ∗ = a r g m i n ( y − X w ^ ) 2 = a r g m i n ( y − X w ^ ) T ( y − X w ^ ) \hat{\textit{\textbf{w}}}^*=arg min(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}})^2=arg min(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}})^T(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}}) w ^ ∗ = a r g min ( y − X w ^ ) 2 = a r g min ( y − X w ^ ) T ( y − X w ^ )
令L = ( y − X w ^ ) T ( y − X w ^ ) L=(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}})^T(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}}) L = ( y − X w ^ ) T ( y − X w ^ ) ,对 w ^ \hat{\textit{\textbf{w}}} w ^ 求导并使之等于0 0 0 ,则有:
∂ L ∂ w ^ = ∂ ( y − X w ^ ) T ( y − X w ^ ) ∂ w ^ = ∂ ( y T y − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ ) ∂ w ^ \frac{\partial L}{\partial \hat{\textit{\textbf{w}}}}
=\frac{\partial (\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}})^T(\textit{\textbf{y}}-\textit{\textbf{X}}\hat{\textit{\textbf{w}}})}{\partial \hat{\textit{\textbf{w}}}}
=\frac{\partial (\textit{\textbf{y}}^T\textit{\textbf{y}}-\textit{\textbf{y}}^T\textit{\textbf{X}}\hat{\textit{\textbf{w}}}-\hat{\textit{\textbf{w}}}^T\textit{\textbf{X}}^T\textit{\textbf{y}}+\hat{\textit{\textbf{w}}}^T\textit{\textbf{X}}^T\textit{\textbf{X}}\hat{\textit{\textbf{w}}})}{\partial \hat{\textit{\textbf{w}}}} ∂ w ^ ∂ L = ∂ w ^ ∂ ( y − X w ^ ) T ( y − X w ^ ) = ∂ w ^ ∂ ( y T y − y T X w ^ − w ^ T X T y + w ^ T X T X w ^ )
= ∂ y T y ∂ w ^ − ∂ y T X w ^ ∂ w ^ − ∂ w ^ T X T y ∂ w ^ + ∂ w ^ T X T X w ^ ∂ w ^ =\frac{\partial \textit{\textbf{y}}^T\textit{\textbf{y}}}{\partial \hat{\textit{\textbf{w}}}}-
\frac{\partial \textit{\textbf{y}}^T\textit{\textbf{X}}\hat{\textit{\textbf{w}}}}{\partial \hat{\textit{\textbf{w}}}}-
\frac{\partial \hat{\textit{\textbf{w}}}^T\textit{\textbf{X}}^T\textit{\textbf{y}}}{\partial \hat{\textit{\textbf{w}}}}+
\frac{\partial \hat{\textit{\textbf{w}}}^T\textit{\textbf{X}}^T\textit{\textbf{X}}\hat{\textit{\textbf{w}}}}{\partial \hat{\textit{\textbf{w}}}} = ∂ w ^ ∂ y T y − ∂ w ^ ∂ y T X w ^ − ∂ w ^ ∂ w ^ T X T y + ∂ w ^ ∂ w ^ T X T X w ^
= 0 − X T y − X T y + ( X T X + ( X T X ) T ) w ^ =0-\textit{\textbf{X}}^T\textit{\textbf{y}}-\textit{\textbf{X}}^T\textit{\textbf{y}}+(\textit{\textbf{X}}^T\textit{\textbf{X}}+(\textit{\textbf{X}}^T\textit{\textbf{X}})^T)\hat{\textit{\textbf{w}}} = 0 − X T y − X T y + ( X T X + ( X T X ) T ) w ^
= 2 X T X w ^ − 2 X T y = 0 =2\textit{\textbf{X}}^T\textit{\textbf{X}} \hat{\textit{\textbf{w}}}-2\textit{\textbf{X}}^T\textit{\textbf{y}}=0 = 2 X T X w ^ − 2 X T y = 0
当 X T X \textit{\textbf{X}}^T\textit{\textbf{X}} X T X 可逆时,即可得到目标结果:
w ^ ∗ = ( X T X ) − 1 X T y \hat{\textit{\textbf{w}}}^*=(\textit{\textbf{X}}^T\textit{\textbf{X}})^{-1}\textit{\textbf{X}}^T\textit{\textbf{y}} w ^ ∗ = ( X T X ) − 1 X T y
几点说明的地方:
推导过程中用到的矩阵求导公式
∂ A T x ∂ x = ∂ x T A ∂ x = A , ∂ x T Ax ∂ x = ( A + A T ) x \frac{\partial \textit{\textbf{A}}^T\textit{\textbf{x}}}{\partial \textit{\textbf{x}}}
=\frac{\partial \textit{\textbf{x}}^T\textit{\textbf{A}}}{\partial \textit{\textbf{x}}}
= \textit{\textbf{A}}
\ ,
\quad\quad
\frac{\partial \textit{\textbf{x}}^T\textit{\textbf{A}}\textit{\textbf{x}}}{\partial \textit{\textbf{x}}}
= (\textit{\textbf{A}}+\textit{\textbf{A}}^T)\textit{\textbf{x}} ∂ x ∂ A T x = ∂ x ∂ x T A = A , ∂ x ∂ x T A x = ( A + A T ) x
求 w ^ ∗ \hat{\textit{\textbf{w}}}^* w ^ ∗ 时假设了 X T X \textit{\textbf{X}}^T\textit{\textbf{X}} X T X 可逆,但当其不可逆时可添加正则化项来使之可逆,即 ( X T X + λ I ) − 1 X T y (\textit{\textbf{X}}^T\textit{\textbf{X}}+\lambda \textit{\textbf{I}})^{-1}\textit{\textbf{X}}^T\textit{\textbf{y}} ( X T X + λ I ) − 1 X T y ,λ I \lambda \textit{\textbf{I}} λ I 即为正则化项。实际中使用最小二乘法求解回归模型情况很少,为了保证训练效率使用梯度下降法,而梯度下降法对 X T X \textit{\textbf{X}}^T\textit{\textbf{X}} X T X 是否可逆并无要求。后面会针对正则化和梯度下降单独展开。
统计学中对于线性回归的讲解包含更严格的前提条件和模型效果判断,这里暂时省略。