在过拟合问题与特征选择问题上,正则化都扮演着一个举足轻重的角色。那么随着而来就会有两个问题什么是正则,为什么需要正则?
正则化通过对目标函数添加一个参数范数惩罚,进而来限制模型的学习能力,如
j
(
θ
:
,
x
,
y
)
j(θ:,x,y)
j(θ:,x,y)为目标函数,我们添加一个惩罚项
Ω
(
θ
)
Ω(θ)
Ω(θ),即我们将一个无约束的目标函数转化为了带有约束的目标函数,
j
‘
(
θ
:
x
,
y
)
=
j
(
θ
:
,
x
,
y
)
+
α
Ω
(
θ
)
j^`(θ:x,y)=j(θ:,x,y)+αΩ(θ)
j‘(θ:x,y)=j(θ:,x,y)+αΩ(θ),相当于将一个无约束的优化问题经过正则化转变为一个具有约束项的优化问题。
为什么需要正则化呢?以应对模型的过拟合为例,所谓过拟合,定义上可以说是训练集上表现的很好,但是在测试集上效果却很差,通俗一点说就是模型学的太细致了,我们希望模型提取的是某一类物体的共性,但是模型学的太细致了,学习到了很多个体样本的特征,将一个些个例情况误当成公共特性,最终在测试集上产生较差的结果。
下面来介绍正则化中最为经典的两种正则化范数
1:L1正则化
2:L2正则化
最文章最前面我们介绍了为什么需要正则化,接下来自然而然诞生了一个问题,为什么正则化可以很大程度上解决过拟合问题呢?
一般而言针对于过拟合问题,很直观的一个想法是减少模型参数,降低模型的复杂度,进而尽可能的去避免过拟合问题。还有另外一种思路,就是这些参数具有很多很多种选择,我们是否可以对这些参数进行限制,将其限制在一定范围内,从而降低模型的学习型来规避过拟合问题。下面,我们经首先简单介绍下L1,L2正则范数,在从数学的角度说明下为什么可以解决过拟合问题。
L1正则:
Ω
(
θ
)
=
λ
∣
w
∣
=
λ
[
∣
w
1
∣
+
∣
w
2
∣
+
∣
w
3
∣
+
∣
w
4
∣
+
.
.
.
+
∣
w
n
∣
]
Ω(θ)=λ|w|=λ[|w_1|+|w_2|+|w_3|+|w_4|+...+|w_n| ]
Ω(θ)=λ∣w∣=λ[∣w1∣+∣w2∣+∣w3∣+∣w4∣+...+∣wn∣]
L2正则:
Ω
(
θ
)
=
λ
2
∣
∣
w
∣
∣
2
=
λ
2
[
∣
∣
w
1
∣
∣
2
+
∣
∣
w
2
∣
∣
2
+
∣
∣
w
3
∣
∣
2
+
.
.
.
+
∣
∣
w
n
∣
∣
2
]
Ω(θ)=\dfrac{λ}{2}||w||^2=\dfrac{λ}{2}[||w_1||^2+||w_2||^2+||w_3||^2+...+||w_n||^2]
Ω(θ)=2λ∣∣w∣∣2=2λ[∣∣w1∣∣2+∣∣w2∣∣2+∣∣w3∣∣2+...+∣∣wn∣∣2]
现在我们将其放在二维空间上考虑,L1,L2将形成下面的这样一个区域,我们想限制取值范围的大小可令
Ω
(
θ
)
=
λ
∣
w
∣
=
λ
[
∣
w
1
∣
+
∣
w
2
∣
+
∣
w
3
∣
+
∣
w
4
∣
+
.
.
.
+
∣
w
n
∣
]
≤
m
Ω(θ)=λ|w|=λ[|w_1|+|w_2|+|w_3|+|w_4|+...+|w_n| ]≤m
Ω(θ)=λ∣w∣=λ[∣w1∣+∣w2∣+∣w3∣+∣w4∣+...+∣wn∣]≤m
Ω
(
θ
)
=
λ
2
∣
∣
w
∣
∣
2
=
λ
2
[
∣
∣
w
1
∣
∣
2
+
∣
∣
w
2
∣
∣
2
+
∣
∣
w
3
∣
∣
3
+
.
.
.
+
∣
∣
w
n
∣
∣
2
]
≤
m
Ω(θ)=\dfrac{λ}{2}||w||^2=\dfrac{λ}{2}[||w_1||^2+||w_2||^2+||w_3||^3+...+||w_n||^2]≤m
Ω(θ)=2λ∣∣w∣∣2=2λ[∣∣w1∣∣2+∣∣w2∣∣2+∣∣w3∣∣3+...+∣∣wn∣∣2]≤m
这样我们其实就将参数的选择限定在一定的范围内,从而来规避模型的过拟合问题
在数学上,表现为为目标函数添加一个约束条件:
目标函数:
j
(
θ
:
,
x
,
y
)
j(θ:,x,y)
j(θ:,x,y)
约束:
Ω
(
θ
)
≤
m
Ω(θ)≤m
Ω(θ)≤m转化为
Ω
(
θ
)
−
m
≤
0
Ω(θ)-m≤0
Ω(θ)−m≤0
以上满足KKT条件,从而利用拉格朗日乘子法构造拉格朗日公式
L
(
w
,
λ
)
=
j
(
θ
:
,
x
,
y
)
+
λ
(
Ω
(
θ
)
−
m
)
L(w,λ)=j(θ:,x,y)+λ(Ω(θ)−m)
L(w,λ)=j(θ:,x,y)+λ(Ω(θ)−m)
两边分别对
w
,
λ
w,λ
w,λ求导,可以得出该模型参数的最优解。也就是说正则之所以能够规避过拟合问题实则就是对模型进行约束,限制了模型的可能性、学习能力。
上述两个问题回答了为什么需要正则化,正则化如何发挥作用,那么在特征选择方法中,为什么L1正则可以进行特征选择,也就是说为什么L1具有稀疏性质
下面我们从公式、图像、贝叶斯理论三个方面对其进行阐述
1:公式角度
我们以Lasso回归为例进行介绍,Lasso回归的目标函数为:
j
(
θ
)
=
M
S
E
(
θ
)
+
α
∑
i
=
1
n
∣
θ
i
∣
j(θ)=MSE(θ)+α\sum_{i=1}^n|θ_i|
j(θ)=MSE(θ)+α∑i=1n∣θi∣
我们从公式上可以发现,第二项在
θ
i
θ_i
θi处不可导,如下图所示
解决办法就是在
θ
i
=
0
θ_i=0
θi=0处用一个向量代替导数
用0替代不可导点的梯度,这样就产生参数矩阵中产生很多为0的点,使其具有稀疏的性质,进而根据0或者其他数值对特征进行自动的筛选,实现特征选择的功能。
2:图像
从图像上看,我们可以不断的调整 Ω ( θ ) ≤ m Ω(θ)≤m Ω(θ)≤m来对菱形与元进行缩放,最终我们可以形成一个原始目标函数的等高线以及一个正则化约束项的等高线。二者等高线的切点即为模型参数的最优点。他的数学思想依旧上利用拉格朗日乘子法构造拉格朗日公式,在满足KKT条件下进行求解,最终结果呈现如图所示。上左中计算的二者交点(最优点)为坐标轴上,也就意味着将有一些 ∣ w i ∣ = 0 |w_i|=0 ∣wi∣=0,进而参数矩阵中产生多个零向量,最终形成一个稀疏矩阵。
3:贝叶斯理论
假设数据集
D
=
(
x
1
,
x
2
,
.
.
.
,
x
n
)
D=(x_1,x_2,...,x_n)
D=(x1,x2,...,xn):前提样本统计独立
现在我们回一下贝叶斯理论,就是求解在已知样本的情况下估算参数
P
(
θ
∣
D
)
P(θ|D)
P(θ∣D)
根据贝叶斯公式可得
P
(
θ
∣
D
)
=
P
(
θ
)
P
(
D
∣
θ
)
P
(
D
)
P(θ|D)=\dfrac{P(θ)P(D|θ)}{P(D)}
P(θ∣D)=P(D)P(θ)P(D∣θ),仔细看公式,关键地方来了,
P
(
θ
)
P(θ)
P(θ)为先验概率已知,
P
(
D
)
P(D)
P(D)为样本分布概率由样本本身确定,不会产生影响,因此我们实际关注的就是
P
(
D
∣
θ
)
P(D|θ)
P(D∣θ),就是在已知分布情况下求解后验概率,已知分布求解条件概率。。。想到没?到达了最大似然估计最擅长的领域。
P
(
D
∣
θ
)
=
P
(
x
1
∣
θ
)
P
(
x
2
∣
θ
)
P
(
x
3
∣
θ
)
.
.
.
P
(
x
n
∣
θ
)
=
Π
i
=
1
n
P
(
x
i
∣
θ
)
P(D|θ)=P(x_1|θ)P(x_2|θ)P(x_3|θ)...P(x_n|θ)=\Pi_{i=1}^n{P(x_i|θ)}
P(D∣θ)=P(x1∣θ)P(x2∣θ)P(x3∣θ)...P(xn∣θ)=Πi=1nP(xi∣θ)
我们假设L1,L2分别服从拉普拉斯分布与正态分布,我们目标就是求解
P
(
θ
∣
D
)
P(θ|D)
P(θ∣D)的最大化,两边取对数后取负号:
m
a
x
P
(
θ
∣
D
)
=
−
m
i
n
P
(
D
∣
θ
)
−
∑
i
=
1
n
l
o
g
P
(
θ
)
maxP(θ|D)=-minP(D|θ)-\sum_{i=1}^nlogP(θ)
maxP(θ∣D)=−minP(D∣θ)−∑i=1nlogP(θ),其中
θ
θ
θ满足拉普拉斯或者正态分布
=
−
m
i
n
P
(
D
∣
θ
)
−
∑
i
=
1
n
l
o
g
(
1
2
λ
e
−
∣
θ
i
∣
λ
)
=-minP(D|θ)-\sum_{i=1}^nlog(\frac{1}{2λ}e^{\frac{-|θ_i|}{λ}})
=−minP(D∣θ)−∑i=1nlog(2λ1eλ−∣θi∣)
…
=
−
m
i
n
P
(
D
∣
θ
)
−
λ
∣
θ
∣
=-minP(D|θ)-λ|θ|
=−minP(D∣θ)−λ∣θ∣
这样其目标函数就转变为带有L1正则项的目标优化函数。正态分布计算过程类似。下图中红色为拉普卡斯分布,黑色为高斯分布。L1正则化服从拉普拉斯分布,更多点分布在0处,自然而然就会形成一个稀疏的参数矩阵,从而实现特征选择的效果。