Jaison's ink

Back

Regularization and Model Selection#

有的时候,我们既不知道要选什么模型,也不知道要选什么样的超参数,以至于深受bias、variance这一对孪生魔鬼的困扰。
本章介绍了保留交叉验证、k-折交叉验证等验证方式,包装器、过滤器等特征选择方法(用于防止特征太多过拟合),最后介绍了贝叶斯统计(某种程度上是一种正则化方法)。
本章内容主要就围绕评估模型效果和防止过拟合展开。

过滤器特征选择中的“互信息”作为一种启发式算法,为什么是有效且合理的?#

原文:
通常(尤其当特征 xix_i 为离散值(discrete-valued features))选择 xix_iyy 的互信息( mutual information, MI(xi,y){\rm{MI}}(x_i, y) ) 来作为 S(i)S(i)(评分) 。

MI(xi,y)=xi{0,1}y{0,1}p(xi,y)logp(xi,y)p(xi)p(y){\rm{MI}}(x_i, y)=\sum_{x_i\in\{0, 1\}}\sum_{y\in\{0,1\}}p(x_i,y)\log\frac{p(x_i,y)}{p(x_i)p(y)}

%% 这个公式就像是从天上掉下来的。 %%

我们可以仔细观察一下,这个公式实际上很好地评估了yyxix_i这两个变量之间的相关度。
我们知道,假如yyxix_i变量是独立的,有公式:
p(xi,y)=p(xi)p(y){p(x_i,y)} = {p(x_i)p(y)}
那么log里面就会是1,整个评分就会是0。(很低)但如果两者不独立,那么越是不独立,p(xi,y)p(x_i,y)就越高,分数也就越高。
公式最外层的 两个求和符号 是在求这个信息量的“期望值”(加权平均)。它综合考虑了 xix_i​ 和 yy 所有可能取值组合的情况,最终得出一个总的互信息分值。

贝叶斯统计中的单点估计#

啥叫做“把对 θ\theta 的后验分布(正如等式(2)(2)中所示)替换为一个单点估计”?

%%我觉得原note作为写得非常非常好的note,比较欠缺的一点就是经常抛出一个公式,但是缺少对公式为什么合理、公式从直观意义上意味着什么的解释%%
后验分布

p(θS)=p(Sθ)p(θ)p(S)=(i=1mp(y(i)x(i),θ))p(θ)θ(i=1mp(y(i)x(i),θ)p(θ))dθ(1)\begin{aligned} p(\theta|S) &=\frac{p(S|\theta)p(\theta)}{p(S)}\\ &=\frac{(\prod_{i=1}^{m}p(y^{(i)}|x^{(i)},\theta))p(\theta)}{\int_{\theta} {\left(\prod_{i=1}^{m}p(y^{(i)}|x^{(i)},\theta)p(\theta)\right)}d\theta}\qquad (1) \end{aligned} p(yx,S)=θp(yx,θ)p(θS)dθ(2)p(y|x,S)=\int_\theta p(y|x,\theta)p(\theta|S)d\theta\qquad (2)

单点估计

θMAP=argmaxθi=1mp(y(i)x(i))p(θ)(3)\theta_{MAP}=\arg \max_\theta \prod_{i=1}^{m} p(y^{(i)}|x^{(i)})p(\theta) \quad (3)

计算后验分布相当于根据p(θS)p(\theta|S)来判断每个θ\theta的权重,从而在预测当中按照这个权重来综合各个θ\theta的预测。
单点分布类似于最大似然估计,其中 p(y(i)x(i))\prod p(y^{(i)}|x^{(i)}) 是似然项,而 p(θ)p(\theta) 是先验项。增加了p(θ)p(\theta)这一项,这本质上是做了正则化。(后面会有公式展示)

为了计算方便,我们通常对(3)这个式子取对数,变成求和的形式:

θMAP=argmaxθ(i=1mlogp(y(i)x(i))+logp(θ))\theta_{MAP}=\arg \max_\theta \left( \sum_{i=1}^{m} \log p(y^{(i)}|x^{(i)}) + \log p(\theta) \right)

这里的 logp(θ)\log p(\theta) 就等价于我们常见的正则化项!
也就是说,现在模型不再像最大似然估计那样“无底线地取悦训练数据”,去不断地放大θ\theta导致过拟合。因为我们现在有了对θ\theta的先验分布,假如模型偏离太远,就会受到惩罚。

