机器学习基础——线性回归数学原理

33 阅读4分钟

线性回归

对于给定数据集D={(xi,yi)}i=1mD=\{(\mathbf x_i,y_i)\}_{i=1}^m,其中xi=(xi1,xi2,...,xid),yiR\mathbf x_i=(x_{i1},x_{i2},...,x_{id}),y_i\in\mathbb R。线性回归的目的是找到一个函数

f(x)=wTx+bf(\mathbf x)=\mathbf w^T\mathbf x+b

使得线性模型的预测值f(x)f(\mathbf x)与真实值yy尽可能接近。通常选用均方误差来判断其接近程度,即

E(f;D)=1mi=1m(f(xi)yi)2=1mi=1m(wTxi+byi)2\begin{equation} \begin{aligned} E(f;D)&=\frac1m\sum_{i=1}^m(f(\mathbf x_i)-y_i)^2\\ &=\frac1m\sum_{i=1}^m(\mathbf w^T\mathbf x_i+b-y_i)^2 \end{aligned} \end{equation}

当均方误差最小时,即可求得最优线性回归模型。此时

(w,b)=argminw,bE(w,b)=argminw,bi=1m(f(xi)yi)2=argminw,bi=1m(wTxi+byi)2\begin{equation} \begin{aligned} (\mathbf w^*,b^*)&=\arg\min_{\mathbf w,b}E(\mathbf w,b)\\ &=\arg\min_{\mathbf w,b}\sum_{i=1}^m(f(\mathbf x_i)-y_i)^2\\ &=\arg\min_{\mathbf w,b}\sum_{i=1}^m(\mathbf w^T\mathbf x_i+b-y_i)^2 \end{aligned} \end{equation}

w,b\mathbf w^*,b^*表示w,b\mathbf w,b的解。我们只需要求得均方误差EE在最小值时的w,b\mathbf w,b值,因此均方误差的常数项1m\frac1m可忽略。

一元线性回归

当数据集中xi\mathbf x_i的维度为1时,即xi=(xi)\mathbf x_i=(x_i),此时xx为标量,则对于给定数据集D={(xi,yi)}i=1mD=\{(x_i,y_i)\}_{i=1}^m,线性回归给出的模型为

f(x)=wx+b\begin{equation} f(x)=wx+b \end{equation}

此时ww也是标量。易证E(w,b)=i=1m(wxi+byi)2E(w,b)=\sum_{i=1}^m(wx_i+b-y_i)^2w,bw,b均为开口向上且恒大于0的二次函数,因此我们可以使用二次函数对称轴公式或求导来确定该函数的最小值。这里选择求导的方法。将E(w,b)E(w,b)分别对w,bw,b求导:

E(w,b)w=2i=1m(wxi+byi)xi=2[wi=1mxi2i=1m(yib)xi]E(w,b)b=2i=1m(wxi+byi)=2[mbi=1m(yiwxi)]\begin{equation} \begin{aligned} \frac{\partial E(w,b)}{\partial w}&=2\sum_{i=1}^m(wx_i+b-y_i)x_i\\ &=2\left[w\sum_{i=1}^m x_i^2-\sum_{i=1}^m(y_i-b)x_i\right]\\ \frac{\partial E(w,b)}{\partial b}&=2\sum_{i=1}^m(wx_i+b-y_i)\\ &=2\left[mb-\sum_{i=1}^m(y_i-wx_i)\right] \end{aligned} \end{equation}

令上式等于0,得到

b=1mi=1m(yiwxi)=yˉwxˉw=i=1m(xixˉ)(yiyˉ)i=1m(xixˉ)2=i=1m(xiyi)mxˉyˉi=1mxi2mxˉ2\begin{equation} \begin{aligned} b&=\frac1m\sum_{i=1}^m(y_i-wx_i)=\bar y-w\bar x\\ w&=\frac{\sum_{i=1}^m(x_i-\bar x)(y_i-\bar y)}{\sum_{i=1}^m(x_i-\bar x)^2}=\frac{\sum_{i=1}^m(x_iy_i)-m\bar x\bar y}{\sum_{i=1}^m x_i^2-m\bar x^2} \end{aligned} \end{equation}

一元线性回归.png 特别的,对于x=x0x=x_0(x0x_0是常数)这类直线,斜率ww无法被表示,因此回归方程不存在。

多元线性回归

最小二乘法

对概述中的式子,我们令

X=[x11x12x1d1x21x22x2d1xm1xm2xmd1]=[x1T1x2T1xmT1],y=[y1y2ym],w^=[wb]\begin{equation} \mathbf X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1\\ x_{21} & x_{22} & \cdots & x_{2d} & 1\\ \vdots & \vdots & \ddots & \vdots & \vdots\\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \end{bmatrix}=\begin{bmatrix} \mathbf x_1^T & 1\\ \mathbf x_2^T & 1\\ \vdots & \vdots\\ \mathbf x_m^T & 1 \end{bmatrix},\mathbf y=\begin{bmatrix} y_1\\ y_2\\ \vdots\\ y_m \end{bmatrix},\mathbf{\hat w}=\begin{bmatrix} \mathbf w\\ b \end{bmatrix} \end{equation}

f(x)=wTx+b=Xw^w^=argminw^E(w^)=argminw^(yXw^)T(yXw^)\begin{equation} \begin{aligned} f(\mathbf x)&=\mathbf w^T\mathbf x+b=\mathbf{X\hat w}\\ \mathbf{\hat w}^*&=\arg\min_{\mathbf{\hat w}}E(\mathbf{\hat w})\\ &=\arg\min_{\mathbf{\hat w}}(\mathbf y-\mathbf{X\hat w})^T(\mathbf y-\mathbf{X\hat w})\\ \end{aligned} \end{equation}

EEw^\mathbf{\hat w}求导得

E(w^)w^=2XT(Xw^y)\begin{equation} \frac{\partial E(\mathbf{\hat w})}{\partial \mathbf{\hat w}}=2\mathbf X^T(\mathbf{X\hat w}-\mathbf y) \end{equation}

XTXX^TX是满秩矩阵时,令上式等于0可得

w^=(XTX)1XTy\begin{equation} \mathbf{\hat w}=\left(\mathbf X^T\mathbf X\right)^{-1}\mathbf X^T\mathbf y \end{equation}

将其代入一元线性回归,仍有效。 二元线性回归.gif

过拟合与正则化

在多元线性回归中,当特征维度dd较大而样本量mm相对不足时,最小二乘法容易出现过拟合(Overfitting)现象。过拟合是指模型在训练集上表现很好(均方误差很小),但在未知数据上泛化能力差。

造成过拟合的常见原因包括:

  1. 特征过多或特征之间高度相关:导致XTX\mathbf X^T\mathbf X接近奇异矩阵(不满秩),最小二乘解不稳定。
  2. 模型复杂度过高:参数过多使得模型倾向于拟合训练数据中的噪声。

为了缓解过拟合,常用手段是正则化(Regularization):在损失函数中增加一个关于模型参数的惩罚项,限制参数的大小,从而降低模型复杂度。一般化的正则化目标函数为:

w^=argminw^[(yXw^)2+λΩ(w^)]\begin{equation} \hat{\mathbf w}^*=\arg\min_{\hat{\mathbf w}}\left[(\mathbf y-\mathbf{X\hat w})^2+\lambda\Omega(\hat{\mathbf w})\right] \end{equation}

其中λ0\lambda\geq 0为正则化系数(超参数),Ω(w^)\Omega(\hat{\mathbf w})为惩罚项。λ\lambda越大,对参数的约束越强;λ=0\lambda=0时退化为普通最小二乘法。

根据惩罚项Ω(w^)\Omega(\hat{\mathbf w})的不同选取,可以得到不同的正则化方法。常见的有以下几种:

  • L1正则化Ω(w^)=w^1=j=1dw^j\Omega(\hat{\mathbf w})=\|\hat{\mathbf w}\|_1=\sum_{j=1}^{d}|\hat w_j|,对应LASSO回归。
  • L2正则化Ω(w^)=w^22=w^Tw^=j=1dw^j2\Omega(\hat{\mathbf w})=\|\hat{\mathbf w}\|_2^2=\hat{\mathbf w}^T\hat{\mathbf w}=\sum_{j=1}^{d}\hat w_j^2,对应岭回归。
  • 弹性网络(Elastic Net):同时结合L1和L2正则化:
Ω(w^)=αw^1+1α2w^22,α[0,1]\begin{equation} \Omega(\hat{\mathbf w})=\alpha\|\hat{\mathbf w}\|_1+\frac{1-\alpha}{2}\|\hat{\mathbf w}\|_2^2,\quad\alpha\in[0,1] \end{equation}

正则化的几何解释

正则化的效果可以通过约束形式(而非拉格朗日形式)直观理解。以二维权重(w1,w2)(w_1,w_2)为例:

  • 蓝色椭圆代表最小二乘损失的等高线,椭圆中心w^LS\hat{\mathbf w}_{LS}为无正则化时的最优解。
  • 彩色区域代表正则化约束(限制w^\hat{\mathbf w}的范围),正则化回归的解就是等高线与约束区域的切点

l1_l2_geometry_demo.png λ\lambda越大,约束区域越小,正则化回归的解离OLS最优解越远:

lambda_effect_demo.png

如上图所示:

  • L2正则化(圆形约束):切点通常不在坐标轴上,即w10w_1\neq 0w20w_2\neq 0,权重被压缩但不会为零。
  • L1正则化(菱形约束):由于菱形存在"尖角"(顶点在坐标轴上),等高线更容易在顶点处与菱形相切,使得某个权重恰好为零(图中w1=0w_1=0),从而产生稀疏解。

LASSO回归

LASSO(Least Absolute Shrinkage and Selection Operator)回归在最小二乘损失的基础上增加L1正则化项,其目标函数为:

w^=argminw^12(yXw^)2+λw^1\begin{equation} \hat{\mathbf w}^*=\arg\min_{\hat{\mathbf w}}\frac12(\mathbf y-\mathbf{X\hat w})^2+\lambda\|\hat{\mathbf w}\|_1 \end{equation}

其中λ>0\lambda>0为正则化系数,w^1=j=0dw^j\|\hat{\mathbf w}\|_1=\sum_{j=0}^{d}|\hat w_j|为权重向量的L1范数(包含偏置b=w^d+1b=\hat w_{d+1}或不包含均可,通常不对偏置做正则化)。

L1正则化的几何解释

L1正则化的等值线为菱形(如二维时为旋转45°45°的正方形)。当等值线与最小二乘损失的等高线(椭圆)相切时,切点更容易落在坐标轴上,这意味着某些特征的权重恰好为0。因此LASSO回归具有特征选择(Feature Selection)的能力——它能自动将不重要的特征权重压缩为零,从而得到稀疏模型。

L1正则化的特点

  1. 稀疏性:倾向于产生稀疏解,自动进行特征选择。
  2. 无可解析解:由于L1范数的绝对值函数在零点不可导,LASSO没有像最小二乘法那样的闭式解,通常需要使用坐标下降法(Coordinate Descent)或近端梯度下降法(Proximal Gradient Descent)等迭代算法求解。
  3. 适用场景:当特征维度很高、怀疑大部分特征与目标无关时,LASSO回归尤为适用。

坐标下降法求解

坐标下降法的基本思想是:每次固定除一个变量外的所有变量,对这一个变量进行一维优化,交替进行直至收敛。对于LASSO回归中的第jj个权重w^j\hat w_j,更新公式为(省略偏置项的推导):

w^jS(i=1mxij(yikjxikw^k),λ)i=1mxij2\begin{equation} \hat w_j\leftarrow\frac{S\left(\sum_{i=1}^m x_{ij}(y_i-\sum_{k\neq j}x_{ik}\hat w_k),\lambda\right)}{\sum_{i=1}^m x_{ij}^2} \end{equation}

其中S(z,λ)S(z,\lambda)软阈值函数(Soft Thresholding):

