过拟合与欠拟合
1.过拟合
概念:学习器将样本自身的特征当做所有样本的潜在特征进行学习,称为过拟合
表现:训练误差非常小,而泛化误差较大,二者表现出明显差异
2.欠拟合
概念:学习器对所有训练样本的潜在特征尚未学好,称为欠拟合
表现:训练误差与泛化误差都非常大
偏差与方差理论
对测试样本
x
x
x,
y
D
y_{_D}
yD为
x
x
x在训练集D中的标记,
y
t
r
u
e
y_{true}
ytrue为
x
x
x的真实标记,
f
(
x
;
D
)
f(x;D)
f(x;D)为
x
x
x在训练集
D
D
D上模型的学得的模型输出,模型在训练集
D
D
D上的期望预测为
f
ˉ
(
x
)
=
E
D
(
f
(
x
;
D
)
)
\bar{f}(x) = E_D(f(x;D))
fˉ(x)=ED(f(x;D))
1.偏差
模型输出的期望与真实标记的差别称为偏差,即
b
i
a
s
2
(
x
)
=
(
f
ˉ
(
x
)
−
y
t
r
u
e
)
2
bias^2(x) = (\bar{f}(x) - y_{true})^2
bias2(x)=(fˉ(x)−ytrue)2
2.方差
样本数相同的不同训练集产生的方差,即
v
a
r
(
x
)
=
E
D
[
f
(
x
;
D
)
−
f
ˉ
(
x
)
2
]
var(x) = E_D[f(x;D) - \bar{f}(x)^2]
var(x)=ED[f(x;D)−fˉ(x)2]
3.噪声
训练集标记与真实样本的差别为噪声,即
ε
2
=
E
D
[
(
y
D
−
y
t
r
u
e
)
2
]
\varepsilon^2 = E_D[(y_D - y_{true})^2]
ε2=ED[(yD−ytrue)2]
4.泛化误差分解
假定噪声期望为
0
0
0,即
E
D
[
(
y
D
−
y
t
r
u
e
)
]
=
0
E_D[(y_D - y_{true})] = 0
ED[(yD−ytrue)]=0,则可将算法期望泛化误差按下式分解为:
E
(
f
;
D
)
=
E
D
[
(
f
(
x
;
D
)
−
y
D
)
2
]
E(f;D) = E_D[(f(x;D) - y_D)^2]
E(f;D)=ED[(f(x;D)−yD)2]
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
+
f
ˉ
(
x
)
−
y
D
)
2
]
= E_D[(f(x;D) - \bar{f}(x) + \bar{f}(x) - y_D)^2]
=ED[(f(x;D)−fˉ(x)+fˉ(x)−yD)2]
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
+
E
D
[
(
f
ˉ
(
x
)
−
y
D
)
2
]
+
E
D
[
2
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
(
f
ˉ
(
x
)
−
y
D
)
]
= E_D[(f(x;D) - \bar{f}(x))^2] + E_D[(\bar{f}(x) - y_D)^2] + E_D[2(f(x;D) - \bar{f}(x))(\bar{f}(x) - y_D)]
=ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−yD)2]+ED[2(f(x;D)−fˉ(x))(fˉ(x)−yD)] 考虑噪声和
f
f
f不相互依赖,令
E
D
[
2
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
(
f
ˉ
(
x
)
−
y
D
)
]
=
0
E_D[2(f(x;D) - \bar{f}(x))(\bar{f}(x) - y_D)] = 0
ED[2(f(x;D)−fˉ(x))(fˉ(x)−yD)]=0,则有
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
+
E
D
[
(
f
ˉ
(
x
)
−
y
D
)
2
]
= E_D[(f(x;D) - \bar{f}(x))^2] + E_D[(\bar{f}(x) - y_D)^2]
=ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−yD)2]
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
+
E
D
[
(
f
ˉ
(
x
)
−
y
t
r
u
e
+
y
t
r
u
e
−
y
D
)
2
]
= E_D[(f(x;D) - \bar{f}(x))^2] + E_D[(\bar{f}(x) - y_{true} + y_{true} - y_D)^2]
=ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−ytrue+ytrue−yD)2]
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
+
E
D
[
(
f
ˉ
(
x
)
−
y
t
r
u
e
)
2
]
+
E
D
[
(
y
t
r
u
e
−
y
D
)
2
]
+
E
D
[
(
f
ˉ
(
x
)
−
y
t
r
u
e
)
(
y
t
r
u
e
−
y
D
)
]
= E_D[(f(x;D) - \bar{f}(x))^2] + E_D[(\bar{f}(x) - y_{true})^2] + E_D[(y_{true} - y_D)^2] + E_D[(\bar{f}(x) - y_{true})(y_{true} - y_D)]
=ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−ytrue)2]+ED[(ytrue−yD)2]+ED[(fˉ(x)−ytrue)(ytrue−yD)]
假定期望噪声为0,则
E
D
[
(
f
ˉ
(
x
)
−
y
t
r
u
e
)
(
y
t
r
u
e
−
y
D
)
]
=
0
E_D[(\bar{f}(x) - y_{true})(y_{true} - y_D)] = 0
ED[(fˉ(x)−ytrue)(ytrue−yD)]=0,最终泛化误差为
E
(
f
;
D
)
=
E
D
[
(
f
(
x
;
D
)
−
f
ˉ
(
x
)
)
2
]
+
(
f
ˉ
(
x
)
−
y
t
r
u
e
)
2
+
E
D
[
(
y
t
r
u
e
−
y
D
)
2
]
E(f;D) = E_D[(f(x;D) - \bar{f}(x))^2] + (\bar{f}(x) - y_{true})^2 + E_D[(y_{true} - y_D)^2]
E(f;D)=ED[(f(x;D)−fˉ(x))2]+(fˉ(x)−ytrue)2+ED[(ytrue−yD)2]
从上式可以的值,泛化误差取决于方差、偏差和噪声。
5.偏差-方差窘境
偏差: 度量了模型的期望预测与真实结果的偏离程度,刻画了模型本身的拟合能力
方差: 度量了同样大小训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响
噪声: 表达了当前任务上模型所能达到的期望泛化误差的下界,刻画了学习问题本身的难度
在模型训练不足时,学习器拟合能力不够强,训练数据的扰动不足使学习器产生显著变化,此时偏差主导泛化误差;随着模型训练程度加深,学习器拟合能力逐渐增强,训练数据的扰动渐渐能够被学习器所学到,方差逐渐主导泛化误差,随着这个过程的继续,学习器拟合能力将变得非常强,此时训练数据的轻微扰动会导致学习器的显著变化,若非全局样本特征被学到,此时将发生过拟合
如何解决过拟合与欠拟合
1.过拟合
正则化
批正则化层
dorpout层
2.欠拟合
提升模型复杂度