本文整理 CS229 课程中正则化与模型选择的核心内容,涵盖交叉验证、L1/L2 正则化、特征选择方法(wrapper / filter),以及从贝叶斯先验推导正则化的视角。
1. Model Selection
Train / Validation / Test Split
| 数据集 | 作用 |
|---|---|
| training set | 用来训练每个候选模型的参数 |
| validation set / dev set | 用来选择模型结构和超参数 |
| test set | 最后只用一次,用来估计最终模型的泛化性能 |
Cross Validation
如果数据量较小,单独划出 validation set 会让 training set 变小,导致训练不充分。这时可以用 cross validation。
Hold-out Validation
最简单的方法:随机拿出一部分数据作为 validation set,剩下作为 training set。
k-fold Cross Validation
更常用的是 k-fold cross validation。
步骤:
- 把训练数据分成
份: - 每次拿其中一份作为 validation set,剩下
份作为 training set - 训练
次,得到 个 validation errors - 平均这些误差作为该模型的 cross validation error:
然后选择最优模型:
优点: 每个样本都被用作 validation 一次,也大多时候参与 training,评估比单次 hold-out 更稳定。
常见取值:
Leave-one-out Cross Validation (LOOCV)
当
- 需要训练
次,计算代价大 - 估计方差可能较高,但训练数据利用率较高
2. Regularization
2.1 正则化要解决什么?
正则化的目标:在训练误差之外,额外惩罚模型复杂度,从而缓解 overfitting。
普通经验风险最小化:
加入正则化后:
其中
2.2 L2 Regularization / Ridge Regression
L2 正则使用
对于线性回归,
这也叫 ridge regression。
L2 正则的效果: 鼓励参数整体变小、使模型更平滑、降低 variance。通常不会让参数严格变成 0。
2.3 L2 正则的解析解
普通最小二乘解:
加入 L2 正则后,目标写为:
对
得到 ridge regression 的解析解:
为什么 L2 正则能防止过拟合? 如果模型想拟合训练集中的噪声,通常需要比较大的参数。L2 正则通过惩罚
- 几何上:L2 把可行参数限制在一个球形区域内
- 优化上:加上
后矩阵更容易可逆,缓解 不可逆或病态的问题
2.4 L1 Regularization / Lasso
L1 正则使用
在线性回归中,这叫 lasso regression。
L1 的效果: 鼓励稀疏解、会让很多参数直接变成 0、可用于 feature selection。
这与 L2 不同——L2 通常只是让参数变小但不会精确等于 0,而 L1 产生 sparse parameters。
为什么 L1 会产生稀疏解? 直觉上:
- L1 约束对应菱形区域:
- L2 约束对应圆形区域:
优化目标的等高线与 L1 菱形区域相切时,更容易切在坐标轴上(即某些参数为 0)。因此:L1 → sparse solution,L2 → shrinkage but not sparse。
3. Feature Selection
3.1 为什么需要特征选择?
特征太多可能导致模型复杂度高、容易 overfit、训练成本高、解释性差。特征选择的目标是自动选出一小部分有用特征。
3.2 Wrapper Model Feature Selection
核心思想:用模型性能作为特征子集的评价标准。对于每个特征子集,训练模型并计算 validation error。
但
Forward Search
- 从空特征集开始:
- 每次尝试加入一个当前不在
中的特征 - 选择使 validation error 降低最多的那个特征加入
- 重复,直到性能不再明显提升或达到预设特征数量
简记:start with no features, greedily add the best feature.
- 优点:比枚举所有子集便宜很多
- 缺点:贪心,可能不是全局最优;早期选错后面难以纠正
Backward Search
- 从所有特征开始:
- 每次尝试删除一个特征
- 删除后若 validation error 最小,则真正删除它
- 重复,直到性能下降明显或达到目标特征数
简记:start with all features, greedily remove the least useful feature.
- 优点:考虑特征间交互更多
- 缺点:特征数很大时初始训练成本高;也是贪心,不能保证全局最优
3.3 Filter Feature Selection
Filter method 不反复训练模型,而是直接用统计指标给特征打分。常见思路:计算每个特征和标签之间的相关性(如 mutual information、correlation、chi-square score),选择得分最高的若干特征。CS229 中强调 mutual information。
Mutual Information
互信息衡量两个变量之间的依赖程度:
若
特征选择时,计算
4. Bayesian Statistics and Regularization
这部分解释了 regularization 不只是工程技巧,也可以从 Bayesian prior 推导出来。
4.1 Frequentist vs Bayesian
- Frequentist view:参数
是固定但未知的量,数据是随机的,我们通过数据估计参数 - Bayesian view:参数
也被视为随机变量,我们可以给它设置一个 prior
看到数据后,根据 Bayes rule 得到 posterior:
其中
4.2 MLE vs MAP
MLE(maximum likelihood estimation):
Bayesian view 中加入 prior 得到 MAP(maximum a posteriori):
由 Bayes rule,
取 log:
等价于最小化
4.3 Gaussian Prior → L2 Regularization
假设参数先验为高斯分布
取 log 得
因此:Gaussian prior → MAP estimation → L2 regularization。
4.4 Laplace Prior → L1 Regularization
假设参数先验为 Laplace distribution:
取 log 得
因此:Laplace prior → MAP estimation → L1 regularization。
关键公式速查
| 名称 | 公式 |
|---|---|
| Model Selection | |
| k-fold CV | |
| Regularized Objective | |
| L2 / Ridge | |
| Ridge 解析解 | |
| L1 / Lasso | |
| MAP | |
| Gaussian Prior → L2 | |
| Laplace Prior → L1 |