0. 前言#
在机器学习或深度学习中,无论是分类、回归还是其他场景,通常都是利用模型去拟合一个函数。在这个过程中,正则化是一种常用的手段,用来防止过拟合。本篇博客主要从几个角度探讨正则化的理解,并解释它为何能够防止过拟合。
NOTE阅读前, 需要你 : 有高数基础知识, 线代基础知识, 统计学习基础知识, 当然还要有 ML和 DL 的知识背景.
1. 公式#
给定输入 x1,x2...xn 和输出 y1,y2...yn,我们通过一个模型 f(w,x) 来映射输入输出之间的关系,其中 w 表示模型参数。参数的求解通过优化以下损失函数:
L=i∑L(xi,yi)+R(w)这里 R(w) 是关于参数 w 的一个函数.对于 L1 Regularization
R(w)=λ∥w∥1对于 L2 Regularization
R(w)=λ∥w∥22
2. 理解#
从式子上看, Regularization 看起来就是想让参数 w 的范数小一点 , 下面来看为什么 w 的范数小一点, 就能减缓过拟合.
首先我们来看过拟合是什么? 定义这里就不说了, 直观看个图吧.

上图中,我们有蓝色和红色,2组类别的数据点, 想训练一个分类器f(w,x)去将蓝色点和红色点分开.
可以看到, 绿色的线(f1)近乎完美的对数据进行了拟合, 黑色(f2)的看起来差一些.
NOTE但是啊, 我是说有没有一种可能, 这个数据集他有异常点(比如加粗的那几个), 如果你拟合的太好, 反而会把噪声也拟合了, 导致你的模型泛化性能不好. 反观黑色的线, 就看起来更加不错.
那么如何才能让模型从绿色变成黑色的线呢? 即怎么把函数的”弯弯绕绕”给他拿走.
我们对函数 f(x) 在某个点进行泰勒展开:
f(w,x)=f(w,a)+f′(w,a)(x−a)+2!f′′(w,a)(x−a)2+⋯高阶导数可以描述局部曲率,但它们与参数范数之间没有普遍的一一对应关系。只有在特定模型和参数化方式下,限制参数大小才可能限制函数变化幅度;不能仅由泰勒展开就推出“权重越小,函数一定越平滑”。
正则化是对参数大小施加偏好,以降低模型对训练数据噪声的敏感性;它是否改善泛化需要结合模型、数据和正则化强度验证。
3. 等价形式#
3.1 给权重 w 加约束#
让 w 小一点等价于让 w 不太大 - 鲁迅
所以优化目标可以变为:
minimize L(w,x), s.t.∥w∥22≤C使用拉格朗日乘数法, 上述问题变为:
wminimize λmaximize L(w,λ,x)=L(w)+λ(∥w∥22−C)剩下过程就是,求导等于0, 然后计算相应的 w 和 λ 即可. 不过这里想说的是, 在对 w 求导的时候, 你会发现其实并没有 C 的事情 :
∂w∂J=∂w∂L+2∗λw于是不妨直接 minimize 下式:
minimize L(w,x)+λ∥w∥22
1范数同理, 不再赘述.
3.2 让权重 w 衰减#
minimize J= L(w,x)+λ∥w∥22梯度下降:
wt+1=wt−η(∇L(wt)+2λwt)=(1−2λη)wt−η∇L(wt)当 2λη∈(0,1) 时,每次更新权重都是在上一次权重衰减后的基础上进行的。
3.3 给权重 w 限定分布#
从统计学上来看, f(w,x) 输出的是一个分布去拟合 y 的分布 , 使用贝叶斯公式:
p(w∣D)=p(D)p(D∣w)p(w)其中 D 是观测数据;对固定数据优化 w 时,证据 p(D) 与 w 无关。
极大似然估计核心公式为:
w^MLE=wargmaxp(D∣w)
极大似然估计只最大化数据的似然 p(D∣w),不引入参数先验。它与最大化后验概率不是同一个问题。
最大后验估计核心公式为:
w^MAP=wargmaxp(D∣w)p(w)
最大后验估计在似然之外,还纳入参数的先验分布 p(w)。
OK , 基于最大后验估计, 取 log 得到:
w^MAP=wargmax[logp(D∣w)+logp(w)]我们不看前半部分,只看后半部分.
- 假设 w∼N(0,σ2)
p(wj)=2πσ21exp(−2σ2wj2)则
−logp(w)=2σ2∥w∥22+CNOTE若各参数 wj 独立服从零均值、方差 σ2 的高斯先验,MAP 的负对数目标会增加 ∥w∥22/(2σ2)。因此 L2 惩罚对应高斯先验;其方差由正则化系数及似然目标的缩放共同决定,不必是标准正态分布。
- 假设 w∼Laplace(0,b)
f(w)=2b1exp(−b∣w∣)则
−logp(w)=b∥w∥1+CNOTE若各参数 wj 独立服从零均值、尺度为 b 的拉普拉斯先验,MAP 的负对数目标会增加 ∥w∥1/b。注意这里是 L1 范数,没有平方。
4. 区别#
4.1 函数性质#
我们可以从标准正态分布和拉普拉斯分布的函数性质,来窥探L1 Regularization 和 L2 Regularization 的区别.

根据上图可以看到, L1 Regularization (拉普拉斯分布) 在 0 附近形状更尖锐, 将 w 推向0的时候更加强硬. 而 L2 Regularization (标准正态分布) 显得更加柔和.
4.2 几何性质#
此外也可以从几何性质上对 L1 Regularization 和 L2 Regularization 进行分析.

1范数在几何上表现为一个高维的四方体,2范数则是一个高维的球体. 可以从上图看到,在做minimize时候,L1 Regularization 的 “尖儿” 更容易触到靠内的等高线,即 “尖儿”的位置具有更低的值, 而 “尖儿”的位置,就意味着 w 的某个分量就是0. 而2范数因为整个表面都是外凸出的弧,在哪个地方都有可能取得最小值.

这也就是为什么说, L1 Regularization 能够比 L2 Regularization 更加的 “Sparsity”.所以 L1 正则项的另外一个应用就是能够进行特征选择: LASSO回归通过在原始损失函数上添加 L1 Regularization,导致特征 i 对应的权重 wi 为 0, 我们认为, 权重 wi=0 的特征就是可以去除的.