过拟合(overfitting):
产生的原因有:
- 1.数据量(N):N越小,越容易overfit
- 2.随机噪声(stochastic noise, σ 2 {\sigma ^{\rm{2}}} σ2 ): σ 2 {\sigma ^{\rm{2}}} σ2越大,越容易overfit
- 3.确定噪声(deterministic noise, Q f {Q_f} Qf ): Q f {Q_f} Qf越大,越容易overfit,此项由模型复杂度决定,模型越复杂, Q f {Q_f} Qf越大
- 4.VC维( d v c {d_{vc}} dvc): d v c {d_{vc}} dvc越大,越容易overfit
防止过拟合的方法:
- 1.从简单的模型开始算
- 2.Data cleaning
- 3.增加资料量
- 4.Regularization,正则化,相当于简化模型的一种手段
- 5.Validation
有关正则化的一些解释(以线性回归为例)
正则化是简化模型的一种手段,它从复杂的模型开始,当模型产生过拟合的现象后,再在原有模型的基础上加上正则化约束,使其简化,即,模型(regression等)+限制(regularizer)。
下面正则化线性回归:
min
ω
∈
R
Q
+
1
E
i
n
(
w
)
=
1
N
∑
n
=
1
N
(
ω
T
z
n
−
y
n
)
2
⎵
(
Z
ω
−
y
)
T
(
Z
ω
−
y
)
s
.
t
.
∑
q
=
0
Q
ω
q
2
⎵
ω
T
ω
≤
C
\begin{array}{l} \mathop {\min }\limits_{\omega \in {R^{Q + 1}}} {E_{in}}(w) = \frac{1}{N}\underbrace {{{\sum\limits_{n = 1}^N {({\omega ^T}{z_n} - {y_n})} }^2}}_{{{(Z\omega - y)}^T}(Z\omega - y)}\\ s.t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \underbrace {{\kern 1pt} \sum\limits_{q = 0}^Q {\omega _q^2} }_{{\omega ^T}\omega } \le C \end{array}
ω∈RQ+1minEin(w)=N1(Zω−y)T(Zω−y)
n=1∑N(ωTzn−yn)2s.t.ωTω
q=0∑Qωq2≤C
即,
min
ω
∈
R
Q
+
1
E
i
n
(
w
)
=
1
N
(
Z
ω
−
y
)
T
(
Z
ω
−
y
)
s
.
t
.
ω
T
ω
≤
C
\mathop {\min }\limits_{\omega \in {R^{Q + 1}}} {E_{in}}(w) = \frac{1}{N}{(Z\omega - y)^T}(Z\omega - y){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} s.t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\omega ^T}\omega \le C
ω∈RQ+1minEin(w)=N1(Zω−y)T(Zω−y)s.t.ωTω≤C
正则化解释:
如上图,normal表示当前参数向量
ω
\omega
ω的方向。
在不加正则化处理之前,误差
E
i
n
{E_{in}}
Ein为蓝色的椭圆,参数
ω
\omega
ω会沿着负梯度方向收敛到最小值
ω
l
i
n
{\omega _{lin}}
ωlin;
正则化就相当于图中红色的圆,约束着参数
ω
{\omega}
ω必须在圆内,所以加入正则化处理后,
ω
{\omega}
ω到不了之前的最小值
ω
l
i
n
{\omega _{lin}}
ωlin 。
由上图可看出,当normal方向与负梯度方向平行的时候,达最小值
ω
R
E
G
{\omega _{REG}}
ωREG,即,
− ∇ E i n ( ω R E G ) ∝ ω R E G - \nabla {E_{in}}({\omega _{REG}}) \propto {\omega _{REG}} −∇Ein(ωREG)∝ωREG
那么,找到一个参数
λ
>
0
\lambda > 0
λ>0(Lagrange multiplier),使得,
∇
E
i
n
(
ω
R
E
G
)
+
2
λ
N
ω
R
E
G
=
0
\nabla {E_{in}}({\omega _{REG}}) + \frac{{2\lambda }}{N}{\omega _{REG}} = 0
∇Ein(ωREG)+N2λωREG=0
而解上式,就相当于最小化下面的式子,即,
min
ω
E
i
n
(
ω
)
+
λ
N
ω
T
ω
⏞
r
e
g
u
l
a
r
i
z
e
r
⎵
a
u
g
u
m
e
n
t
e
d
e
r
r
o
r
E
a
u
g
(
ω
)
\mathop {\min }\limits_\omega \underbrace {{E_{in}}(\omega ) + \frac{\lambda }{N}\overbrace {{\omega ^T}\omega }^{regularizer}}_{augumented{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} error{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {E_{aug}}(\omega )}
ωminaugumentederrorEaug(ω)
Ein(ω)+NλωTω
regularizer
即,
ω
R
E
G
←
arg
min
ω
E
a
u
g
(
ω
)
f
o
r
g
i
v
e
n
λ
≥
0
{\omega _{REG}} \leftarrow \mathop {\arg \min }\limits_\omega {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {E_{aug}}(\omega ){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} for{\kern 1pt} {\kern 1pt} {\kern 1pt} given{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \lambda \ge 0
ωREG←ωargminEaug(ω)forgivenλ≥0
对于线性回归,有,
ω
R
E
G
←
(
Z
T
Z
+
λ
I
)
−
1
Z
T
y
{\omega _{REG}} \leftarrow {({Z^T}Z + \lambda I)^{ - 1}}{Z^T}y
ωREG←(ZTZ+λI)−1ZTy
实际应用:
λ \lambda λ取很小时,就能很大的改善整个模型的过拟合程度。
两种常用的正则器(regularizer):
- 1.sparsity(L1) regularizer:
∑
q
=
0
Q
∣
ω
q
∣
=
∥
ω
∥
1
\sum\limits_{q = 0}^Q {\left| {{\omega _q}} \right|} = {\left\| \omega \right\|_1}
q=0∑Q∣ωq∣=∥ω∥1
convex, not differentiable everywhere, sparsity in solution - 2.weight-decay(L2) regularizer:
∑
q
=
0
Q
ω
q
2
=
∥
ω
∥
2
2
\sum\limits_{q = 0}^Q {\omega _q^2} = \left\| \omega \right\|_2^2
q=0∑Qωq2=∥ω∥22
convex, differentiable everywhere, easy to optimize
L1通常用在稀疏解中。