想象一下,你正在学习一门新的语言,如果你把遇到的每一个句子都完全背诵下来,你可能在重复那些句子时表现完美,但面对新的句子时却束手无策。这就是机器学习中"过拟合"的本质。正则化就像是告诉模型"不要记住每个细节,而要学会概括规律"的一种机制。
从数学角度看,正则化通过在原始损失函数中添加一个惩罚项来实现这个目标。标准的正则化目标函数可以写作:
J ( θ ) = L ( θ ) + λ R ( θ ) J(\theta) = L(\theta) + \lambda R(\theta) J(θ)=L(θ)+λR(θ)
其中 L ( θ ) L(\theta) L(θ)是原始的损失函数(比如均方误差), R ( θ ) R(\theta) R(θ)是正则化项(对模型复杂度的惩罚), λ \lambda λ是正则化强度参数。这个简单的公式背后蕴含着深刻的统计学原理。
从贝叶斯统计的角度理解,正则化实际上是在参数上施加先验分布。L2正则化对应于参数的高斯先验分布,而L1正则化对应于拉普拉斯(双指数)先验分布。这种统计解释为我们理解不同正则化方法的行为提供了理论基础。
L1正则化,又称为Lasso(Least Absolute Shrinkage and Selection Operator),是最优雅的特征选择方法之一。它的目标函数为:
β ^ lasso = arg min β { 1 2 n ∥ y − X β ∥ 2 2 + λ ∥ β ∥ 1 } \hat{\beta}_{\text{lasso}} = \arg\min_\beta \left\{\frac{1}{2n}\|y - X\beta\|_2^2 + \lambda\|\beta\|_1\right\} β^lasso=argβmin{2n1∥y−Xβ∥22+λ∥β∥1}
这里的 ∥ β ∥ 1 = ∑ ∣ β j ∣ \|\beta\|_1 = \sum|\beta_j| ∥β∥1=∑∣βj∣表示参数的L1范数,即所有参数绝对值的和。
L1范数在零点处不可微分,需要使用次梯度理论。对于函数 f ( β ) = ∥ β ∥ 1 f(\beta) = \|\beta\|_1 f(β)=∥β∥1,其次梯度为:
∂ f ( β j ) = { + 1 , if β j > 0 [ − 1 , 1 ] , if β j = 0 − 1 , if β j < 0 \partial f(\beta_j) = \begin{cases} +1, & \text{if } \beta_j > 0 \\ [-1,1], & \text{if } \beta_j = 0 \\ -1, & \text{if } \beta_j < 0 \end{cases} ∂f(βj)=⎩ ⎨ ⎧+1,[−1,1],−1,if βj>0if βj=0if βj<0
完整的Lasso目标函数的次梯度为:
∂ J ( β ) ∂ β j = 1 n X j T ( X β − y ) + λ ∂ ∥ β ∥ 1 ∂ β j \frac{\partial J(\beta)}{\partial \beta_j} = \frac{1}{n}X_j^T(X\beta - y) + \lambda\frac{\partial\|\beta\|_1}{\partial \beta_j} ∂βj∂J(β)=n1XjT(Xβ−y)+λ∂βj∂∥β∥1
最优性条件要求 0 ∈ ∂ J ( β ) 0 \in \partial J(\beta) 0∈∂J(β),这导致了著名的KKT条件:
当 β j ≠ 0 \beta_j \neq 0 βj=0时: 1 n X j T ( X β − y ) + λ sign ( β j ) = 0 \frac{1}{n}X_j^T(X\beta - y) + \lambda\text{sign}(\beta_j) = 0 n1XjT(Xβ−y)+λsign(βj)=0
当 β j = 0 \beta_j = 0 βj=0时: ∣ 1 n X j T ( X β − y ) ∣ ≤ λ \left|\frac{1}{n}X_j^T(X\beta - y)\right| \leq \lambda n1XjT(Xβ−y) ≤λ
对于第j个坐标,固定其他参数,残差为: r j = y − ∑ k ≠ j X k β k r_j = y - \sum_{k \neq j}X_k\beta_k rj=y−∑k=jXkβk
单变量优化问题变为: min β j { 1 2 n ∥ r j − X j β j ∥ 2 + λ ∣ β j ∣ } \min_{\beta_j} \left\{\frac{1}{2n}\|r_j - X_j\beta_j\|^2 + \lambda|\beta_j|\right\} minβj{2n1∥rj−Xjβj∥2+λ∣βj∣}
求导并应用软阈值算子:
β ^ j = S ( X j T r j / n , λ ) X j T X j / n \hat{\beta}_j = \frac{S(X_j^Tr_j/n, \lambda)}{X_j^TX_j/n} β^j=XjTXj/nS(XjTrj/n,λ)
其中软阈值算子的完整形式为:
S ( z , γ ) = { z − γ , if z > γ 0 , if ∣ z ∣ ≤ γ z + γ , if z < − γ S(z, \gamma) = \begin{cases} z - \gamma, & \text{if } z > \gamma \\ 0, & \text{if } |z| \leq \gamma \\ z + \gamma, & \text{if } z < -\gamma \end{cases} S(z,γ)=⎩ ⎨ ⎧z−γ,0,z+γ,if z>γif ∣z∣≤γif z<−γ
L1正则化的约束区域 C = { β : ∥ β ∥ 1 ≤ t } C = \{\beta : \|\beta\|_1 \leq t\} C={β:∥β∥1≤t}形成一个交叉多面体。在d维空间中,这个区域有 2 d 2^d 2d个顶点,每个顶点对应一个稀疏解。椭圆形损失函数等高线方程为:
( β − β ^ ols ) T X T X ( β − β ^ ols ) = c (\beta - \hat{\beta}_{\text{ols}})^TX^TX(\beta - \hat{\beta}_{\text{ols}}) = c (β−β^ols)TXTX(β−β^ols)=c
稀疏解出现的概率与约束区域的"尖锐性"相关。对于L1球,在顶点附近的立体角测度远大于面或边上的测度,这解释了为什么稀疏解更容易出现。
Lasso的解路径 β ( λ ) \beta(\lambda) β(λ)是分段线性的。在区间 [ λ k + 1 , λ k ] [\lambda_{k+1}, \lambda_k] [λk+1,λk]内,活跃集 A ( λ ) = { j : β j ( λ ) ≠ 0 } A(\lambda) = \{j : \beta_j(\lambda) \neq 0\} A(λ)={j:βj(λ)=0}保持不变,解的形式为:
β A ( λ ) = ( X A T X A ) − 1 ( X A T y − λ s A ) \beta_A(\lambda) = (X_A^T X_A)^{-1}(X_A^T y - \lambda s_A) βA(λ)=(XATXA)−1(XATy−λsA)
其中 s A ∈ { − 1 , + 1 } ∣ A ∣ s_A \in \{-1,+1\}^{|A|} sA∈{−1,+1}∣A∣是活跃变量的符号向量。路径的转折点 λ k \lambda_k λk通过以下条件确定:
在实际应用中,L1正则化在高维数据场景下表现卓越。比如在基因组学研究中,研究人员面对包含20,000多个基因的数据集,需要识别出与疾病相关的关键基因。Lasso能够从这庞大的特征空间中自动选出50-100个最重要的基因,既保持了预测精度,又大大提高了模型的可解释性。
Ridge回归通过L2正则化实现参数收缩,其目标函数为:
β ^ ridge = arg min β { 1 2 n ∥ y − X β ∥ 2 2 + λ ∥ β ∥ 2 2 } \hat{\beta}_{\text{ridge}} = \arg\min_\beta \left\{\frac{1}{2n}\|y - X\beta\|_2^2 + \lambda\|\beta\|_2^2\right\} β^ridge=argβmin{2n1∥y−Xβ∥22+λ∥β∥22}
这里 ∥ β ∥ 2 2 = ∑ β j 2 \|\beta\|_2^2 = \sum\beta_j^2 ∥β∥22=∑βj2是参数的L2范数的平方。
对目标函数求偏导数并令其为零:
∂ J ( β ) ∂ β = 1 n X T ( X β − y ) + λ β = 0 \frac{\partial J(\beta)}{\partial \beta} = \frac{1}{n}X^T(X\beta - y) + \lambda\beta = 0 ∂β∂J(β)=n1XT(Xβ−y)+λβ=0
重新整理得到:
1 n X T X β + λ β = 1 n X T y \frac{1}{n}X^TX\beta + \lambda\beta = \frac{1}{n}X^Ty n1XTXβ+λβ=n1XTy
( 1 n X T X + λ I ) β = 1 n X T y \left(\frac{1}{n}X^TX + \lambda I\right)\beta = \frac{1}{n}X^Ty (n1XTX+λI)β=n1XTy
因此闭式解为:
β ^ ridge = ( 1 n X T X + λ I ) − 1 1 n X T y = ( X T X + n λ I ) − 1 X T y \hat{\beta}_{\text{ridge}} = \left(\frac{1}{n}X^TX + \lambda I\right)^{-1}\frac{1}{n}X^Ty = (X^TX + n\lambda I)^{-1}X^Ty β^ridge=(n1XTX+λI)−1n1XTy=(XTX+nλI)−1XTy
设X的奇异值分解为 X = U D V T X = UDV^T X=UDVT,其中 U ∈ R n × p U \in \mathbb{R}^{n \times p} U∈Rn×p, D = diag ( d 1 , d 2 , … , d p ) D = \text{diag}(d_1, d_2, \ldots, d_p) D=diag(d1,d2,…,dp), V ∈ R p × p V \in \mathbb{R}^{p \times p} V∈Rp×p。
普通最小二乘解为: β ^ ols = ( X T X ) − 1 X T y = V D − 1 U T y \hat{\beta}_{\text{ols}} = (X^TX)^{-1}X^Ty = VD^{-1}U^Ty β^ols=(XTX)−1XTy=VD−1UTy
Ridge解可以表示为:
β ^ ridge = V ( D 2 + n λ I ) − 1 D U T y = V ∑ i d i 2 d i 2 + n λ U i T y v i \hat{\beta}_{\text{ridge}} = V(D^2 + n\lambda I)^{-1}DU^Ty = V\sum_i\frac{d_i^2}{d_i^2 + n\lambda}U_i^Ty v_i β^ridge=V(D2+nλI)−1DUTy=Vi∑di2+nλdi2UiTyvi
这里的收缩因子 f i ( λ ) = d i 2 d i 2 + n λ f_i(\lambda) = \frac{d_i^2}{d_i^2 + n\lambda} fi(λ)=di2+nλdi2揭示了Ridge的本质:
Ridge回归的有效自由度定义为:
df ( λ ) = tr ( H λ ) = tr ( X ( X T X + n λ I ) − 1 X T ) = ∑ i d i 2 d i 2 + n λ \text{df}(\lambda) = \text{tr}(H_\lambda) = \text{tr}(X(X^TX + n\lambda I)^{-1}X^T) = \sum_i \frac{d_i^2}{d_i^2 + n\lambda} df(λ)=tr(Hλ)=tr(X(XTX+nλI)−1XT)=i∑di2+nλdi2
这个量度量了模型的复杂度。当 λ → 0 \lambda \to 0 λ→0时, df ( λ ) → p \text{df}(\lambda) \to p df(λ)→p;当 λ → ∞ \lambda \to \infty λ→∞时, df ( λ ) → 0 \text{df}(\lambda) \to 0 df(λ)→0。
对于Ridge估计,偏差的平方为:
Bias 2 [ β ^ ridge ] = ∥ V ( D 2 + n λ I ) − 1 n λ I β true ∥ 2 = n 2 λ 2 ∥ ∑ i 1 d i 2 + n λ β true , i v i ∥ 2 \text{Bias}^2[\hat{\beta}_{\text{ridge}}] = \left\|V(D^2 + n\lambda I)^{-1}n\lambda I \beta_{\text{true}}\right\|^2 = n^2\lambda^2\left\|\sum_i\frac{1}{d_i^2 + n\lambda}\beta_{\text{true},i} v_i\right\|^2 Bias2[β^ridge]= V(D2+nλI)−1nλIβtrue 2=n2λ2 i∑di2+nλ1βtrue,ivi 2
方差为:
Var [ β ^ ridge ] = σ 2 tr ( V ( D 2 + n λ I ) − 1 D 2 ( D 2 + n λ I ) − 1 V T ) = σ 2 ∑ i d i 2 ( d i 2 + n λ ) 2 \text{Var}[\hat{\beta}_{\text{ridge}}] = \sigma^2\text{tr}(V(D^2 + n\lambda I)^{-1}D^2(D^2 + n\lambda I)^{-1}V^T) = \sigma^2\sum_i \frac{d_i^2}{(d_i^2 + n\lambda)^2} Var[β^ridge]=σ2tr(V(D2+nλI)−1D2(D2+nλI)−1VT)=σ2i∑(di2+nλ)2di2
从贝叶斯角度,Ridge回归等价于在参数上施加高斯先验:
β ∼ N ( 0 , 1 λ I ) \beta \sim \mathcal{N}\left(0, \frac{1}{\lambda}I\right) β∼N(0,λ1I)
似然函数为: p ( y ∣ β ) ∝ exp ( − ∥ y − X β ∥ 2 2 σ 2 ) p(y|\beta) \propto \exp\left(-\frac{\|y - X\beta\|^2}{2\sigma^2}\right) p(y∣β)∝exp(−2σ2∥y−Xβ∥2)
后验分布为:
p ( β ∣ y ) ∝ exp ( − ∥ y − X β ∥ 2 2 σ 2 − λ ∥ β ∥ 2 2 ) p(\beta|y) \propto \exp\left(-\frac{\|y - X\beta\|^2}{2\sigma^2} - \frac{\lambda\|\beta\|^2}{2}\right) p(β∣y)∝exp(−2σ2∥y−Xβ∥2−2λ∥β∥2)
最大后验估计正是Ridge解。后验均值为:
E [ β ∣ y ] = ( σ − 2 X T X + λ I ) − 1 σ − 2 X T y \mathbb{E}[\beta|y] = (\sigma^{-2}X^TX + \lambda I)^{-1}\sigma^{-2}X^Ty E[β∣y]=(σ−2XTX+λI)−1σ−2XTy
当 X T X X^TX XTX接近奇异时,其条件数 κ ( X T X ) = d 1 2 / d p 2 \kappa(X^TX) = d_1^2/d_p^2 κ(XTX)=d12/dp2很大。Ridge通过添加 λ I \lambda I λI改善条件数:
κ ( X T X + λ I ) = d 1 2 + λ d p 2 + λ ≤ d 1 2 + λ λ \kappa(X^TX + \lambda I) = \frac{d_1^2 + \lambda}{d_p^2 + \lambda} \leq \frac{d_1^2 + \lambda}{\lambda} κ(XTX+λI)=dp2+λd12+λ≤λd12+λ
这确保了数值稳定性。从矩阵扰动理论,参数估计的相对误差界为:
∥ β ^ − β true ∥ ∥ β true ∥ ≤ κ ( X T X + λ I ) ⋅ (相对数据误差) \frac{\|\hat{\beta} - \beta_{\text{true}}\|}{\|\beta_{\text{true}}\|} \leq \kappa(X^TX + \lambda I) \cdot \text{(相对数据误差)} ∥βtrue∥∥β^−βtrue∥≤κ(XTX+λI)⋅(相对数据误差)
在金融建模中,经济指标如GDP、失业率和通胀率往往高度相关。Ridge回归能够在这些相关因素之间分配预测能力,在经济环境发生变化时提供更稳定的预测。
Elastic Net巧妙地结合了L1和L2的优势,其目标函数为:
β ^ enet = arg min β { 1 2 n ∥ y − X β ∥ 2 2 + λ [ α ∥ β ∥ 1 + ( 1 − α ) ∥ β ∥ 2 2 ] } \hat{\beta}_{\text{enet}} = \arg\min_\beta \left\{\frac{1}{2n}\|y - X\beta\|_2^2 + \lambda[\alpha\|\beta\|_1 + (1-\alpha)\|\beta\|_2^2]\right\} β^enet=argβmin{2n1∥y−Xβ∥22+λ[α∥β∥1+(1−α)∥β∥22]}
其中 α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]控制L1和L2之间的混合比例。
引入拉格朗日乘子,Elastic Net的对偶问题涉及复杂的约束优化。原问题可以重新表述为:
min β 1 2 n ∥ y − X β ∥ 2 subject to α ∥ β ∥ 1 + ( 1 − α ) ∥ β ∥ 2 ≤ t \min_\beta \frac{1}{2n}\|y - X\beta\|^2 \quad \text{subject to} \quad \alpha\|\beta\|_1 + (1-\alpha)\|\beta\|^2 \leq t βmin2n1∥y−Xβ∥2subject toα∥β∥1+(1−α)∥β∥2≤t
设 λ 1 = λ α \lambda_1 = \lambda\alpha λ1=λα, λ 2 = λ ( 1 − α ) \lambda_2 = \lambda(1-\alpha) λ2=λ(1−α),KKT条件为:
对于 β j > 0 \beta_j > 0 βj>0: 1 n X j T ( y − X β ) = λ 1 + 2 λ 2 β j \frac{1}{n}X_j^T(y - X\beta) = \lambda_1 + 2\lambda_2\beta_j n1XjT(y−Xβ)=λ1+2λ2βj
对于 β j < 0 \beta_j < 0 βj<0: 1 n X j T ( y − X β ) = − λ 1 + 2 λ 2 β j \frac{1}{n}X_j^T(y - X\beta) = -\lambda_1 + 2\lambda_2\beta_j n1XjT(y−Xβ)=−λ1+2λ2βj
对于 β j = 0 \beta_j = 0 βj=0: ∣ 1 n X j T ( y − X β ) ∣ ≤ λ 1 \left|\frac{1}{n}X_j^T(y - X\beta)\right| \leq \lambda_1 n1XjT(y−Xβ) ≤λ1
Elastic Net的坐标下降需要同时处理L1和L2惩罚。对于第j个坐标:
∂ J ∂ β j = 1 n X j T ( X β − y ) + λ 1 sign ( β j ) + 2 λ 2 β j \frac{\partial J}{\partial \beta_j} = \frac{1}{n}X_j^T(X\beta - y) + \lambda_1\text{sign}(\beta_j) + 2\lambda_2\beta_j ∂βj∂J=n1XjT(Xβ−y)+λ1sign(βj)+2λ2βj
更新规则变为:
β ^ j = S ( 1 n X j T r j , λ 1 ) 1 n X j T X j + 2 λ 2 \hat{\beta}_j = \frac{S\left(\frac{1}{n}X_j^Tr_j, \lambda_1\right)}{\frac{1}{n}X_j^TX_j + 2\lambda_2} β^j=n1XjTXj+2λ2S(n1XjTrj,λ1)
其中残差 r j = y − ∑ k ≠ j X k β k r_j = y - \sum_{k \neq j}X_k\beta_k rj=y−∑k=jXkβk。这里的分母项 1 n X j T X j + 2 λ 2 \frac{1}{n}X_j^TX_j + 2\lambda_2 n1XjTXj+2λ2保证了更好的条件数。
考虑两个高度相关的变量 X j X_j Xj和 X k X_k Xk,相关系数为 ρ \rho ρ。Elastic Net倾向于选择两者或都不选择。设这两个变量的真实系数相等: β j = β k = β ∗ \beta_j = \beta_k = \beta^* βj=βk=β∗。
在渐近情况下,Elastic Net解满足:
∣ β ^ j − β ^ k ∣ ≤ 2 λ 1 2 λ 2 + ( 1 − ρ ) n ⋅ X j T X j |\hat{\beta}_j - \hat{\beta}_k| \leq \frac{2\lambda_1}{2\lambda_2 + \frac{(1-\rho)}{n} \cdot X_j^TX_j} ∣β^j−β^k∣≤2λ2+n(1−ρ)⋅XjTXj2λ1
当 ρ → 1 \rho \to 1 ρ→1时,右侧趋于 λ 1 / λ 2 \lambda_1/\lambda_2 λ1/λ2,这表明高度相关的变量的系数差异有界。
设真实模型的非零系数集合为 S ∗ = { j : β j ∗ ≠ 0 } S^* = \{j : \beta_j^* \neq 0\} S∗={j:βj∗=0}。在适当的正则性条件下,Elastic Net具有以下渐近性质:
其中 s ∗ = ∣ S ∗ ∣ s^* = |S^*| s∗=∣S∗∣是真实稀疏度。
Elastic Net的坐标下降算法的每次迭代复杂度为 O ( n p ) O(np) O(np)。为了达到 ε \varepsilon ε精度,需要的迭代次数为:
T ( ε ) = O ( log ( 1 / ε ) ⋅ κ ( X T X + 2 λ 2 I ) ) T(\varepsilon) = O\left(\log(1/\varepsilon) \cdot \kappa(X^TX + 2\lambda_2 I)\right) T(ε)=O(log(1/ε)⋅κ(XTX+2λ2I))
其中 κ \kappa κ表示条件数。L2项的存在改善了条件数,通常使算法比纯Lasso收敛更快。
对于固定的 α \alpha α,Elastic Net的解路径 β ( λ ) \beta(\lambda) β(λ)仍然是分段线性的,但转折点的计算更加复杂。设当前活跃集为 A A A,非活跃变量 j j j进入活跃集的条件变为:
∣ 1 n X j T ( y − X A β A ) ∣ = λ α \left|\frac{1}{n}X_j^T(y - X_A \beta_A)\right| = \lambda\alpha n1XjT(y−XAβA) =λα
而活跃变量 k k k离开活跃集的条件为:
β ^ k = 0 或符号改变 \hat{\beta}_k = 0 \text{ 或符号改变} β^k=0 或符号改变
当 λ 2 > 0 \lambda_2 > 0 λ2>0时,目标函数是强凸的,强凸常数为 μ = 2 λ 2 \mu = 2\lambda_2 μ=2λ2。这保证了全局最优解的存在唯一性,并且坐标下降算法具有线性收敛率:
∥ β ( t + 1 ) − β ∗ ∥ ≤ ( 1 − μ / L ) ∥ β ( t ) − β ∗ ∥ \|\beta^{(t+1)} - \beta^*\| \leq (1 - \mu/L)\|\beta^{(t)} - \beta^*\| ∥β(t+1)−β∗∥≤(1−μ/L)∥β(t)−β∗∥
其中 L L L是Lipschitz常数。
这种组合解决了Lasso在处理相关预测变量时的局限性,通过鼓励"分组效应"——高度相关的预测变量倾向于一起被选择或排除。从几何角度看,Elastic Net创造了一个圆角菱形的约束区域,它是L1钻石形和L2圆形之间的妥协,既允许特征选择又支持相关特征的分组。
机器学习的核心挑战之一是偏差-方差权衡。预期预测误差可以分解为:
E [ ( y − f ^ ( x ) ) 2 ] = Bias 2 [ f ^ ( x ) ] + Var [ f ^ ( x ) ] + σ 2 \mathbb{E}[(y - \hat{f}(x))^2] = \text{Bias}^2[\hat{f}(x)] + \text{Var}[\hat{f}(x)] + \sigma^2 E[(y−f^(x))2]=Bias2[f^(x)]+Var[f^(x)]+σ2
这里偏差表示系统性误差,方差表示对训练数据波动的敏感性, σ 2 \sigma^2 σ2是不可约的噪声。
设真实模型为 y = f ( x ) + ε y = f(x) + \varepsilon y=f(x)+ε,其中 E [ ε ] = 0 \mathbb{E}[\varepsilon] = 0 E[ε]=0, Var [ ε ] = σ 2 \text{Var}[\varepsilon] = \sigma^2 Var[ε]=σ2。对于任意预测函数 f ^ ( x ) \hat{f}(x) f^(x):
E [ ( y − f ^ ( x ) ) 2 ] = E [ ( f ( x ) + ε − f ^ ( x ) ) 2 ] \mathbb{E}[(y - \hat{f}(x))^2] = \mathbb{E}[(f(x) + \varepsilon - \hat{f}(x))^2] E[(y−f^(x))2]=E[(f(x)+ε−f^(x))2]
= E [ ( f ( x ) − f ^ ( x ) ) 2 ] + E [ ε 2 ] + 2 E [ ε ( f ( x ) − f ^ ( x ) ) ] = \mathbb{E}[(f(x) - \hat{f}(x))^2] + \mathbb{E}[\varepsilon^2] + 2\mathbb{E}[\varepsilon(f(x) - \hat{f}(x))] =E[(f(x)−f^(x))2]+E[ε2]+2E[ε(f(x)−f^(x))]
由于 E [ ε ] = 0 \mathbb{E}[\varepsilon] = 0 E[ε]=0且 ε \varepsilon ε与 f ^ ( x ) \hat{f}(x) f^(x)独立,最后一项为零。因此:
E [ ( y − f ^ ( x ) ) 2 ] = E [ ( f ( x ) − f ^ ( x ) ) 2 ] + σ 2 \mathbb{E}[(y - \hat{f}(x))^2] = \mathbb{E}[(f(x) - \hat{f}(x))^2] + \sigma^2 E[(y−f^(x))2]=E[(f(x)−f^(x))2]+σ2
对第一项进行进一步分解。设 μ ^ = E [ f ^ ( x ) ] \hat{\mu} = \mathbb{E}[\hat{f}(x)] μ^=E[f^(x)]:
E [ ( f ( x ) − f ^ ( x ) ) 2 ] = E [ ( f ( x ) − μ ^ + μ ^ − f ^ ( x ) ) 2 ] \mathbb{E}[(f(x) - \hat{f}(x))^2] = \mathbb{E}[(f(x) - \hat{\mu} + \hat{\mu} - \hat{f}(x))^2] E[(f(x)−f^(x))2]=E[(f(x)−μ^+μ^−f^(x))2]
= ( f ( x ) − μ ^ ) 2 + E [ ( μ ^ − f ^ ( x ) ) 2 ] + 2 ( f ( x ) − μ ^ ) E [ μ ^ − f ^ ( x ) ] = (f(x) - \hat{\mu})^2 + \mathbb{E}[(\hat{\mu} - \hat{f}(x))^2] + 2(f(x) - \hat{\mu})\mathbb{E}[\hat{\mu} - \hat{f}(x)] =(f(x)−μ^)2+E[(μ^−f^(x))2]+2(f(x)−μ^)E[μ^−f^(x)]
= ( f ( x ) − μ ^ ) 2 + E [ ( f ^ ( x ) − μ ^ ) 2 ] = (f(x) - \hat{\mu})^2 + \mathbb{E}[(\hat{f}(x) - \hat{\mu})^2] =(f(x)−μ^)2+E[(f^(x)−μ^)2]
= Bias 2 [ f ^ ( x ) ] + Var [ f ^ ( x ) ] = \text{Bias}^2[\hat{f}(x)] + \text{Var}[\hat{f}(x)] =Bias2[f^(x)]+Var[f^(x)]
对于Ridge回归,设 H λ = X ( X T X + n λ I ) − 1 X T H_\lambda = X(X^TX + n\lambda I)^{-1}X^T Hλ=X(XTX+nλI)−1XT为帽子矩阵。Ridge预测为:
y ^ = H λ y = H λ ( X β true + ε ) = H λ X β true + H λ ε \hat{y} = H_\lambda y = H_\lambda(X\beta_{\text{true}} + \varepsilon) = H_\lambda X\beta_{\text{true}} + H_\lambda\varepsilon y^=Hλy=Hλ(Xβtrue+ε)=HλXβtrue+Hλε
偏差:
Bias [ y ^ ] = E [ y ^ ] − X β true = H λ X β true − X β true = ( H λ − I ) X β true \text{Bias}[\hat{y}] = \mathbb{E}[\hat{y}] - X\beta_{\text{true}} = H_\lambda X\beta_{\text{true}} - X\beta_{\text{true}} = (H_\lambda - I)X\beta_{\text{true}} Bias[y^]=E[y^]−Xβtrue=HλXβtrue−Xβtrue=(Hλ−I)Xβtrue
Bias 2 [ y ^ ] = ∥ ( H λ − I ) X β true ∥ 2 = β true T X T ( H λ − I ) 2 X β true \text{Bias}^2[\hat{y}] = \|(H_\lambda - I)X\beta_{\text{true}}\|^2 = \beta_{\text{true}}^TX^T(H_\lambda - I)^2X\beta_{\text{true}} Bias2[y^]=∥(Hλ−I)Xβtrue∥2=βtrueTXT(Hλ−I)2Xβtrue
利用SVD分解 X = U D V T X = UDV^T X=UDVT,可以得到:
Bias 2 [ y ^ ] = β true T V ∑ i ( n λ d i 2 + n λ ) 2 d i 2 V T β true \text{Bias}^2[\hat{y}] = \beta_{\text{true}}^TV\sum_i\left(\frac{n\lambda}{d_i^2 + n\lambda}\right)^2d_i^2V^T\beta_{\text{true}} Bias2[y^]=βtrueTVi∑(di2+nλnλ)2di2VTβtrue
方差:
Var [ y ^ ] = E [ H λ ε ε T H λ T ] = σ 2 E [ H λ H λ T ] = σ 2 tr ( H λ H λ T ) \text{Var}[\hat{y}] = \mathbb{E}[H_\lambda\varepsilon\varepsilon^TH_\lambda^T] = \sigma^2\mathbb{E}[H_\lambda H_\lambda^T] = \sigma^2\text{tr}(H_\lambda H_\lambda^T) Var[y^]=E[HλεεTHλT]=σ2E[HλHλT]=σ2tr(HλHλT)
= σ 2 tr ( H λ 2 ) = σ 2 ∑ i d i 4 ( d i 2 + n λ ) 2 = \sigma^2\text{tr}(H_\lambda^2) = \sigma^2\sum_i\frac{d_i^4}{(d_i^2 + n\lambda)^2} =σ2tr(Hλ2)=σ2i∑(di2+nλ)2di4
总预测误差为偏差的平方加上方差:
MSE ( λ ) = σ 2 ∑ i d i 4 ( d i 2 + n λ ) 2 + ∑ i ( n λ d i 2 + n λ ) 2 d i 2 ( V T β true ) i 2 \text{MSE}(\lambda) = \sigma^2\sum_i\frac{d_i^4}{(d_i^2 + n\lambda)^2} + \sum_i\left(\frac{n\lambda}{d_i^2 + n\lambda}\right)^2d_i^2(V^T\beta_{\text{true}})_i^2 MSE(λ)=σ2i∑(di2+nλ)2di4+i∑(di2+nλnλ)2di2(VTβtrue)i2
对 λ \lambda λ求导并令其为零:
∂ MSE ∂ λ = − 2 σ 2 n ∑ i d i 4 ( d i 2 + n λ ) 3 + 2 n ∑ i n λ ( d i 2 + n λ ) 3 d i 2 ( V T β true ) i 2 = 0 \frac{\partial \text{MSE}}{\partial \lambda} = -2\sigma^2n\sum_i\frac{d_i^4}{(d_i^2 + n\lambda)^3} + 2n\sum_i\frac{n\lambda}{(d_i^2 + n\lambda)^3}d_i^2(V^T\beta_{\text{true}})_i^2 = 0 ∂λ∂MSE=−2σ2ni∑(di2+nλ)3di4+2ni∑(di2+nλ)3nλdi2(VTβtrue)i2=0
这给出了理论最优 λ \lambda λ的隐式表达式,通常需要数值求解。
在实践中,我们不知道真实的 β true \beta_{\text{true}} βtrue,但可以使用SURE来估计风险。对于Ridge回归:
SURE ( λ ) = ∥ y − y ^ ∥ 2 n − σ 2 + 2 σ 2 df ( λ ) n \text{SURE}(\lambda) = \frac{\|y - \hat{y}\|^2}{n} - \sigma^2 + \frac{2\sigma^2\text{df}(\lambda)}{n} SURE(λ)=n∥y−y^∥2−σ2+n2σ2df(λ)
其中 df ( λ ) = tr ( H λ ) \text{df}(\lambda) = \text{tr}(H_\lambda) df(λ)=tr(Hλ)是有效自由度。
在高维渐近框架下( p / n → γ > 0 p/n \to \gamma > 0 p/n→γ>0),当数据来自椭球分布时,Ridge回归的渐近风险为:
R ∞ ( λ ) = σ 2 ∫ 0 ∞ t ( t + λ ) 2 d F ( t ) + ∫ 0 ∞ λ 2 ( t + λ ) 2 β 2 ( t ) d F ( t ) R_\infty(\lambda) = \sigma^2\int_0^\infty \frac{t}{(t + \lambda)^2} dF(t) + \int_0^\infty \frac{\lambda^2}{(t + \lambda)^2} \beta^2(t) dF(t) R∞(λ)=σ2∫0∞(t+λ)2tdF(t)+∫0∞(t+λ)2λ2β2(t)dF(t)
其中 F ( t ) F(t) F(t)是 X T X / n X^TX/n XTX/n的经验谱分布, β 2 ( t ) \beta^2(t) β2(t)是真实信号在谱域的能量分布。
当 p , n → ∞ p,n \to \infty p,n→∞且 p / n → γ p/n \to \gamma p/n→γ时,利用Stieltjes变换理论,可以得到Ridge风险的确定性等价:
R ∞ ( λ ) = σ 2 m γ ( λ ) + λ 2 ∥ β true ∥ 2 v γ ( λ ) R_\infty(\lambda) = \sigma^2m_\gamma(\lambda) + \lambda^2\|\beta_{\text{true}}\|^2v_\gamma(\lambda) R∞(λ)=σ2mγ(λ)+λ2∥βtrue∥2vγ(λ)
其中 m γ ( λ ) m_\gamma(\lambda) mγ(λ)和 v γ ( λ ) v_\gamma(\lambda) vγ(λ)是与经验谱分布相关的函数,可以通过求解固定点方程得到。
正则化的根本作用机制是通过增加偏差来减少方差,通常能够降低总误差。这个理论框架源于统计学习理论,特别是Vapnik的结构风险最小化原理,为正则化的有效性提供了数学证明。从信息论角度看,正则化限制了模型的有效容量,防止模型记住训练数据的随机噪声,从而提高泛化能力。
现代神经网络采用了远超传统L1/L2的复杂正则化技术。Dropout通过在训练过程中随机禁用神经元,实际上起到了集成方法的作用。每次前向传播使用不同的子网络,最终效果相当于对多个模型进行平均,大大减少了过拟合的风险。
Dropout可以建模为在每个隐藏单元 h i h_i hi上添加伯努利噪声:
h ~ i = h i ⋅ B i \tilde{h}_i = h_i \cdot B_i h~i=hi⋅Bi
其中 B i ∼ Bernoulli ( p ) B_i \sim \text{Bernoulli}(p) Bi∼Bernoulli(p), p p p是保留概率。在测试时,输出被缩放为 p h ~ i p\tilde{h}_i ph~i以保持期望不变。
从贝叶斯角度,Dropout近似于在权重上施加了复杂的先验分布。对于单层网络,Dropout的变分近似对应于权重的高斯-伯努利复合先验:
w i j ∼ π N ( 0 , σ 2 ) + ( 1 − π ) δ 0 w_{ij} \sim \pi\mathcal{N}(0, \sigma^2) + (1-\pi)\delta_0 wij∼πN(0,σ2)+(1−π)δ0
其中 π = p 2 \pi = p^2 π=p2, δ 0 \delta_0 δ0是在零点的狄拉克函数。
对于线性模型 y = x T w + ε y = x^Tw + \varepsilon y=xTw+ε,添加Dropout等价于在损失函数中增加惩罚项:
R dropout ( w ) = ∑ i j ( 1 − p ) p ⋅ w i 2 x j 2 E [ x j 2 ] R_{\text{dropout}}(w) = \sum_{ij}\frac{(1-p)}{p} \cdot w_i^2x_j^2 \mathbb{E}[x_j^2] Rdropout(w)=ij∑p(1−p)⋅wi2xj2E[xj2]
这表明Dropout的正则化强度与输入的方差成正比,自动适应不同特征的尺度。
批归一化(Batch Normalization) 不仅解决了内部协变量偏移问题,还提供了隐式的正则化效果。设批归一化的变换为:
y ^ = γ x − μ B σ B + β \hat{y} = \gamma\frac{x - \mu_B}{\sigma_B} + \beta y^=γσBx−μB+β
其中 μ B \mu_B μB和 σ B \sigma_B σB是批次统计量。
批归一化的正则化效应来源于训练和测试时统计量的差异。在训练时使用批次统计量,而在测试时使用总体统计量,这种随机性起到了正则化作用。
权重衰减(Weight Decay) 已经演进为解耦形式,如AdamW,将正则化与自适应学习率机制分离。传统的带L2正则化的SGD更新为:
w t + 1 = w t − η ( ∇ L ( w t ) + λ w t ) = ( 1 − η λ ) w t − η ∇ L ( w t ) w_{t+1} = w_t - \eta(\nabla L(w_t) + \lambda w_t) = (1 - \eta\lambda)w_t - \eta\nabla L(w_t) wt+1=wt−η(∇L(wt)+λwt)=(1−ηλ)wt−η∇L(wt)
而AdamW将权重衰减从梯度计算中分离:
w t + 1 = ( 1 − η λ ) w t − η m t v t + ϵ w_{t+1} = (1 - \eta\lambda)w_t - \eta\frac{m_t}{\sqrt{v_t} + \epsilon} wt+1=(1−ηλ)wt−ηvt+ϵmt
这种解耦允许优化器更好地平衡学习率调整和正则化效果,特别是在自适应优化器中效果显著。
近期的创新包括动态dropout,它根据训练进展调整dropout率:
p ( t ) = p 0 ⋅ ( 1 − t T ) α p(t) = p_0 \cdot \left(1 - \frac{t}{T}\right)^\alpha p(t)=p0⋅(1−Tt)α
其中 t t t是当前epoch, T T T是总epoch数, α \alpha α控制衰减速度。这种自适应策略在Transformer训练中显示出显著改进。
**谱归一化(Spectral Normalization)**通过控制权重矩阵的最大奇异值来约束Lipschitz常数:
W SN = W σ ( W ) W_{\text{SN}} = \frac{W}{\sigma(W)} WSN=σ(W)W
其中 σ ( W ) \sigma(W) σ(W)是 W W W的最大奇异值,通过幂方法高效计算。
数据增强 技术如MixUp和CutMix在计算机视觉中充当强大的正则化器。MixUp通过线性插值创建虚拟样本:
( x ~ , y ~ ) = ( λ x i + ( 1 − λ ) x j , λ y i + ( 1 − λ ) y j ) (\tilde{x}, \tilde{y}) = (\lambda x_i + (1-\lambda)x_j, \lambda y_i + (1-\lambda)y_j) (x~,y~)=(λxi+(1−λ)xj,λyi+(1−λ)yj)
其中 λ ∼ Beta ( α , α ) \lambda \sim \text{Beta}(\alpha, \alpha) λ∼Beta(α,α)。这种技术不仅增加了数据多样性,还平滑了决策边界。
最近的理论突破揭示了过参数化模型中的隐式正则化现象。梯度下降在过参数化设置下倾向于找到具有最小范数的解,即使存在无穷多个全局最优解。
对于线性模型,梯度下降的隐式偏差可以表征为:
w ∞ = X † y = arg min w ∥ w ∥ 2 subject to X w = y w_\infty = X^\dagger y = \arg\min_w \|w\|_2 \quad \text{subject to} \quad Xw = y w∞=X†y=argwmin∥w∥2subject toXw=y
其中 X † X^\dagger X†是Moore-Penrose伪逆。
双下降现象的发现更是挑战了传统认知。测试误差可能在模型复杂度和正则化强度上都表现出非单调行为:
E test ( λ ) = f 1 ( λ ) + f 2 ( λ ) + noise E_{\text{test}}(\lambda) = f_1(\lambda) + f_2(\lambda) + \text{noise} Etest(λ)=f1(λ)+f2(λ)+noise
其中 f 1 f_1 f1和 f 2 f_2 f2分别对应"经典"和"现代"机制,在不同区域主导误差行为。