在数学 与计算机科学 中,尤其是在机器学习 和逆问题 领域中,正则化 (英语:regularization)是指为解决适定性问题 或过拟合 而加入额外信息的过程。[ 1]
在机器学习和逆问题的优化过程中,正则项往往被加在目标函数 当中。
概括来讲,机器学习 的训练过程,就是要找到一个足够好 的函数
F
∗
{\displaystyle F^{*}}
用以在新的数据上进行推理 。[ 2] 为了定义什么是「好」,人们引入了损失函数 的概念。一般地,对于样本
(
x
→
,
y
)
{\displaystyle ({\vec {x}},y)}
和模型
F
{\displaystyle F}
,有预测值
y
^
=
F
(
x
→
)
{\displaystyle {\hat {y}}=F({\vec {x}})}
。损失函数是定义在
R
×
R
→
R
{\displaystyle \mathbb {R} \times \mathbb {R} \to \mathbb {R} }
上的二元函数
ℓ
(
y
,
y
^
)
{\displaystyle \ell (y,{\hat {y}})}
,用来描述基准真相 和模型预测值之间的差距。一般来说,损失函数是一个有下确界 的函数;当基准真相和模型预测值足够接近,损失函数的值也会接近该下确界。
因此,机器学习的训练过程可以被转化为训练集
D
{\displaystyle {\mathcal {D}}}
上的最小化 问题。我们的目标是在泛函空间 内,找到使得全局损失
L
(
F
)
=
∑
i
∈
D
ℓ
(
y
i
,
y
^
i
)
{\displaystyle L(F)=\sum _{i\in {\mathcal {D}}}\ell (y_{i},{\hat {y}}_{i})}
最小的模型
F
∗
{\displaystyle F^{*}}
。
F
∗
:=
arg min
F
L
(
F
)
.
{\displaystyle F^{*}:=\mathop {\text{arg min}} _{F}L(F).}
由于损失函数只考虑在训练集上的经验风险 ,这种做法可能会导致过拟合 。为了对抗过拟合,我们需要向损失函数中加入描述模型复杂程度的正则项
Ω
(
F
)
{\displaystyle \Omega (F)}
,将经验风险最小化问题转化为结构风险最小化。
F
∗
:=
arg min
F
Obj
(
F
)
=
arg min
F
(
L
(
F
)
+
γ
Ω
(
F
)
)
,
γ
>
0.
{\displaystyle F^{*}:=\mathop {\text{arg min}} _{F}{\text{Obj}}(F)=\mathop {\text{arg min}} _{F}{\bigl (}L(F)+\gamma \Omega (F){\bigr )},\qquad \gamma >0.}
这里,
Obj
(
F
)
{\displaystyle {\text{Obj}}(F)}
称为目标函数 ,它描述模型的结构风险 ;
L
(
F
)
{\displaystyle L(F)}
是训练集上的损失函数;
Ω
(
F
)
{\displaystyle \Omega (F)}
是正则项,描述模型的复杂程度;
γ
{\displaystyle \gamma }
是用于控制正则项重要程度的参数。正则项通常包括对光滑度 及向量空间 内范数 上界的限制。[ 3]
L
p
{\displaystyle L_{p}}
-范数 是一种常见的正则项。
在贝叶斯学派的观点 看来,正则项是在模型训练过程中引入了某种模型参数的先验 分布。
所谓范数 即是抽象之长度,通常意义上满足长度的三种性质:非负性 、齐次性 和三角不等式 。
以函数的观点来看,范数是定义在
R
n
→
R
{\displaystyle \mathbb {R} ^{n}\to \mathbb {R} }
的函数;并且它和损失函数类似,也具有下确界。后一性质是由范数的非负性和齐次性保证的[ 4] 。这一特性使得
L
p
{\displaystyle L_{p}}
-范数天然适合做正则项,因为目标函数仍可用梯度下降 等方式求解最优化问题。
L
p
{\displaystyle L_{p}}
-范数作为正则项时被称为
L
p
{\displaystyle L_{p}}
-正则项。
机器学习模型当中的参数,可形式化地组成参数向量,记为
ω
→
{\displaystyle {\vec {\omega }}}
。不失一般性,以线性模型为例:
F
(
x
→
;
ω
→
)
:=
ω
→
⊺
⋅
x
→
=
∑
i
=
1
n
ω
i
⋅
x
i
.
{\displaystyle F({\vec {x}};{\vec {\omega }}):={\vec {\omega }}^{\intercal }\cdot {\vec {x}}=\sum _{i=1}^{n}\omega _{i}\cdot x_{i}.}
由于训练集 当中统计噪声 的存在,冗余的特征可能成为过拟合 的一种来源。这是因为,对于统计噪声,模型无法从有效特征当中提取信息进行拟合 ,故而会转向冗余特征。为了对抗此类过拟合现象,人们会希望让尽可能多的
ω
i
{\displaystyle \omega _{i}}
为零。为此,最直观地,可以引入
L
0
{\displaystyle L_{0}}
-正则项
Ω
(
F
(
x
→
;
ω
→
)
)
:=
γ
0
‖
ω
→
‖
0
n
,
γ
0
>
0.
{\displaystyle \Omega {\bigl (}F({\vec {x}};{\vec {\omega }}){\bigr )}:=\gamma _{0}{\frac {\lVert {\vec {\omega }}\rVert _{0}}{n}},\;\gamma _{0}>0.}
通过引入
L
0
{\displaystyle L_{0}}
-正则项,人们实际上是向优化过程引入了一种惩罚机制:当优化算法希望增加模型复杂度(此处特指将原来为零的参数
ω
i
{\displaystyle \omega _{i}}
更新为非零的情形)以降低模型的经验风险(即降低全局损失)时,在结构风险上进行大小为
γ
0
n
{\displaystyle {\tfrac {\gamma _{0}}{n}}}
的惩罚。于是,当增加模型复杂度在经验风险上的收益不足
γ
0
n
{\displaystyle {\tfrac {\gamma _{0}}{n}}}
时,整个结构风险实际上会增大而非减小。因此优化算法会拒绝此类更新。
引入
L
0
{\displaystyle L_{0}}
-正则项可使模型参数稀疏化,以及使得模型易于解释。但
L
0
{\displaystyle L_{0}}
-正则项也有无法避免的问题:非连续、非凸、不可微。因此,在引入
L
0
{\displaystyle L_{0}}
-正则项的目标函数上做最优化求解,是一个无法在多项式时间内完成的问题。于是,人们转而考虑
L
0
{\displaystyle L_{0}}
-范数的最紧凸放松 ——
L
1
{\displaystyle L_{1}}
-范数,令
Ω
(
F
(
x
→
;
ω
→
)
)
:=
γ
1
‖
ω
→
‖
1
n
,
γ
1
>
0.
{\displaystyle \Omega {\bigl (}F({\vec {x}};{\vec {\omega }}){\bigr )}:=\gamma _{1}{\frac {\lVert {\vec {\omega }}\rVert _{1}}{n}},\;\gamma _{1}>0.}
和引入
L
0
{\displaystyle L_{0}}
-正则项的情况类似,引入
L
1
{\displaystyle L_{1}}
-正则项是在结构风险上进行大小为
γ
1
|
ω
i
|
n
{\displaystyle {\tfrac {\gamma _{1}|\omega _{i}|}{n}}}
的惩罚,以达到稀疏化的目的。
L
1
{\displaystyle L_{1}}
-正则项亦称LASSO -正则项。[ 5] [ 6]
图中左侧是训练集 ,右侧是验证集 。训练集和验证集数据均是由线性函数加上一定的随机扰动生成的。图中橙色直线是以线性模型拟合训练集数据得到模型的函数曲线;绿色虚线则是以15-阶多项式模型拟合训练数据得到模型的函数曲线。由此可見,儘管多项式模型在训练集上的误差小于线性模型,但在验证集上的误差则显著大于线性模型。此外,多项式模型为了拟合噪声 点,在噪声点附近进行了高曲率 的弯折。这说明多项式模型过拟合 了训练集数据。
在发生过拟合 时,模型的函数曲线往往会发生剧烈的弯折,这意味着模型函数在局部的切线之斜率非常高。一般地,函数的曲率是函数参数的线性组合 或非线性组合。为了对抗此类过拟合,人们会希望使得这些参数的值相对稠密且均匀地集中在零附近。于是,人们引入了
L
2
{\displaystyle L_{2}}
-范数,作为
L
2
{\displaystyle L_{2}}
-正则项。令
Ω
(
F
(
x
→
;
w
→
)
)
:=
γ
2
‖
ω
→
‖
2
2
2
n
,
γ
2
>
0
,
{\displaystyle \Omega {\bigl (}F({\vec {x}};{\vec {w}}){\bigr )}:=\gamma _{2}{\frac {\lVert {\vec {\omega }}\rVert _{2}^{2}}{2n}},\;\gamma _{2}>0,}
于是有目标函数
Obj
(
F
)
=
L
(
F
)
+
γ
2
‖
ω
→
‖
2
2
2
n
,
{\displaystyle {\text{Obj}}(F)=L(F)+\gamma _{2}{\frac {\lVert {\vec {\omega }}\rVert _{2}^{2}}{2n}},}
於是對於參數
ω
i
{\displaystyle \omega _{i}}
取偏微分
∂
Obj
∂
ω
i
=
∂
L
∂
ω
i
+
γ
2
n
ω
i
.
{\displaystyle {\frac {\partial {\text{Obj}}}{\partial \omega _{i}}}={\frac {\partial L}{\partial \omega _{i}}}+{\frac {\gamma _{2}}{n}}\omega _{i}.}
因此,在梯度下降 时,参数
ω
i
{\displaystyle \omega _{i}}
的更新
ω
i
′
←
ω
i
−
η
∂
L
∂
ω
i
−
η
γ
2
n
ω
i
=
(
1
−
η
γ
2
n
)
ω
i
−
η
∂
L
∂
ω
i
.
{\displaystyle \omega '_{i}\gets \omega _{i}-\eta {\frac {\partial L}{\partial \omega _{i}}}-\eta {\frac {\gamma _{2}}{n}}\omega _{i}={\Bigl (}1-\eta {\frac {\gamma _{2}}{n}}{\Bigr )}\omega _{i}-\eta {\frac {\partial L}{\partial \omega _{i}}}.}
注意到
η
γ
2
n
{\displaystyle \eta {\tfrac {\gamma _{2}}{n}}}
通常是介于
(
0
,
1
)
{\displaystyle (0,\,1)}
之间的数[ 7] ,
L
2
{\displaystyle L_{2}}
-正则项会使得参数接近零,从而对抗过拟合。
L
2
{\displaystyle L_{2}}
-正则项又称Tikhonov -正则项或Ridge-正则项。
提前停止 可看做是时间维度上的正则化。直觉上,随着迭代次数的增加,如梯度下降这样的训练算法倾向于学习愈加复杂的模型。在时间维度上进行正则化有助于控制模型复杂度,提升泛化能力。在实践中,提前停止一般是在训练集 上进行训练,而后在统计上独立的验证集 上进行评估;当模型在验证集上的性能不再提升时,就提前停止训练。最后,可在测试集 上对模型性能做最后测试。
^ Bühlmann, Peter; Van De Geer, Sara. Statistics for High-Dimensional Data. Springer Series in Statistics: 9. 2011. ISBN 978-3-642-20191-2 . doi:10.1007/978-3-642-20192-9 . If p > n, the ordinary least squares estimator is not unique and will heavily overfit the data. Thus, a form of complexity regularization will be necessary.
^ Ron Kohavi; Foster Provost. Glossary of terms . Machine Learning. 1998, 30 : 271–274 [2019-12-10 ] . (原始内容存档 于2019-11-11).
^ Bishop, Christopher M. Pattern recognition and machine learning Corr. printing. New York: Springer. 2007. ISBN 978-0387310732 .
^ 范数的非负性保证了范数有下界。当齐次性等式
‖
c
⋅
x
→
‖
=
|
c
|
⋅
‖
x
→
‖
{\displaystyle \lVert c\cdot {\vec {x}}\rVert =|c|\cdot \lVert {\vec {x}}\rVert }
中的
c
{\displaystyle c}
取零时可知,零向量的范数是零,这保证了范数有下确界。
^ Santosa, Fadil; Symes, William W. Linear inversion of band-limited reflection seismograms.. SIAM Journal on Scientific and Statistical Computing (SIAM). 1986, 7 (4): 1307–1330. doi:10.1137/0907087 .
^ Tibshirani, Robert. Regression Shrinkage and Selection via the lasso. Journal of the Royal Statistical Society. Series B (methodological) (Wiley). 1996, 58 (1): 267–88. JSTOR 2346178 .
^ 可通过恰当地调整学习率
η
{\displaystyle \eta }
与正则系数
γ
2
{\displaystyle \gamma _{2}}
来满足这一点。