目录

最小二乘法和线性回归

最小二乘法

早在19世纪,勒让德就认为让"误差的平方和最小"估计出来的模型是最接近真实情形的。
按照勒让德的最佳原则,于是就是求:
$$ \text{L} = \sum_{i=1}^{n} \left( y_i - f(x_i) \right)^2 $$ 这个目标函数取得最小值时的函数参数,这就是最小二乘法的思想想,所谓"二乘"就是平方的意思。从这里我们可以看到,最小二乘法其实 就是用来做函数拟合的一种思想
至于怎么求出具体的参数那就是另外一个问题了,理论上可以用导数法、几何法,工程上可以用梯度下降法。下面以最常用的线性回归为 例进行推导和理解。
机器学习中用于回归问题的损失函数(Loss Function)是均方误差(MSE): $$ \text{L} = \frac{1}{2n} \sum_{i=1}^{n} \left( y_i - f(x_i) \right)^2 $$ 其实就是多了个1/2n。

线性回归

线性回归因为比较简单,可以直接推导出解析解,而且许多非线性的问题也可以转化为线性问题来解决,所以得到了广泛的应用。甚至许多人认为最小二乘法指的就是线性回归,其实并不是,最小二乘法就是一种思想,它可以拟合任意函数,线性回归只是其中一个比较简单而且也很常用的函数,所以讲最小二乘法基本都会以它为例。
下面我会先用矩阵法进行推导,然后再用几何法来帮助你理解最小二乘法的几何意义。

设计矩阵 X (维度为$ n \times \left(p + 1\right) $):包含所有样本的特征信息,第一列是全为 1 的常数列,代表截距项$ \beta_{0} $ ,其余列为各个特征的值。 $$ \boldsymbol{X}=\left[\begin{array}{ccccc} 1 & x_{11} & x_{12} & \ldots & x_{1 p} \newline 1 & x_{21} & x_{22} & \ldots & x_{2 p} \newline \vdots & \vdots & \vdots & \ddots & \vdots \newline 1 & x_{n 1} & x_{n 2} & \ldots & x_{n p} \end{array}\right] $$

回归系数向量 $ \beta $ (维度为$ \left(p + 1\right) \times 1 $):包含所有的回归系数(包括截距项)。
$$ \boldsymbol{\beta} = \begin{bmatrix} \beta_0 \newline \beta_1 \newline \beta_2 \newline \vdots \newline \beta_p \end{bmatrix} $$ 观测值向量$ y $(维度为$ n \times 1 $):包含所有样本的目标值。
$$ \boldsymbol{y} = \begin{bmatrix} y_0 \newline y_1 \newline y_2 \newline \vdots \newline y_p \end{bmatrix} $$ 线性回归的模型可以简化为: $$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{\beta} + \boldsymbol{\epsilon} $$ 其中$\boldsymbol{\epsilon}$是误差向量。
为了估计$\beta$,我们通常使用 最小二乘法 来最小化残差平方和,即: $$ \min_{\beta} || \boldsymbol{y} - \boldsymbol{X}\boldsymbol{\beta} ||^2 $$ 这里的$|\cdot|$表示Frobenius 范数或F-范数,是一种矩阵范数。
矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和,即 :
$$ ||A||F = \sqrt{\sum{i,j} |a_{ij}|^2} $$

这里$ a_{ij} $是矩阵 中第i行,第j列的元素。下标2可以省略,所以可以直接写成$ ||A|| $。

因为$ \boldsymbol{y} - \boldsymbol{X}\boldsymbol{\beta} $其实是一个列向量,所以它的F-范数的平方就是行向量乘以列向量,我们可以得到: $$ ||A||^2 = A^TA $$ 所以误差函数可以表示为: $$ || y - X\beta ||^2 = (y - X\beta)^T (y - X\beta) $$ 展开后得到: $$ (y - X\beta)^T (y - X\beta) = y^T y - y^T X\beta - (X\beta)^T y + (X\beta)^T X\beta $$ 然后得到: $$ (y - X\beta)^T (y - X\beta) = y^T y - y^T X\beta - \beta^TX^T y + \beta^T X^T X \beta $$ 这里$y^T X\beta $和$ \beta^TX^T y$ 都是$1 \times 1$的标量,对于标量,有$a^T = a$,因此$\beta^TX^T y = (\beta^TX^T y)^T = y^TX\beta $
合并同类项: $$ (y - X\beta)^T (y - X\beta) = y^T y - 2\beta^T X^Ty + \beta^T X^T X \beta $$ 我们有$Q$函数 $$ Q(\beta) = y^T y - 2\beta^T X^Ty + \beta^T X^T X \beta $$ ,我们可以通过对其求导来找到$min \beta$,这里涉及到了矩阵微积分 $$ \frac{\partial Q(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}}=2 \boldsymbol{X}^{T} \boldsymbol{X} \boldsymbol{\beta}-2 \boldsymbol{X}^{T} \boldsymbol{y} $$ 令$\frac{\partial Q(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}}=0$可得:
$$ \boldsymbol{X}^{T} \boldsymbol{X} \boldsymbol{\beta}=\boldsymbol{X}^{T} \boldsymbol{y} $$ 假设$\boldsymbol{X}^{T}X$是满秩的,因为$(\boldsymbol{X}^{T}X)^{-1}$存在,解得: $$ \boldsymbol{\beta} = (\boldsymbol{X}^{T}X)^{-1} \boldsymbol{X}^{T}\boldsymbol{y} $$

参考: