跳转至

正则化

引入

线性回归中,我们只考虑了自变量对因变量的作用,但是没考虑自变量之间的关系。

\[ Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \ldots + \beta_p X_{ip} + e_i \]

\(Y_i\) 的值可分解为两部分,一部分是由自变量的线性函数决定的,另一部分是不能由自变量决定的残差 \(e_i\)

\(\beta_j\)\(X_j\) (\(j=1,2,\ldots,p\)) 对 \(Y\) 的偏回归系数(partial regression coefficient),又简称为回归系数。它表示在其他自变量固定不变的情况下,\(X_j\) 每改变一个测量单位时所引起的应变量 \(Y\) 的平均改变量。

\[ \hat{\beta} = (X^T X)^{-1} X^T y \]

导致 \(\text{rank}(X) < p\) 的原因一般有两种:

  1. 样本数小于特征数量。
  2. 即使样本数较多,但变量(特征)之间存在线性关系。

正则化

一、什么是正则化

对损失函数(目标函数)加入一个惩罚项,使得模型由多解变为更倾向其中一个解。

二、什么是正则化项

在代价函数后面加上一个对参数的约束项,这个约束项被叫做正则化项。

  • 加上所有参数的 绝对值之和,即L₁范数,此时叫做 Lasso回归

    由于正则项的不可微分性,更容易导致某些参数变为零,从而实现 特征选择→(把重要的挑出来) - 加上所有参数的 平方和,即L₂范数,此时叫做 岭回归

    则倾向于 保留所有 特征,但会缩小那些对模型贡献较小的特征的系数。

\[ \sum_{i=1}^n \left(y_i - \sum_{j=0}^p w_j x_{ij}\right)^2 + \lambda \sum_{j=0}^p w_j^2 $$ $$ \|Xw - y\|_2^2 + \lambda w^T w $$ $$ \hat{\beta}(\lambda) = (X^T X + \lambda I)^{-1} X^T y \]

满秩,保证了可逆。但 \(\beta\) 不再是无偏估计。

流程

1.数据预处理

2.选择超参数 α(正则化强度)

超参数 α(也称为 λ)决定了正则化项在损失函数中的权重。

一般使用 K 折交叉验证来确定最优的 α 值:

通过将数据集分成 K 个子集,每次用 K-1 个子集进行训练,剩下的一个子集进行验证,循环 K 次后计算平均验证误差,选择使验证误差最小的 α 值作为最优参数。

岭回归(Ridge)

训练 Ridge 模型

计算回归系数

进行预测

计算误差(MSE, RMSE)

系数不会变为 0:岭回归通过缩小系数的值来降低模型的复杂度,但不会将系数缩到 0。

Lasso 回归(Lasso)

训练 Lasso 模型

计算回归系数

进行预测

计算误差(MSE, RMSE)

部分系数变为 0:Lasso 回归可以将一些系数缩到 0,从而实现特征选择。