而这里是L2正则化还是L1正则化则取决于p(θ)p(\theta)采用什么样的先验分布。

L2正则化 VS L1正则化#

这里是填一个坑(我前面那篇解读似乎跳过了这一点并承诺以后再讲)
我们的老朋友Gemini Pro在这方面解释得非常好,那这一part就交给他了。
plaintext

在机器学习中,L1 (Lasso) 和 L2 (Ridge) 正则化是两种用于防止模型过拟合、提升泛化能力的核心技术。它们的所有差异都源于其惩罚项的数学形式。

名字的由来

  • Ridge (岭回归): 名字源于其数学原理。它通过在矩阵 (X^T X) 的对角线上加入一个正数 λI(如同垫上了一条“山岭”)来解决多重共线性问题,使求解过程更稳定。
  • Lasso (套索回归): 名字是一个巧妙的英文缩写比喻,全称为 Least Absolute Shrinkage and Selection Operator (最小绝对值收缩和选择算子)。它像“套索”一样能精准地“套住”并筛选出最重要的特征。

L2 正则化 (Ridge Regression)#

L2正则化的核心是为损失函数增加一个权重平方和的惩罚项。

J(W)=Loss(W)+λiwi2J(W) = \text{Loss}(W) + \lambda \sum_{i} w_i^2

这个公式中的 λ Σ w_i^2 就是L2惩罚项,它会为模型的最终目标带来以下一系列特性:

  • 核心作用:权重衰减 (Weight Decay)
    由于惩罚项是权重的平方,模型会倾向于让所有权重都尽可能地小,但又很难让它们精确地等于0。这就像让所有权重“集体缩水”,从而降低模型的复杂度,使其对数据中的噪声不那么敏感。

  • 数学解释 (从导数看)
    L2惩罚项对权重 w_i 的导数是 2λw_i。这意味着:

    • 惩罚的力度与权重 w_i 的大小成正比。
    • w_i 趋近于0时,其导数也趋近于0,惩罚力度变得非常微弱。因此,它只会让权重无限接近0,但很难抵达0。
  • 几何解释 (从约束空间看)
    L2的约束空间 Σ w_i^2 ≤ C 是一个圆形(或高维球面)。它的边界平滑,当损失函数的等高线与这个圆形区域相切时,切点(最优解)极少会恰好落在坐标轴上,因此所有权重通常都是非零的。

  • 适用场景

    • 作为通用的正则化方法,在大多数情况下表现良好。
    • 当你认为数据中所有特征都对结果有贡献时。
    • 处理特征之间高度相关(多重共线性)的问题时,L2比L1更稳定。

L1 正则化 (Lasso Regression)#

L1正则化的核心是为损失函数增加一个权重绝对值之和的惩罚项。

J(W)=Loss(W)+λiwiJ(W) = \text{Loss}(W) + \lambda \sum_{i} |w_i|

这个公式中的 λ Σ|w_i| 就是L1惩罚项,它的“绝对值”特性赋予了模型完全不同的行为:

  • 核心作用:特征选择 (Feature Selection) 与稀疏性
    L1惩罚项能够将许多不重要的特征权重精确地压缩到0。这相当于自动从模型中剔除了这些特征,从而产生一个“稀疏”(sparse)模型,使模型更简单、更具解释性。

  • 数学解释 (从导数看)
    L1惩罚项对权重 w_i 的导数是 λ·sgn(w_i)(一个固定值)。这意味着:

    • 惩罚的力度是恒定的,与权重 w_i 本身的大小无关。
    • 即使 w_i 已经很小,它依然会受到一个固定的力度被推向0,最终能够跨过0点,变为精确的0
  • 几何解释 (从约束空间看)
    L1的约束空间 Σ|w_i| ≤ C 是一个菱形(或高维多面体)。它的边界有尖锐的顶点,且这些顶点恰好位于坐标轴上。当损失函数的等高线与这个菱形区域相交时,交点(最优解)有极大概率落在这些顶点上,从而导致某些权重为0。

  • 适用场景

    • 当特征数量非常多,且你怀疑只有少数特征是真正重要的时候。
    • 当你的目标是简化模型、提高可解释性,想知道哪些特征是关键因素时。
CS229 notes5 Regularization and Model Selection 解读
https://astro-pure.js.org/blog/cs229-notes5-regularization-and-model-selection/article
Author Jaison
Published at September 18, 2025
Loading comments…