偏差-方差分解
? 偏差-方差分解试图堆学习算法的期望泛化错误率进行拆解,把一种学习算法的期望误差分解为三个非负项的和,即样本 noise、bias 和 variance。 ? 对于训练集 D,测试样本 x,y 为其真实标签,
y
D
y_{D}
yD? 为数据集中的标签,
f
(
x
;
D
)
f(x;D)
f(x;D) 为学习的 x 的输出。学习算法的期望预测为
E
D
[
f
(
x
;
D
)
]
E_{D}[f(x;D)]
ED?[f(x;D)]。 ? noise:数据集中的标签和真实标记的差别,是期望误差的下界。
ε
2
=
E
D
[
(
y
D
?
y
)
2
]
\varepsilon^{2}=E_{D}[(y_{D}-y)^{2}]
ε2=ED?[(yD??y)2] ? bias:期望输出与真实结果的偏离程度,刻画了算法本身的拟合能力。
b
i
a
s
2
(
x
)
=
(
E
D
[
f
(
x
;
D
)
]
?
y
)
2
bias^{2}(x)=(E_{D}[f(x;D)]-y)^2
bias2(x)=(ED?[f(x;D)]?y)2 ? variance:使用样本数相同的不同训练集产生的方差,刻画了数据扰动造成的影响。
v
a
r
(
x
)
=
E
D
[
(
f
(
x
;
D
)
?
E
D
[
f
(
x
;
D
)
]
)
2
]
var(x)=E_{D}[(f(x;D)-E_{D}[f(x;D)])^{2}]
var(x)=ED?[(f(x;D)?ED?[f(x;D)])2] ? 泛化误差可如下分解:
E
(
f
;
D
)
=
E
D
[
(
f
(
x
;
D
)
?
y
D
)
2
]
=
b
i
a
s
2
(
x
)
+
v
a
r
(
x
)
+
ε
2
E(f;D)=E_{D}[(f(x;D)-y_{D})^{2}]=bias^{2}(x)+var(x)+\varepsilon^{2}
E(f;D)=ED?[(f(x;D)?yD?)2]=bias2(x)+var(x)+ε2 ? 随着训练程度的增加,偏差减小,方差增大,泛化误差先减后增。
优化方法
梯度下降(Gradient Descent) ? 算法通过沿梯度
g
t
g_{t}
gt? 的相反方向更新权值来最小化损失函数,学习率
α
\alpha
α 控制更新步长。 ?
w
t
=
w
t
?
1
?
α
g
t
w_{t}=w_{t-1}-\alpha g_{t}
wt?=wt?1??αgt? 随机梯度下降(Stochastic Gradient Descent,SGD) ? 随机梯度下降(Stochastic Gradient Descent):针对一个训练样本在线学习。 ? 批量梯度下降(Batch Gradient Descent):在整个训练集上计算梯度
g
t
g_{t}
gt?。 ? 小批量梯度下降(Mini-batch Gradient Descent):折中方案,在一个 batch 中计算梯度,可利用矩阵计算。 Momentum 动量 SGD 更新方向完全依赖当前 batch,在遇到沟壑时容易陷入震荡,可以为其引入动量 Momentum,加速 SGD 在正确方向的下降并抑制震荡。 ?
v
t
=
η
v
t
?
1
?
α
g
t
v_{t}=\eta v_{t-1}- \alpha g_{t}
vt?=ηvt?1??αgt? ?
w
t
=
w
t
?
1
+
v
t
w_{t}=w_{t-1}+v_{t}
wt?=wt?1?+vt? NAG(Nesterov Accelerated Gradient) ? 梯度
g
t
g_{t}
gt? 不是根据当前参数位置计算出,而是根据先走了本来计划要走的一步后,达到的参数位置计算出来的。 Adagrad ? 对于更新不频繁的参数,希望单次步长更大,多学习一些知识;对于更新频繁的参数,则希望步长较小,使得学习到的参数更稳定。学习率设置为
η
v
t
+
ε
\frac{\eta}{\sqrt{v_{t}+\varepsilon }}
vt?+ε
?η?,对于此前频繁更新过的参数,其二阶动量的对应分量较大,学习率就较小。这一方法在稀疏数据的场景下表现很好。 RMSprop 均方根传播 ? 在 Adagrad 中,
v
t
v_{t}
vt? 单调递增,导致学习率逐渐递减至 0,可能导致训练过程提前结束。为此考虑在计算二阶动量时不累积全部历史梯度,而只关注最近某一时间窗口内的下降梯度。 ?
v
t
=
ρ
v
t
?
1
?
(
1
?
ρ
)
g
t
2
v_{t}=\rho v_{t-1}- (1-\rho ) g_{t}^{2}
vt?=ρvt?1??(1?ρ)gt2? ?
w
t
=
w
t
?
1
?
η
v
t
+
ε
g
t
w_{t}=w_{t-1}-\frac{\eta}{\sqrt{v_{t}+\varepsilon }}g_{t}
wt?=wt?1??vt?+ε
?η?gt? Adam RMSprop 和 Momentum 的结合。 ?
v
t
=
ρ
v
t
?
1
?
(
1
?
ρ
)
g
t
v_{t}=\rho v_{t-1}- (1-\rho ) g_{t}
vt?=ρvt?1??(1?ρ)gt? ?
s
t
=
β
v
t
?
1
?
(
1
?
β
)
g
t
2
s_{t}=\beta v_{t-1}- (1-\beta ) g_{t}^{2}
st?=βvt?1??(1?β)gt2? ?
w
t
=
w
t
?
1
?
η
v
t
s
t
+
ε
g
t
w_{t}=w_{t-1}-\eta \frac{v_{t}}{\sqrt{s_{t}+\varepsilon }}g_{t}
wt?=wt?1??ηst?+ε
?vt??gt?
损失函数
激活函数
贝叶斯分类器
|