欢迎来到正则化(Regularisation)的世界!
你好!今天我们将深入探讨 CS2 机器学习课程中一个至关重要的部分:正则化(Regularisation)。如果你曾遇过模型在训练数据上表现完美,但一遇到新数据就惨不忍睹的情况,那么你已经碰上了过拟合(Overfitting)的问题。而正则化正是我们解决这个问题的秘密武器。
你可以把正则化想象成模型的“限速器”。它能防止模型变得过于复杂,避免它死记硬背数据中的噪声(noise),确保模型在现实世界的预测中依然有效。
什么是过拟合?为什么会发生?
在高度参数化(highly parameterised)的模型中(即包含大量变量或特征的模型),模型拥有很高的灵活性。它会试图穿过训练集中的每一个数据点。虽然听起来不错,但实际上这是一个问题。
比喻:想象你在准备考试,方法是把历届试题的答案一字不漏地背下来。如果真正的考试题目只是稍微改动了一下数字,你就会卡住,因为你没有学到背后的逻辑,只是背下了噪声。这就是过拟合。
快速回顾:偏差与方差的权衡(Bias-Variance Trade-off)
- 高方差(High Variance):模型对训练集中的细微波动太过敏感(过拟合)。
- 高偏差(High Bias):模型过于简单,未能捕捉到潜在的趋势(欠拟合 Underfitting)。
- 正则化能帮助我们找到“最佳平衡点”,通过稍微增加一点偏差,来大幅降低方差。
核心概念:加入惩罚项(Penalty)
在标准回归(例如普通最小二乘法 OLS)中,我们试图最小化残差平方和(Residual Sum of Squares, RSS):
\( RSS = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \)
而在正则化中,我们不仅关注误差,还关注系数(\(\beta\))的大小。我们会在成本函数中加入一个惩罚项。我们的新目标是最小化:
\( \text{Cost} = RSS + \text{Penalty} \)
通过对较大的系数进行惩罚,我们能抑制模型过度依赖单一特征,或变得过于复杂。
1. 岭回归(Ridge Regression,L2 正则化)
在岭回归中,惩罚项与系数的平方成正比。
公式:
\( \text{Minimise } \sum_{i=1}^{n} (y_i - \beta_0 - \sum_{j=1}^{p} \beta_j x_{ij})^2 + \lambda \sum_{j=1}^{p} \beta_j^2 \)
岭回归的关键特点:
- 使用 L2 范数(L2 norm)(平方项)。
- 它会将系数缩减至趋近于零,但永远不会使其完全变为零。
- 当你有许多变量,且每个变量对结果都有微小影响时,它非常有效。
如果数学看起来很吓人,别担心! 只要记住:岭回归会保留你所有的变量,但会调低它们的“音量”。
2. 套索回归(Lasso Regression,L1 正则化)
LASSO 的全称是最小绝对收缩与选择算子(Least Absolute Shrinkage and Selection Operator)。在这里,惩罚项与系数的绝对值成正比。
公式:
\( \text{Minimise } \sum_{i=1}^{n} (y_i - \beta_0 - \sum_{j=1}^{p} \beta_j x_{ij})^2 + \lambda \sum_{j=1}^{p} |\beta_j| \)
套索回归的关键特点:
- 使用 L1 范数(L1 norm)(绝对值)。
- 变量选择:与岭回归不同,套索回归可以强制某些系数完全变为零。
- 这有效地从你的模型中“删除”了无用的变量,留给你一个更简单、更容易解释的模型。
记忆小撇步:
Lasso = Less variables(变量较少,它会切掉不需要的变量!)
Ridge = Retains all variables(保留所有变量,只是让它们变小。)
关键重点:
如果你怀疑只有少数变量真正重要,请使用 Lasso。如果你认为所有变量都对结果有一点贡献,请使用 Ridge。
调控参数:Lambda (\(\lambda\))
无论在岭回归还是套索回归中,我们都有一个符号 \(\lambda\)。这被称为调控参数(tuning parameter)(或复杂度参数)。它控制我们对模型惩罚的程度。
\(\lambda\) 的运作方式:
- 如果 \(\lambda = 0\):惩罚项消失。我们回到了标准的 OLS 回归(过拟合风险高)。
- 如果 \(\lambda \to \infty\):惩罚变得极大。所有系数(截距项除外)都将收缩至零(欠拟合风险高)。
- 目标:我们使用交叉验证(Cross-Validation)等技术,找出能最小化测试误差的最佳 \(\lambda\) 值。
你知道吗?
在进行正则化之前,将数据进行标准化(Standardising)是必不可少的!因为我们在惩罚 \(\beta\) 的大小,如果变量的尺度不同(例如:年龄以年计算 vs. 薪资以千元计算),它们在没有调整到同一尺度时会受到不公平的惩罚。
常见错误提示
1. 忘记标准化:如上所述,请务必标准化你的预测变量,使它们的平均值为 0,标准差为 1。
2. 惩罚截距项:通常我们不会对截距项(\(\beta_0\))应用惩罚。我们希望模型可以自由地上下平移。
3. 以为 Lasso 总是更好:虽然 Lasso 提供了更简单的模型,但如果存在许多微小且活跃的信号,Ridge 在预测准确度上通常表现更好。
快速回顾区
正则化总结:
1. 目标:减少参数众多模型中的过拟合现象。
2. 方法:在 RSS 成本函数中加入惩罚项(\(\lambda\))。
3. 岭回归 (L2):将 \(\beta\) 缩减至接近零。保留所有变量。适合处理许多微小效应。
4. 套索回归 (L1):可将 \(\beta\) 缩减至精确为零。执行变量选择。适合稀疏效应。
5. 选择:使用交叉验证来选择最佳的 \(\lambda\)。
最后的鼓励
正则化是精算师机器学习工具箱中最实用的工具之一。它让我们从单纯地在图表上画出一条线,转向建立在未见过的数据上依然表现稳健的模型。请继续练习这些公式,并记住“限速器”的比喻——这一切都是为了掌控风险!