1. 基本知识
1.1. 贝叶斯定理
- 先验分布 (Prior):
- 符号表示为: $θ∼π$。
- 这代表了在观测到任何数据之前,我们对未知参数 $θ$ 的信念。这个信念是用一个概率分布 $π(θ)$ 来量化的。
- 比如,在估计硬币正面朝上的概率 $θ$ 时,我们的先验可以是一个在[0, 1]区间上的均匀分布,表示我们认为所有概率值都是同等可能的。
- 似然函数 (Likelihood):
- 符号表示为: $:{X_1,...,X_n}|\theta\sim P_\theta$。
- 这描述了数据生成的机制。它告诉我们,如果参数 $θ$ 的真实值是某个特定值,那么我们观测到当前这组数据 ${X_1,...,X_n}$ 的可能性有多大。
- 似然函数 $P(X∣θ)$ 是一个关于 $X$ 的概率分布,但当数据 $X$ 固定下来之后,它被看作是关于未知参数 $θ$ 的函数,所以称为“似然函数” $L(θ;X)$。
后验分布的完整公式为: $$\pi(\theta|X_1,...,X_n)=\frac{\mathcal{L}(\theta;X_1,...,X_n)\pi(\theta)}{\int_\theta\mathcal{L}(\theta;X_1,...,X_n)\pi(\theta)d\theta}$$
1.2. 可信区间 (Credible interval)
对待“似然函数”的不同态度
- 频率派: 将似然函数仅仅看作是一个关于未知参数 $θ$ 的函数。它的主要作用是用来寻找使似然函数最大化的那个点,即“最大似然估计 (MLE)”,作为一个对 $θ$ 的点估计。
- 贝叶斯: 对似然函数的处理要更进一步。贝叶斯学派会用先验分布去“加权”这个似然函数,然后进行归一化(即除以证据因子,使其总积分为1),最终得到一个关于参数 $θ$ 的概率分布——也就是我们熟知的后验分布。在贝叶斯的世界里,似然函数是通往后验信念的桥梁,而不是终点。
一旦我们通过贝叶斯定理得到了后验分布 $π(θ∣X)$,我们就拥有了关于参数 $θ$ 的全部更新后的知识。
于这个完整的概率分布,我们可以构建一个区间,这个区间被称为可信区间或可信集 (credible sets)。它虽然是置信区间的“模拟物 (analogue)”,但两者非常不同。
可信区间的数学定义
一个覆盖率为 $1−α$(比如95%,此时$\alpha=0.05$)的可信区间 $C_α$,被定义为参数空间中的一个区域,该区域包含了后验概率分布中 $1−α$ 的总概率。其数学公式为: $$\int_{C_\alpha}\pi(\theta|X_1,...,X_n)d\theta=1-\alpha$$ 这个公式的意思是,将后验概率密度函数 $π(θ∣X)$ 在区间 $C_α$ 上进行积分,其面积恰好等于 $1−α$。
这里需要注意的是,可信区间和置信区间不是一个概念。
- 95% 可信区间 (Credible Interval) 的解释:
- “根据我的先验和观测到的数据,我有95%的信心相信,真实的未知参数 $θ$ 就落在这个区间之内。”
- 解读: 这是一个直接的、关于参数 $θ$ 的概率陈述。在贝叶斯框架下,参数 $θ$ 是一个随机变量,所以我们可以直接讨论它落在某个区间的概率。这个解释非常符合人类的直觉。
- 95% 置信区间 (Confidence Interval) 的解释:
- “如果我们反复进行这个实验(抽样并计算区间)无数次,那么由这个程序所构建出的无数个区间中,有95%的区间会包含那个固定的、真实的未知参数 $θ$。”
- 解读: 注意,这里概率95%描述的不是我们手头这个特定的区间,而是产生这个区间的那个方法的长期成功率。在频率派眼中,参数 $θ$ 是一个固定常数,它要么在你的区间里,要么不在,不存在“以95%的概率在里面”这种说法。我们只能对方法的可靠性有信心。
从一个后验分布中,其实可以构建出无数个满足“总概率为 $1−α$”的区间。在实践中,最常用的有两种:
- 等尾区间 (Equal-tailed Interval):
- 这是最简单的一种。我们直接“掐头去尾”,去掉后验分布左边 $α/2$ 的尾部和右边 $α/2$ 的尾部。
- 例如,对于95%可信区间,我们就找到后验分布的2.5%分位数和97.5%分位数,由它们构成的区间就是等尾区间。
- 优点: 计算简单。
- 缺点: 当后验分布是歪斜的(asymmetric)时,这个区间可能不是最短的,并且可能包含一些概率密度较低的点,却排除了概率密度较高的点。
- 最高后验密度区间 (Highest Posterior Density Interval, HPDI):
- HPDI被定义为满足总概率为 $1−α$ 的最短的区间。
- 这个区间还有一个很好的性质:区间内任何一点的概率密度,都高于区间外任何一点的概率密度。
- 优点: 长度最短,更有效地抓住了后验分布中“最可信”的区域。
- 缺点: 计算相对复杂,尤其对于多峰(multimodal)的后验分布。
1.3 伯恩斯坦-冯·米塞斯定理 (Bernstein-von Mises theorem)
这个定理的核心观点是:在某些“良好”的条件下,当数据量足够大时,贝叶斯推断得到的后验分布会越来越像一个正态分布(高斯分布)
定理的内容和条件
- 适用场景: 这个定理适用于“固定维度问题 (fixed-dimensional problems)”。这意味着我们估计的未知参数 $θ$ 的数量是固定的,不会随着数据量的增多而改变。
- 条件:
- 先验分布 $π(θ)$ 是连续的。
- 在真实的参数值 $θ_{true}$ 附近的一个小邻域内,先验概率必须严格大于零。这个条件非常合理,它只是要求我们的先验信念不能完全排除真实参数存在的可能性。
- 结论: 在满足以上条件时,随着样本量n的增大,我们的后验分布 $\pi(\theta|X_1,...,X_n)$ 会无限逼近一个正态分布。
- 这个正态分布的均值,恰好是频率派常用的最大似然估计 (MLE) $\hat{\theta}_n$。
- 这个正态分布的方差,则与费雪信息 (Fisher Information) 的逆相关。
这个“逼近”的过程可以用一个极限公式来精确描述: $$||\pi(\theta|X_1,...,X_n)-N\left(\hat{\theta}_n,\frac{I(\hat{\theta}n)^{-1}}{n}\right)||{TV}\to0$$ 我们来分解这个公式:
- $\pi(\theta|X_1,...,X_n)$: 贝叶斯后验分布。
- $N(\cdot,\cdot)$: 代表正态分布。
- $\hat{\theta}_n$: 最大似然估计,作为正态分布的均值。
- $I(\hat{\theta}_n)^{-1}/n$: 正态分布的方差。其中$I(\hat{\theta}_n)$ 是在最大似然估计点上计算出的“观测费雪信息量”。这里不需要深究其细节,只需要知道它是衡量数据中关于参数 $\theta$ 信息量的一个标准方法,并且最大似然估计的方差通常就用它来近似。
- $|\cdot|_{TV}$: 代表全变差距离 (total-variation distance),这是一种衡量两个概率分布之间差异的方式。
- $→0$: 表示随着样本量n的增大,这两个分布之间的距离趋向于0,意味着它们变得越来越难以区分。
全变差距离的定义: $$||p-q||_{TV}=\frac{1}{2}\int|p(x)-q(x)|dx$$ 想象两个概率密度函数的曲线 $p(x)$ 和 $q(x)$ 。这个距离衡量的是它们之间不重叠部分的总面积。如果两个分布完全一样,距离为0;如果完全不重叠,距离为1。
这个定理的结论是有严格适用边界的:
- 高维问题中的失效: 定理明确要求是“固定维度”问题。当模型的参数维度非常高,甚至会随着数据量而增长时(这在机器学习中非常普遍,例如,贝叶斯神经网络的权重参数,或高斯过程等无参数模型),伯恩斯坦-冯·米塞斯定理通常会失效。
- 失效的后果: 在这些高维和无参数模型中,先验分布的影响力不会随着数据量的增多而消失,它会持续地、系统性地影响后验分布的形态。此时,贝-叶斯方法和频率派方法可能会得出截然不同的结论。贝叶斯方法因其先验的“正则化”效应,在高维问题中往往能表现出独特的优势(如避免过拟合)。
1.4. 先验思路
选择先验是贝叶斯分析中最具特色、也最具争议的一步。目前主流的有三种思路:
- 渐近观点(先验不那么重要)
- 这实际上是在呼应我们之前讨论的伯恩斯坦-冯·米塞斯定理。
- 该观点认为,在参数维度固定、且样本量非常大的情况下,只要你选择的先验是“合理的”(即没有完全排除真实可能性),那么数据本身所包含的强大信息最终会压倒 (overwhelm) 你最初的先验信念。
- 在这种情况下,最终的后验分布会非常接近频率派的结论,因此先验的具体选择变得不那么关键。
- 本质: 这是一种“让数据说话”的极限思想,适用于“大数据”场景。
- 经验贝叶斯
- 它的做法是:利用数据本身来帮助确定先验分布中的超参数(即先验分布自己的参数)。例如,如果你的先验是一个$Beta(a, b)$ 分布,经验贝叶斯会尝试从数据中估计出 $a$ 和 $b$ 的最佳取值。
- 这通常是个好主意,因为它让先验更贴合数据。但它也引发了哲学上的争议,因为“正统”的贝叶斯主义者认为这违反了基本原则,先验应该在看到数据之前就确定下来。经验贝叶斯相当于“使用了数据两次”:一次用来定先验,一次用来和先验结合计算后验。因此,一些人认为它不严格遵循贝叶斯哲学。
- 无信息先验
- 无信息先验 (Non-informative priors),有时也称为“客观先验 (objective priors)”,其目标是构建一个能够尽可能少地影响后验分布的先验。
- 它的理想是让最终的推断结果完全由数据驱动,体现一种“客观性”,捕捉我们对参数“完全无知 (complete ignorance)”的状态。
- 例子: 比如在某个区间上使用均匀分布,或者之前在贝叶斯Bootstrap中遇到的那个不当先验 $Pr(\lambda)\propto\prod\lambda_k^{-1}$。著名的杰弗里斯先验 (Jeffreys prior) 也是这类先验的代表。
2. 正则化技术
2.1. 正则化和先验
许多在频率派机器学习中被广泛使用的正则化 (Regularization) 技术,在数学上可以被看作是采用了特定先验分布 (Prior) 的贝叶斯推断的某个特例。
- 岭回归 (Ridge Regression):它在线性回归的损失函数上增加了一个L2范数惩罚项。这等价于为回归系数 $β$ 设定了一个高斯分布 (Gaussian prior) 作为先验,然后去寻找后验分布的众数 (posterior mode)。
- LASSO回归: 它增加的是L1范数惩罚项。这等价于为回归系数 $β$ 设定了一个拉普拉斯分布 (Laplace prior) 作为先验,然后去寻找后验分布的众数。
贝叶斯推断的核心是寻找后验分布,而MAP估计的目标是最大化后验概率: $$\hat{\beta}{MAP}=\arg\max{\beta}P(\beta|\mathrm{Data})$$ 根据贝叶斯定理, $P(β∣Data)∝P(Data∣β)⋅P(β)$,其中 $P(Data∣β)$ 是似然, $P(β)$ 是先验。 最大化 $P(β∣Data)$ 等价于最大化其对数 $logP(Data∣β)+logP(β)$,也等价于最小化其负对数 $−logP(Data∣β)−logP(β)$。
在线性回归中,我们通常假设误差服从高斯分布,所以 −$log(似然)$ 部分正比于最小二乘的损失函数,$||y-X\beta||_2^2$。于是,MAP估计就变成了最小化: $$\text{损失函数}-\log(\text{先验})$$ 那么对两个具体先验:
岭回归 (Ridge) & 高斯先验:
- 高斯先验: $P(\beta)\propto\exp(-\frac{1}{2\sigma^2}||\beta||_2^2)$。
- 负对数先验: $-\log P(\beta)\propto||\beta||_2^2$。
- MAP目标: 最小化 $||y-X\beta||_2^2+\lambda||\beta||_2^2$ (这里的$\lambda与先验的方差\sigma^2$有关)。这正是岭回归的目标函数 。
LASSO & 拉普拉斯先验:
- 拉普拉斯先验: $P(\beta)\propto\exp(-\frac{1}{b}||\beta||_1)$。
- 负对数先验: $-\log P(\beta)\propto||\beta||_1$。
- MAP目标: 最小化$||y-X\beta||_2^2+\lambda||\beta||_1$ (这里的 $\lambda$ 与先验的尺度参数 $b$ 有关)。这正是LASSO的目标函数 。
这个等价性为我们理解正则化提供了强大的理论工具。我们不再仅仅把正则化看作是“一个防止过拟合的数学技巧”,而是可以将其理解为“我们对模型参数的先验信念的体现”。
![[Pasted image 20250913131454.png]]
这张图显示了标准正态分布和拉普拉斯分布,也就是分别代表了我们对回归系数 β 的两种不同的先验信念。
- 选择高斯先验 (Gaussian Prior),意味着相信系数 $β$ 是从蓝色曲线代表的分布中抽样出来的。
- 选择拉普拉斯先验 (Laplace Prior),意味着相信系数 $β$ 是从红色曲线代表的分布中抽样出来的。
观察这两条曲线的形状,我们可以发现两个关键的区别:
- 0点处的“尖峰” vs “圆顶”
- 高斯分布 (蓝色): 在 $β=0$ 处是一个平滑的、圆润的圆顶。
- 信念解读: 它认为系数等于0的可能性是最大的,但它也认为系数等于0.1或-0.1的可能性与等于0的可能性相差不大。它没有一个极其强烈的信念偏好让系数恰好等于0。
- 对应正则化 (Ridge/L2): 这种“圆顶”信念在优化过程中,会把系数向0“拉拢”,但由于在0附近非常平滑,它缺乏足够的“力量”将系数精确地压到0。因此,L2正则化只会让系数趋近于0,但通常不会等于0。它倾向于保留所有特征,但赋予它们较小的权重。
- 拉普拉斯分布 (红色): 在 $β=0$ 处是一个非常尖锐的尖峰。
- 信念解读: 这个尖峰代表了一种非常强烈的先验信念,即有相当大的可能性,一个系数的真实值就应该是0。它认为系数等于0的概率密度,要远远高于它等于一个很小的非零值(如0.01)的概率密度。
- 对应正则化 (LASSO/L1): 这种“尖峰”信念在优化过程中,就像一个强大的引力源,会把许多不那么重要的特征的系数直接吸到0。这就是为什么L1正则化能够产生稀疏解 (sparse solutions),即它能自动地进行特征选择,将一些特征的系数设置为0,从而简化模型。
- 尾部的“胖瘦”
- 仔细观察,当 ∣β∣ 变大时(例如大于2),红色的拉普拉斯分布曲线位于蓝色高斯分布曲线的上方。这意味着拉普拉斯分布的尾部更“胖” (fatter tails)。
- 信念解读: “胖尾”意味着拉普拉斯先验认为,出现绝对值非常大的系数的可能性,要比高斯先验认为的更高。
- 对应正则化行为:
- LASSO (L1): 它倾向于一个“稀疏”的世界观——大部分特征是无关的(系数为0),但少数几个真正重要的特征,其影响(系数的绝对值)可能非常大。因此,它在将小系数压向0的同时,对于那些真正有强信号的大系数,其惩罚力度相对较小。
- Ridge (L2): 它的尾部更“瘦”,意味着它极不情愿看到任何一个系数变得非常大。它的惩罚是平方项,所以对于大系数的惩罚会急剧增加。它倾向于一个平衡的世界观,所有特征都可能有点用,但没有哪个特征的作用是极端突出的。
2.2. 岭回归 (Ridge Regression)
这是标准线性回归的目标函数,即残差平方和 (Residual Sum of Squares, RSS)。 $$RSS=\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\right)^2$$
- $y_i$ 是第 $i$ 个样本的真实值。
- $(\beta_0+\sum_{j=1}^p\beta_jx_{ij})$ 是我们模型对第i个样本的预测值。
- 两者之差就是残差或误差。
- 最小二乘法的目标,就是寻找一组最优的系数 $β$,使得所有样本的残差平方和最小。
岭回归修改了上述的目标函数。它不再是单纯地最小化RSS,而是在此基础上增加了一个惩罚项 (penalty term)。岭回归的目标是最小化: $$\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\right)^2+\lambda\sum_{j=1}^p\beta_j^2$$
- 前半部分就是RSS,代表模型要拟合数据。
- 后半部分 $\lambda\sum_{j=1}^p\beta_j^2:$ 是新增的惩罚项,它被称为L2范数惩罚或岭惩罚。它会惩罚那些绝对值过大的系数。
- λ (lambda) 是一个调节参数 (tuning parameter),λ≥0。它控制着惩罚的强度,是我们人为设定的超参数。
- 当 λ=0 时,惩罚项消失,岭回归就退化成了普通的最小二乘法。
- 当 λ 越大时,我们对大系数的“容忍度”就越低,模型会更倾向于选择较小的系数。
岭回归的等价形式:约束优化
岭回归另一种等价的数学表达形式,即约束优化问题: $$\underset{\beta}{\operatorname*{\operatorname*{\mathrm{minimize}}}}\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\right)^2\quad\mathrm{subject~to}\quad\sum_{j=1}^p\beta_j^2\leq s$$
- 这种形式可以理解为:我们要在所有系数的平方和不超过某个预算 s 的前提下,尽可能地去最小化RSS。
- 调节参数 $λ$ 和预算 $s$ 是一一对应的关系:$λ$ 越大,相当于对系数的惩罚越重,也就等价于我们给定的预算 $s$ 越小。
标准的最小二乘法有两个主要问题,而岭回归正是为了解决它们:
- 过拟合 (Overfitting): 当特征数量 $p$ 很大,尤其是接近或超过样本数量 $n$ 时,最小二乘法会不惜一切代价去拟合训练数据,导致系数 $β$ 变得非常大且不稳定。这样的模型在训练集上表现很好,但在新的测试集上表现会很差(泛化能力差)。岭回归通过惩罚大系数,强迫模型变得更简单,从而提高其泛化能力。这是一个典型的偏差-方差权衡 (Bias-Variance Trade-off):我们愿意牺牲一点点在训练集上的拟合度(增加一点偏差),来换取模型在不同数据集上更稳定的表现(降低方差)。
- 多重共线性 (Multicollinearity): 当两个或多个特征高度相关时(比如同时引入“房屋面积”和“房屋平方米数”),最小二乘法的系数估计会变得极不稳定,微小的数据变动可能导致系数的正负号和大小发生剧烈变化,使得模型难以解释。岭回归的惩罚项能够有效地处理这个问题,它会倾向于将相关的特征赋予大小近似的系数,从而稳定最终的模型。
2惩罚项 $\sum\beta_j^2$ 会将模型的“总权重”分散到各个特征上。因为它惩罚的是系数的平方,所以它对特别大的系数值(比如 $β=10$)的惩罚,要远远重于对几个中等系数值(比如 $β_1=3,β_2=3,β_3=3,...$)的惩罚。
2.3. Lasso
2.3.1. Lasso的定义
Lasso回归的系数是通过最小化一个新的目标函数来确定的,这个目标函数是: $$\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\right)^2+\lambda\sum_{j=1}^p|\beta_j|$$
- 前半部分 依然是残差平方和 (RSS),代表模型要尽力拟合数据。
- 后半部分 $\lambda\sum_{j=1}^p|\beta_j|$ 是Lasso的惩罚项,它被称为L1范数惩罚。它惩罚的是系数的绝对值之和,而不是像岭回归那样惩罚平方和。
- λ 同样是一个控制惩罚强度的调节参数。
L1惩罚项的核心效应是稀疏性。这是Lasso最重要、最独特的性质。当调节参数 λ 足够大时,L1惩罚不仅仅是“收缩”系数,它能够强制性地将一些不那么重要的特征的系数变为精确的0。这个性质使得Lasso不仅仅是一个正则化工具,同时还是一个自动的特征选择 (feature selection) 工具。
和岭回归一样,Lasso也可以被写成一个约束优化问题: $$\underset{\beta}{\operatorname*{\operatorname*{\operatorname*{minimize}}}}\sum_{i=1}^n\left(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij}\right)^2\quad\mathrm{subject~to}\quad\sum_{j=1}^p|\beta_j|\leq s$$ 这种形式可以理解为:我们要在所有系数的绝对值之和不超过某个预算 s 的前提下,尽可能地去最小化RSS。
2.3.2. Lasso和Ridge的对比
为什么L1惩罚能产生稀疏性,而L2不能
- 岭回归 (L2): 它的约束条件是 $\sum\beta_j^2\leq s$,在二维空间 $(β_1,β_2)$ 中,这是一个圆形区域。
- Lasso (L1): 它的约束条件是 $\sum|\beta_j|\leq s$,在二维空间中,这是一个菱形(钻石形)区域,它有尖锐的角点。
- 最小化RSS的过程,可以想象成在参数空间中,有一组同心椭圆(RSS的等高线),我们想找到离椭圆中心(即最小二乘解)最近的、且在约束区域内的那个点。
- 对于岭回归: 膨胀的椭圆通常会与圆形约束区域相切在一个光滑的点上。在这个切点上,$β_1$ 和 $β_2$ 通常都不为0。
- 对于Lasso: 膨胀的椭圆有很大概率会首先碰到菱形约束区域的一个角点。而在这些角点上,必然有一个坐标轴的值为0(例如,在点 ($0, s)$ 处,$β_1=0$)。
- 正是L1约束区域的尖角,使得优化问题的解更容易出现在坐标轴上,从而导致某些系数变为0,产生稀疏性。
特征数量 $p$ 远大于样本数量 $n$ 时 $(p≫n)$ ,标准线性回归无法求解。Lasso在这种情况下非常有用,因为它可以从中选择出一个稀疏的、有意义的特征子集。例如,在基因组学中,可能有数万个基因(特征),但只有几百个样本,Lasso可以帮助识别出与某种疾病相关的少数几个关键基因。通过将大量无关特征的系数置为0,Lasso可以生成一个更简单、更易于向他人解释的模型。
![[Pasted image 20250913143731.png]]
系数路径图 (coefficient path plot)示例:
![[Pasted image 20250913144606.png]]
这张图包含了左右两个子图,它们共享相同的坐标轴含义:
- Y轴 (Standardized Coefficients): 代表模型中各个特征(自变量)的标准化系数。系数的绝对值大小反映了该特征在模型中的重要程度。
- X轴 (λ): 代表我们之前讨论的调节参数 (tuning parameter) λ。这个参数控制着正则化惩罚的强度。注意X轴是对数尺度,从左到右,λ的值在急剧增大,意味着惩罚力度也越来越强。
Lasso回归的系数路径
- λ很小 (最左侧): 当惩罚几乎为0时,Lasso回归的结果接近于普通最小二乘法,各个特征的系数值都比较大。
- 随着λ增大 (从左向右移动): 我们可以清晰地看到所有系数都被“压缩”,朝着0的方向移动。
- Lasso的核心特征: 最关键的现象发生了——许多系数的路径并不仅仅是靠近0,而是精确地抵达了0,并在X轴上不再变动。
- 比如,一些灰色的不重要特征很早就被置为0。
- 接着,
Student(学生) 和Limit(额度) 的系数也在λ增大的过程中被先后置为0。 - 当λ变得非常大时(比如超过2000),连最重要的特征之一
Rating(信用评分) 也被压缩至0。
- 这张图展示了Lasso的自动特征选择功能。随着惩罚增强,它会像一个“过滤器”一样,逐步将不重要的特征从模型中剔除出去(即系数置为0)。
岭回归 (Ridge) 的系数路径
- λ很小 (最左侧): 和Lasso一样,当惩罚很弱时,系数都比较大。
- 随着λ增大 (从左向右移动): 所有系数同样都被压缩,平滑地向0靠近。
- Ridge的核心特征: 最关键的区别在于,所有特征的系数路径都只是无限地趋近于0,但永远不会精确地等于0(除非λ为无穷大)。
- 岭回归是一个纯粹的“收缩 (shrinkage)”工具。它会降低所有特征的影响力(减小系数),但它不会将任何一个特征完全从模型中剔除。模型始终保留着所有的原始特征,只是它们的权重在不断变小。
2.3.3. Lasso的通用数学表述
我们定义一个通用的优化目标函数 $J(\mathbf{w})$ 。在机器学习中,我们通常需要最小化这个函数。 $$J(\mathbf{w})=\sum_{i=1}^n\ell(y_i,\mathbf{w}^\top\mathbf{x}_i)+\lambda||\mathbf{w}||_1$$ 这个目标函数由两部分构成:
- 数据误差项 (Error on data):$:\sum_{i=1}^n\ell(y_i,\mathbf{w}^\top\mathbf{x}_i)$
- 这里的 ℓ(⋅,⋅) 是一个损失函数 (loss function),它衡量的是模型对于单个样本的预测值 $(\mathbf{w}^\top\mathbf{x}i)$ 与真实值 $(y{i})$ 之间的差距。
- 这一整项代表了模型在训练数据上的拟合程度。我们当然希望这个误差越小越好
- 正则化项 (Regularization): $\lambda||\mathbf{w}||_1$
- 这一项是模型的惩罚项,它衡量的是模型本身的复杂度。在这里,复杂度是用模型权重向量 $w$ 的L1范数(即所有权重绝对值之和)来度量的。
- 这一项的存在,是为了防止模型变得过于复杂而产生过拟合。
将上述通用框架具体化到线性回归场景,就得到了Lasso的目标函数。Lasso估计量 $\hat{\beta}^{\mathrm{lasso}}$ 就是最小化以下函数的那个 $β$:
$$\hat{\beta}^{\mathrm{lasso}}=\underset{\beta\in\mathbb{R}^{p}}{\operatorname*{\operatorname*{\operatorname*{\operatorname*{argmin}}}}}||\mathbf{y}-X\beta||{2}^{2}+\lambda\sum{j=1}^{p}|\beta_{j}|$$ 这个公式可以进一步写成范数的形式: $$=\underset{\mathrm{Loss}}{\operatorname*{\operatorname*{\operatorname*{\operatorname*{argmin}}}}}\underbrace{||\mathbf{y}-X\beta||{2}^{2}}{\mathrm{Loss}}+\underbrace{\lambda||\beta||{1}}{\mathrm{Penalty}}$$
- 损失项 (Loss): 在Lasso回归中,我们选用的具体损失函数 $ℓ$ 是平方损失 (squared loss)。$||\mathbf{y}-X\beta||_2^2$ 就是我们熟悉的残差平方和 (RSS)。
- 惩罚项 (Penalty): 惩罚项就是系数向量 $β$ 的L1范数乘以调节参数 λ。
2.3.4. Lasso导出稀疏性
让我们考虑一个简单的一维优化问题: $$\min_{x\in\mathbb{R}}\frac{1}{2}x^2-xy+\lambda|x|$$ 这个公式是Lasso目标函数 在求解过程中针对单个系数进行优化时的“原型”。
- $\frac{1}{2}x^2-xy$:这一部分可以看作是最小二乘损失项 $||y-X\beta||_2^2$ 的一个简化版或二阶泰勒展开。这里的 $x$ 代表我们要优化的单个系数,而 $y$ 代表了在固定其他系数时,这个系数与模型残差的相关性。最小化这一项会使得 $x$ 趋向于 $y$。
- $\lambda|x|$:L1惩罚项,它会把 x 往0的方向拉。
这个优化问题的解是一个非常著名的函数,叫做软阈值 (soft thresholding) 函数。
最优解 $x^∗$ 的表达式为:$x^*=\mathrm{sign}(y)(|y|-\lambda)_+$
- $sign(y)$: 取 $y$ 的符号(如果 $y>0$ 则为1,$y<0$ 则为-1)。这保证了最优解 $x^∗$ 的符号与 $y$ 相同。
- $∣y∣−λ$: 将 $y$ 的绝对值向0的方向收缩 (shrink) $λ$ 个单位。
- $(⋅)+$: 这个下标“$+$”表示取正部分,即如果括号内的值为正,则取其值;如果为负,则取0。
图示如下:
![[Pasted image 20250913150425.png]]
当 y 的绝对值不够大时(即 $∣y∣≤λ$),$∣y∣−λ$ 的结果是负数或0。经过 $(⋅)+$ 操作后,最终的解 $x^∗$ 就等于0。这正是稀疏性的数学根源。 L1惩罚创造出了一个“不应期”,只有当一个变量与残差的相关性(由 $y$ 代表)足够强,能够“突破”阈值 $λ$ 时,它的系数才能变为非零。
当 $∣y∣>λ$ 时,系数 $x^∗$ 的值等于 $y$ 减去(或加上)一个 $λ$。这对应图中的两条斜率为1的红色线段。它同时体现了收缩(离虚线 $y=x$ 有一个固定的距离)和符号保持。
这个软阈值公式,实际上是许多高效求解Lasso问题的算法的核心计算单元。
- 坐标下降法 (Coordinate Descent): 这是求解Lasso最常用的算法之一。它的工作方式是:
- 固定住除了第一个系数 $β_1$ 之外的所有其他系数。
- 此时,多维的Lasso目标函数就简化成了一个关于 β1 的一维二次问题,其形式与图完全一样。
- 我们可以直接使用软阈值公式一步到位地更新出 $β_1$ 的最优解。
- 接着,固定其他系数,用同样的方法更新 $β_2$,然后是 $β_3$...
- 不断地循环迭代更新所有系数,直到最终收敛。
2.4. 弹性网络 (Elastic Net)
弹性网络估计量 $\hat{\beta}$ 的优化目标是通过最小化一个组合了L1和L2惩罚项的函数来得到的: $$\hat{\beta}=\underset{\beta}{\operatorname*{\operatorname*{\operatorname*{\mathrm{argmin}}}}}(||y-X\beta||^2+\lambda_2||\beta||_2^2+\lambda_1||\beta||_1)$$
- $||y-X\beta||^2$: 损失项,即残差平方和 (RSS)。
- $\lambda_2||\beta||_2^2$: 来自岭回归的L2惩罚项。
- $\lambda_1||\beta||_1$: 来自Lasso的L1惩罚项。
弹性网络非常直观,它就是简单地将岭回归和Lasso的惩罚项直接加在一起。它有两个独立的调节参数,$λ_1$ 和 $λ_2$,分别控制L1和L2惩罚的强度。
![[Pasted image 20250913151436.png]]
左图清晰地对比了三种约束区域的边界:
- L1 (深蓝色): 是一个有尖锐角点的菱形。
- L2 (青色): 是一个光滑的圆形。
- Elastic Net (橙色): 它的形状介于菱形和圆形之间。它既有L2圆形的“圆润”特性(边界是凸的曲线),又有L1菱形的“尖角”特性(在坐标轴上仍然有角,尽管不如纯L1那样尖锐)。
右图展示了损失函数的等高线(红绿直线)与弹性网络约束区域的接触情况:
- 由于弹性网络的边界“亦方亦圆”,使得它的解既可能像Lasso一样,精确地落在角点上(从而将某个系数置为0),也可能像Ridge一样,落在光滑的边界上。
弹性网络的提出,主要是为了克服Lasso回归在某些场景下的两个主要缺点:
处理高度相关特征时的不稳定性:
- 当数据中有一组特征高度相关时(比如“房屋面积”、“卧室数量”、“客厅面积”),Lasso倾向于随机地从这组特征中选择一个,并将其余特征的系数置为0。具体选择哪一个,会因为数据的微小扰动而发生改变,这使得模型不稳定且难以解释。
- 弹性网络的优势: 由于包含了L2惩罚项(岭回归的特性),弹性网络在处理相关特征时,会表现出“分组效应 (grouping effect)”。它倾向于将这组相关的特征作为一个整体,要么都选入模型(赋予它们大小近似的系数),要么都从模型中剔除。这种行为通常更符合我们的业务直觉,也使得模型更加稳健。
特征数量p远大于样本数量n时的局限性:
- 在 p>n 的高维场景下(例如基因数据分析),Lasso回归最多只能选择出n个非零系数的特征。如果真实的模型中重要的特征超过n个,Lasso就无法将它们全部找出。
- 弹性网络的优势: 弹性网络没有这个限制,它可以选择出超过n个的特征,这在许多高维稀疏问题中是一个巨大的优势。
弹性网络的目标函数有两个调节参数 $λ_1$ 和 $λ_2$,直接对二维网格进行搜索调优会比较低效。在实践中,我们通常将目标函数重新参数化为: $$\mathrm{minimize}\left(||y-X\beta||^2+\lambda\left(\alpha||\beta||_1+\frac{1-\alpha}{2}||\beta||_2^2\right)\right)$$
- $λ$: 控制总的正则化强度。
- $α∈[0,1]$: 控制L1和L2惩罚之间的混合比例。
- 当 α=1 时,弹性网络退化为Lasso回归。
- 当 α=0 时,弹性网络退化为岭回归。
- 当 0<α<1 时,就是弹性网络。
这样,我们只需要在二维空间 $(λ,α)$ 中通过交叉验证来寻找最优的超参数组合。通常,我们会先固定几个 $\alpha$ 值(如0.1,0.5,0.9),然后对每个 $\alpha$ 值寻找最优的 $\lambda$。