9.4 正则化、诊断与解释
OLS 会寻找平方误差最小的系数,却不会为系数大小收费。特征很多或高度相关时,多组系数组合可能产生相近预测;训练行稍有变化,权重就可能大幅跳动。正则化会改变目标函数,让模型偏好不那么极端的解,但惩罚强度必须由验证证据选择。
观察 Ridge 与 Lasso 系数沿 alpha 移动
岭回归(Ridge regression)加入 惩罚:
随着 增大,系数会连续收缩到零附近。Ridge 常让相关特征共享预测权重,改善数值条件并降低系数方差,代价是引入一定偏差。
套索回归(Lasso regression)加入 惩罚:
它的系数路径可以碰到精确零,从而产生稀疏模型。但稀疏不表示留下的变量就是真正原因。在高度相关的预测变量中,Lasso 可能只选择一个代表,并在不同折间改变选择。
alpha 是超参数。对 Ridge 与 Lasso 来说,更大值都表示更强收缩; 对应无惩罚目标,但要做精确 OLS 时应使用 LinearRegression。施加任何惩罚前,都应在 Pipeline 内缩放特征。
import numpy as np
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV, KFold
from sklearn.pipeline import Pipeline
ridge_pipeline = Pipeline([
("preprocess", preprocess),
("regressor", Ridge()),
])
cv = KFold(n_splits=5, shuffle=True, random_state=42)
search = GridSearchCV(
ridge_pipeline,
param_grid={
"regressor__alpha": np.logspace(-3, 3, 25),
},
scoring="neg_mean_absolute_error",
cv=cv,
refit=True,
)
search.fit(X_development, y_development)应在对数 alpha 轴上画两类联动曲线:
1. 每个标准化系数随 alpha 的变化;
2. 验证误差及其折间波动随 alpha 的变化。
正则化太弱时,方差可能仍然很高;太强时,系数整体坍缩,偏差会增大。真正有用的是一个稳定的验证误差谷底,而不一定是噪声曲线上最低的单个像素。最终测试集不能参与 alpha 选择。
弹性网络(Elastic Net)会组合 与 惩罚。如果需要稀疏性,而相关特征又让纯 Lasso 不稳定,它是合理的下一候选;但它也新增一个超参数,意味着选择过程更加复杂。
先用图形诊断预测,再解释系数
一个指标和一张系数表不能认证回归模型。应使用冻结验证预测或折外预测,形成紧凑诊断报告:
- 真实值—预测值图:点应贴近理想对角线;范围压缩、系统偏差与极端失败都会显现。
- 残差—预测值图:检查曲率、漏斗、组带,以及残差中心是否偏离零。
- 残差分布图:在保留目标单位的同时检查偏斜、重尾和少数大误差。
- 各折系数分布图:检查符号、大小与稳定性,不要只相信一次拟合。
scikit-learn 可以直接根据留出预测生成前两幅图:
import matplotlib.pyplot as plt
from sklearn.metrics import PredictionErrorDisplay
fig, axs = plt.subplots(
1, 2,
figsize=(11, 4.5),
layout="constrained",
)
PredictionErrorDisplay.from_predictions(
y_true=y_valid,
y_pred=y_pred,
kind="actual_vs_predicted",
ax=axs[0],
)
PredictionErrorDisplay.from_predictions(
y_true=y_valid,
y_pred=y_pred,
kind="residual_vs_predicted",
ax=axs[1],
)只有预测质量与稳定性可以接受后,才值得解释系数。多元回归系数表示在当前特征、转换、人群和正则化条件下的条件预测关联(conditional predictive association),并不会自动回答“运营者干预改变该特征会发生什么”。
任何系数图旁都应保留四项限制:
1. 尺度:原始系数大小依赖特征单位;标准化系数也依赖训练分布。
2. 相关性:相关预测变量可以交换权重,而整体预测保持稳定。
3. 遗漏变量:漏掉共同原因可能改变系数符号或大小。
4. 外推:线性方程会无限延伸,证据却只存在于已观测且与部署相关的范围。
如果转换目标,例如建模 log1p(y),报告分钟或金额误差前必须把预测映射回原尺度。TransformedTargetRegressor 可以把目标正向与逆向转换绑定到回归器。还要记住:最小化对数空间误差,与最小化原始空间平方误差表达的是不同权重偏好。
本章检查点
回归分析现在形成一条图形证据循环:
预测契约与数据划分
↓
编码、缩放后的 Pipeline
↓
在训练折内拟合 OLS/Ridge/Lasso
↓
MAE、RMSE、R² 与切片分布
↓
真实—预测、残差与系数路径图
↓
一次封存测试,以及明确的解释边界第 10 章会保留这种图形优先工作流,但把连续目标换成类别;届时决策边界与非对称分类错误将成为核心。