S(z,λ)=sign(z)max(zλ,0)={zλ,z>λ0,zλz+λ,z<λ\begin{equation} S(z,\lambda)=\text{sign}(z)\cdot\max(|z|-\lambda,0)= \begin{cases} z-\lambda,&z>\lambda\\ 0,&|z|\leq\lambda\\ z+\lambda,&z<-\lambda \end{cases} \end{equation}

岭回归

岭回归(Ridge Regression)在最小二乘损失的基础上增加L2正则化项,其目标函数为:

w^=argminw^(yXw^)2+λw^22\begin{equation} \hat{\mathbf w}^*=\arg\min_{\hat{\mathbf w}}(\mathbf y-\mathbf{X\hat w})^2+\lambda\|\hat{\mathbf w}\|_2^2 \end{equation}

其中λ>0\lambda>0为正则化系数,w^22=w^Tw^=j=0dw^j2\|\hat{\mathbf w}\|_2^2=\hat{\mathbf w}^T\hat{\mathbf w}=\sum_{j=0}^{d}\hat w_j^2为权重向量的L2范数的平方。

闭式解

与LASSO不同,岭回归的目标函数是二次的、可微的,因此存在闭式解。将目标函数对w^\hat{\mathbf w}求导并令其等于0:

w^[(yXw^)2+λw^Tw^]=2XT(yXw^)+2λw^=0\begin{equation} \frac{\partial}{\partial\hat{\mathbf w}}\left[(\mathbf y-\mathbf{X\hat w})^2+\lambda\hat{\mathbf w}^T\hat{\mathbf w}\right]=-2\mathbf X^T(\mathbf y-\mathbf{X\hat w})+2\lambda\hat{\mathbf w}=\mathbf 0 \end{equation}

整理得:

(XTX+λI)w^=XTy\begin{equation} (\mathbf X^T\mathbf X+\lambda\mathbf I)\hat{\mathbf w}=\mathbf X^T\mathbf y \end{equation}

因此岭回归的闭式解为:

w^=(XTX+λI)1XTy\begin{equation} \hat{\mathbf w}^*=\left(\mathbf X^T\mathbf X+\lambda\mathbf I\right)^{-1}\mathbf X^T\mathbf y \end{equation}

其中I\mathbf I(d+1)×(d+1)(d+1)\times(d+1)的单位矩阵。在普通最小二乘法中,闭式解为w^=(XTX)1XTy\hat{\mathbf w}^*=(\mathbf X^T\mathbf X)^{-1}\mathbf X^T\mathbf y,要求XTX\mathbf X^T\mathbf X可逆。然而,当特征之间存在共线性(某些列线性相关),或特征维度dd大于样本数mm时,XTX\mathbf X^T\mathbf X将不满秩,即存在为零的特征值,导致矩阵不可逆(奇异)。岭回归通过在XTX\mathbf X^T\mathbf X的对角线上添加λI\lambda\mathbf I,对所有特征值进行了"抬升":设XTX\mathbf X^T\mathbf X的特征值为μ1,μ2,,μd+1\mu_1,\mu_2,\dots,\mu_{d+1}(均0\geq 0),则XTX+λI\mathbf X^T\mathbf X+\lambda\mathbf I的特征值为μ1+λ,μ2+λ,,μd+1+λ\mu_1+\lambda,\mu_2+\lambda,\dots,\mu_{d+1}+\lambda。由于λ>0\lambda>0

μj+λ>0,j=1,2,,d+1\mu_j+\lambda>0,\quad \forall\, j=1,2,\dots,d+1

因此即使某些μj=0\mu_j=0(矩阵奇异),加扰动后所有特征值都严格大于零XTX+λI\mathbf X^T\mathbf X+\lambda\mathbf I变为正定矩阵,逆矩阵始终存在。此外,当XTX\mathbf X^T\mathbf X接近奇异(某些μj0\mu_j\approx 0)时,(μj)1(\mu_j)^{-1}极大,解的数值极不稳定;添加λ\lambda后,(μj+λ)1(\mu_j+\lambda)^{-1}被限制在1λ\frac{1}{\lambda}以内,显著提升了数值稳定性。这也是岭回归被称为"收缩方法"的原因——较大的特征值对应的权重受影响较小,而较小的特征值对应的权重被显著收缩。

L2正则化的几何解释

L2正则化的等值线为圆形(球面),当与最小二乘损失的等高线相切时,切点不会落在坐标轴上,因此权重不会恰好为零。L2正则化的作用是将所有权重均匀地向零收缩,但不会产生稀疏解。

L2正则化的特点

  1. 权重收缩:所有权重被均匀压缩,但不会变为零,因此不具备特征选择能力。
  2. 数值稳定性:通过λI\lambda\mathbf I保证XTX+λI\mathbf X^T\mathbf X+\lambda\mathbf I可逆,解决了共线性问题(多重共线性下XTX\mathbf X^T\mathbf X的某些特征值接近0,导致解不稳定)。
  3. 有闭式解:计算高效,无需迭代。
  4. 适用场景:当特征之间存在较强的多重共线性,或希望保留所有特征而只控制模型复杂度时,岭回归是更好的选择。

弹性网络

弹性网络(Elastic Net)是LASSO回归和岭回归的结合,它同时在目标函数中加入L1和L2正则化项,其目标函数为:

w^=argminw^12m(yXw^)2+λ[αw^1+1α2w^22]\begin{equation} \hat{\mathbf w}^*=\arg\min_{\hat{\mathbf w}}\frac{1}{2m}(\mathbf y-\mathbf{X\hat w})^2+\lambda\left[\alpha\|\hat{\mathbf w}\|_1+\frac{1-\alpha}{2}\|\hat{\mathbf w}\|_2^2\right] \end{equation}

其中:

  • λ0\lambda\geq 0为整体正则化强度,控制正则化项的总体大小。
  • α[0,1]\alpha\in[0,1]为L1与L2的混合比例:
    • α=1\alpha=1时,退化为LASSO回归。
    • α=0\alpha=0时,退化为岭回归。
    • 0<α<10<\alpha<1时,同时包含L1和L2正则化的效果。

与LASSO和岭回归的关系

弹性网络旨在克服LASSO回归的两个局限性:

  1. LASSO的样本选择局限:当特征数dd大于样本数mm时(d>md>m),LASSO最多只能选择mm个特征。弹性网络不受此限制,能够选择超过mm个特征。
  2. LASSO的共线性处理:当存在一组高度相关的特征时,LASSO倾向于从中随机选择一个而忽略其余。弹性网络则会倾向于同时保留整组相关特征(类似于岭回归的分组效应),同时仍保持一定的稀疏性。

求解方法

弹性网络同样没有闭式解,常用的求解方法为坐标下降法。对于第jj个权重w^j\hat w_j,更新公式为:

w^jS(i=1mxij(yikjxikw^k),λα)i=1mxij2+λ(1α)\begin{equation} \hat w_j\leftarrow\frac{S\left(\sum_{i=1}^m x_{ij}(y_i-\sum_{k\neq j}x_{ik}\hat w_k),\lambda\alpha\right)}{\sum_{i=1}^m x_{ij}^2+\lambda(1-\alpha)} \end{equation}

其中S(z,)S(z,\cdot)仍为软阈值函数,与LASSO的区别在于分母增加了λ(1α)\lambda(1-\alpha)项(来自L2正则化的贡献),使得权重更新更加稳定。

弹性网络的特点

  1. 兼具稀疏性与稳定性:L1正则化提供特征选择能力(稀疏性),L2正则化提供权重的稳定性(处理共线性)。
  2. 分组效应:对于高度相关的特征组,弹性网络倾向于同时保留或同时剔除,而非像LASSO那样随机选取一个。
  3. 超参数调优:需要同时调整λ\lambdaα\alpha两个超参数,通常通过交叉验证(如网格搜索)来选择最优组合。
  4. 适用场景:当特征维度高、特征之间存在分组相关性(多共线性),且同时希望进行特征选择时,弹性网络是理想的选择。

三种正则化方法的比较

LASSO回归岭回归弹性网络正则化项λw^1λw^22λ[αw^1+1α2w^22]特征选择可以不可以可以闭式解求解方法坐标下降法矩阵求逆坐标下降法共线性处理随机选一个均匀收缩分组保留超参数λλλ,α适用场景高维稀疏特征共线性高维+共线性\begin{array}{lccc} \hline & \text{LASSO回归} & \text{岭回归} & \text{弹性网络} \\ \hline \text{正则化项} & \lambda\|\hat{\mathbf w}\|_1 & \lambda\|\hat{\mathbf w}\|_2^2 & \lambda[\alpha\|\hat{\mathbf w}\|_1+\frac{1-\alpha}{2}\|\hat{\mathbf w}\|_2^2] \\ \text{特征选择} & \text{可以} & \text{不可以} & \text{可以} \\ \text{闭式解} & \text{无} & \text{有} & \text{无} \\ \text{求解方法} & \text{坐标下降法} & \text{矩阵求逆} & \text{坐标下降法} \\ \text{共线性处理} & \text{随机选一个} & \text{均匀收缩} & \text{分组保留} \\ \text{超参数} & \lambda & \lambda & \lambda,\alpha \\ \text{适用场景} & \text{高维稀疏} & \text{特征共线性} & \text{高维+共线性} \\ \hline \end{array}

下面以20维特征、4个真实非零特征的模拟数据为例,对比三种方法的权重分布(红色虚线标记真实非零特征位置):

sparse_comparison_demo.png

从图中可以直观看出:

  • OLS:所有特征都分配了非零权重,存在过拟合风险。
  • 岭回归:所有权重被压缩,但均不为零,不具备特征选择能力。
  • LASSO:大部分权重被压缩为零,仅保留少数非零权重,实现了特征选择。