概念
泛化(Generalization):模型的泛化能力是指它在训练数据集上的误差是否能够接近所有可能测试数据误差的均值(
E
o
u
t
−
E
i
n
→
0
E_{out}-E_{in}\rightarrow0
Eout−Ein→0)。泛化误差大致可以理解成测试数据集误差和训练数据集误差之差(
E
o
u
t
−
E
i
n
E_{out}-E_{in}
Eout−Ein)。
① 当
E
i
n
E_{in}
Ein很小,
E
o
u
t
E_{out}
Eout很大时,发生过拟合(overfitting)
② 当
E
i
n
E_{in}
Ein很大,
E
o
u
t
E_{out}
Eout很大时,发生欠拟合(underfitting)
下图中,竖直的虚线左侧是"underfitting", 右侧是"overfitting”。
我们通过对训练集的拟合效果来评判训练模型,但模型的性能好坏却是由模型在未知数据上的表现确定的。
样本数据中不可避免的存在噪音,当拟合程度超过一定程度时,其实是在拟合噪音,其泛化能力也相应变差。
发生overfitting的主要原因有:
- 使用过于复杂的模型( d v c d_{vc} dvc很大)
- 数据噪音
- 有限的训练数据
过拟合中的噪音
① Stochastic noise: 由数据采集造成的噪音,呈随机化, 称随机噪音
ϵ
\epsilon
ϵ为
y
−
f
(
X
)
y-f(X)
y−f(X)
② Deterministic noise: 由于假设函数
g
g
g的复杂程度造成的,称为确定性噪音,即
E
[
g
^
(
X
)
]
−
f
(
X
)
E[\hat{g}(X)]-f(X)
E[g^(X)]−f(X)
异同点
- 两种噪音均无法消除,随机噪音是永恒存在,呈现随机分布规律;确定性噪音则由假设空间和样本数据的有限性导致的无规律存在
- 确定性噪音由假设空间 H H H决定,当x给定时,其偏差是确定的
当噪音不存在时,
E
D
=
E
D
[
(
g
D
(
x
)
−
f
^
(
x
)
)
2
]
=
E
D
[
(
g
D
(
x
)
−
g
^
(
x
)
)
2
]
+
E
D
[
(
g
^
(
x
)
−
f
(
x
)
]
)
2
]
=
Variance
+
Bias
\begin{aligned} \operatorname{E}_{D} &={E}_{D}\left[(g^{D}(x)-\hat{f}(x))^{2}\right] \\ &={E}_{D}\left[(g^{D}(x)-\hat{g}(x))^{2}\right] +{E}_{D}\left[(\hat{g}(x)-{f}(x)])^{2}\right]\\ &=\operatorname { Variance }+ \text{Bias} \end{aligned}
ED=ED[(gD(x)−f^(x))2]=ED[(gD(x)−g^(x))2]+ED[(g^(x)−f(x)])2]=Variance+Bias
当噪音存在时
E
D
,
ϵ
=
E
D
,
ϵ
[
(
g
D
(
x
)
−
f
^
(
x
)
)
2
]
=
E
D
,
ϵ
[
(
g
D
(
x
)
−
f
^
(
x
)
−
ϵ
(
x
)
)
2
]
=
E
D
,
x
[
(
g
D
(
x
)
−
g
^
(
x
)
)
2
]
⎵
Variance
+
E
x
[
(
g
^
(
x
)
−
f
(
x
)
]
)
2
]
⎵
Bias
⎵
deterministic noise
+
E
ϵ
,
x
[
(
ϵ
(
x
)
)
2
]
⎵
σ
2
⎵
stochastic noise
\begin{aligned} \operatorname{E}_{D,\epsilon} &={E}_{D,\epsilon}\left[(g^{D}(x)-\hat{f}(x))^{2}\right]\\ &={E}_{D,\epsilon} \left[(g^{D}(x)-\hat{f}(x)-\epsilon(x))^{2}\right] \\ &=\underbrace{{E}_{D,x} \left[(g^{D}(x)-\hat{g}(x))^{2}\right]}_{\text { Variance } } +\underbrace{\underbrace{{E}_{x}\left[(\hat{g}(x)-{f}(x)])^{2}\right]}_{\text { Bias } }}_{\text { deterministic noise } }+\underbrace{\underbrace{{E}_{\epsilon,x}[(\epsilon(x))^{2}]}_{ \sigma^2 }}_{\text { stochastic noise } } \end{aligned}
ED,ϵ=ED,ϵ[(gD(x)−f^(x))2]=ED,ϵ[(gD(x)−f^(x)−ϵ(x))2]= Variance
ED,x[(gD(x)−g^(x))2]+ deterministic noise
Bias
Ex[(g^(x)−f(x)])2]+ stochastic noise
σ2
Eϵ,x[(ϵ(x))2]
如何处理过拟合
- 假设过于复杂时,应降低复杂度,如采用更为简单的模型或正则化
- 随机噪音过强时,可进行数据清洗
- 数据规模过小时,应收集更多的数据