参考资料:神经网络与深度学习
集成学习(Ensemble Learning)
通过某种策略将多个模型集成起来,通过群体决策来提高决策准确率,对于 M 个不同的模型
f
1
(
x
)
,
⋯
,
f
M
(
x
)
f_1(\boldsymbol{x}), \cdots, f_M(\boldsymbol{x})
f1(x),⋯,fM(x),每个模型的期望错误为:
R
(
f
m
)
=
E
x
[
(
f
m
(
x
)
−
h
(
x
)
)
2
]
=
E
x
[
ϵ
m
(
x
)
2
]
\mathcal{R}\left(f_m\right)=\mathbb{E}_{\boldsymbol{x}}\left[\left(f_m(\boldsymbol{x})-h(\boldsymbol{x})\right)^2\right]=\mathbb{E}_x\left[\epsilon_m(\boldsymbol{x})^2\right]
R(fm)=Ex[(fm(x)−h(x))2]=Ex[ϵm(x)2],其中
h
(
⋅
)
h(\cdot)
h(⋅)表征输入与输出间的真实关系,
ϵ
m
(
x
)
\epsilon_m(\boldsymbol{x})
ϵm(x)即为误差项。则全部模型等权重“聚合”的平均错误为:
R
‾
(
f
)
=
1
M
∑
m
=
1
M
E
x
[
ϵ
m
(
x
)
2
]
\overline{\mathcal{R}}(f)=\frac{1}{M} \sum_{m=1}^M \mathbb{E}_{\boldsymbol{x}}\left[\epsilon_m(\boldsymbol{x})^2\right]
R(f)=M1m=1∑MEx[ϵm(x)2]
基于等权重“聚合”(投票)的集成模型为:
F
(
x
)
=
1
M
∑
m
=
1
M
f
m
(
x
)
F(\boldsymbol{x})=\frac{1}{M} \sum_{m=1}^M f_m(\boldsymbol{x})
F(x)=M1m=1∑Mfm(x)
对于
M
M
M 个不同的模型
f
1
(
x
)
,
⋯
,
f
M
(
x
)
f_1(\boldsymbol{x}), \cdots, f_M(\boldsymbol{x})
f1(x),⋯,fM(x) ,其平均期望错误为
R
‾
(
f
)
\overline{\mathcal{R}}(f)
R(f) 。基于简单投票机制的集成模型
F
(
x
)
=
1
M
∑
m
=
1
M
f
m
(
x
)
,
F
(
x
)
F(\boldsymbol{x})=\frac{1}{M} \sum_{m=1}^M f_m(\boldsymbol{x}), F(\boldsymbol{x})
F(x)=M1∑m=1Mfm(x),F(x) 的期望错误在
1
M
R
‾
(
f
)
\frac{1}{M} \overline{\mathcal{R}}(f)
M1R(f) 和
R
‾
(
f
)
\overline{\mathcal{R}}(f)
R(f) 之间.
证明:
R
(
F
)
=
E
x
[
(
1
M
∑
m
=
1
M
f
m
(
x
)
−
h
(
x
)
)
2
]
=
E
x
[
(
1
M
∑
m
=
1
M
ϵ
m
(
x
)
)
2
]
=
1
M
2
E
x
[
∑
m
=
1
M
∑
n
=
1
M
ϵ
m
(
x
)
ϵ
n
(
x
)
]
=
1
M
2
∑
m
=
1
M
∑
n
=
1
M
E
x
[
ϵ
m
(
x
)
ϵ
n
(
x
)
]
,
\begin{aligned} \mathcal{R}(F) & =\mathbb{E}_{\boldsymbol{x}}\left[\left(\frac{1}{M} \sum_{m=1}^M f_m(\boldsymbol{x})-h(\boldsymbol{x})\right)^2\right] \\ & =\mathbb{E}_{\boldsymbol{x}}\left[\left(\frac{1}{M} \sum_{m=1}^M \epsilon_m(\boldsymbol{x})\right)^2\right] \\ & =\frac{1}{M^2} \mathbb{E}_{\boldsymbol{x}}\left[\sum_{m=1}^M \sum_{n=1}^M \epsilon_m(\boldsymbol{x}) \epsilon_n(\boldsymbol{x})\right] \\ & =\frac{1}{M^2} \sum_{m=1}^M \sum_{n=1}^M \mathbb{E}_{\boldsymbol{x}}\left[\epsilon_m(\boldsymbol{x}) \epsilon_n(\boldsymbol{x})\right], \end{aligned}
R(F)=Ex
(M1m=1∑Mfm(x)−h(x))2
=Ex
(M1m=1∑Mϵm(x))2
=M21Ex[m=1∑Mn=1∑Mϵm(x)ϵn(x)]=M21m=1∑Mn=1∑MEx[ϵm(x)ϵn(x)],
其中
E
x
[
ϵ
m
(
x
)
ϵ
n
(
x
)
]
\mathbb{E}_{\boldsymbol{x}}\left[\epsilon_m(\boldsymbol{x}) \epsilon_n(\boldsymbol{x})\right]
Ex[ϵm(x)ϵn(x)] 为两个不同模型错误的相关性.如果每个模型的错误不相关,即
∀
m
≠
n
,
E
x
[
ϵ
m
(
x
)
ϵ
n
(
x
)
]
=
0
\forall m \neq n, \mathbb{E}_{\boldsymbol{x}}\left[\epsilon_m(\boldsymbol{x}) \epsilon_n(\boldsymbol{x})\right]=0
∀m=n,Ex[ϵm(x)ϵn(x)]=0 .如果每个模型的错误都是相同的,则
∀
m
≠
\forall m \neq
∀m=
n
,
ϵ
m
(
x
)
=
ϵ
n
(
x
)
n, \epsilon_m(\boldsymbol{x})=\epsilon_n(\boldsymbol{x})
n,ϵm(x)=ϵn(x) 。并且,由于
ϵ
m
(
x
)
≥
0
,
∀
m
\epsilon_m(\boldsymbol{x}) \geq 0, \forall m
ϵm(x)≥0,∀m ,可以得到
R
‾
(
f
)
≥
R
(
F
)
≥
1
M
R
‾
(
f
)
\overline{\mathcal{R}}(f) \geq \mathcal{R}(F) \geq \frac{1}{M} \overline{\mathcal{R}}(f)
R(f)≥R(F)≥M1R(f)
从上述定理可知,为了得到更好的集成效果,要求每个模型之间具备一定的差异性。并且随着模型数量的增多,其错误率也会下降,并趋近于 0 。 ( 模型之间具备一定的差异性,这其实是与联邦学习所追求的目标相悖,(单层)联邦学习是追求local model的一致性以减少drift )
Boosting类方法
为了增加模型之间的差异性,Boosting 类方法是按照一定的顺序来先后训练不同的基模型,每个模型都针对前序模型的错误进行专门训练。根据前序模型的结果,来调整训练样本的权重,从而增加不同基模型之间的差异性。
AdaBoost算法
系统内存在M个基分类器(Base Classifier),共同生成一个加性模型,每个弱分类器对应的权重为
α
m
\alpha_m
αm
F
(
x
)
=
∑
m
=
1
M
α
m
f
m
(
x
)
F(\boldsymbol{x})=\sum_{m=1}^M \alpha_m f_m(\boldsymbol{x})
F(x)=m=1∑Mαmfm(x)
Boosting 类方法的关键是如何训练每个弱分类器
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) 及其权重
α
m
\alpha_m
αm .为了提高集成的效果,应当尽量使得每个弱分类器的差异尽可能大.一种有效的算法是采用迭代(sequencial)的方法来学习每个弱分类器,即按照一定的顺序依次训练每个弱分类器.假设已经训练了
m
m
m 个弱分类器,在训练第第
m
+
1
m+1
m+1 个弱分类器时,增加已有弱分类器分错样本的权重,使得第
m
+
1
m+1
m+1 个弱分类器"更关注"于已有弱分类器分错的样本(由于后面的弱分类器总是专注于前面的弱分类器做的不好之处),每个弱分类器的差异可足够大,最终提升集成分类器的准确率,即AdaBoost在每一轮训练中,增加分错样本的权重,减少分对样本的权重,从而得到一个新的数据分布。
对于二分类:
f
m
(
x
)
∈
{
+
1
,
−
1
}
f_m(x) \in\{+1,-1\}
fm(x)∈{+1,−1}:
上述算法的数学解释:(基分类器权重 与 样本权重设定)
对于
F
(
x
)
=
∑
m
=
1
M
α
m
f
m
(
x
)
F(\boldsymbol{x})=\sum_{m=1}^M \alpha_m f_m(\boldsymbol{x})
F(x)=∑m=1Mαmfm(x),其损失函数定义为:
L
(
F
)
=
exp
(
−
y
F
(
x
)
)
=
exp
(
−
y
∑
m
=
1
M
α
m
f
m
(
x
)
)
,
\mathcal{L}(F) =\exp (-y F(\boldsymbol{x})) =\exp \left(-y \sum_{m=1}^M \alpha_m f_m(\boldsymbol{x})\right),
L(F)=exp(−yF(x))=exp(−ym=1∑Mαmfm(x)),
其中
y
∈
{
+
1
,
−
1
}
y\in\{+1,-1\}
y∈{+1,−1}为真实结果。上述函数表明:若某个基分类器
f
m
f_m
fm结果与y异号,则需调整样本权重与分类器权重以降低损失函数值。
假设经过
m
−
1
m-1
m−1 次迭代,得到
F
m
−
1
(
x
)
=
∑
t
=
1
m
−
1
α
t
f
t
(
x
)
F_{m-1}(\boldsymbol{x})=\sum_{t=1}^{m-1} \alpha_t f_t(\boldsymbol{x})
Fm−1(x)=t=1∑m−1αtft(x)
则第
m
m
m 次迭代的目标是找一个
α
m
\alpha_m
αm 和
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) 使得下面的损失函数最小.(变量为
α
m
\alpha_m
αm 和
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) )
L
(
α
m
,
f
m
(
x
)
)
=
∑
n
=
1
N
exp
(
−
y
(
n
)
(
F
m
−
1
(
x
(
n
)
)
+
α
m
f
m
(
x
(
n
)
)
)
)
.
令
w
m
(
n
)
=
exp
(
−
y
(
n
)
F
m
−
1
(
x
(
n
)
)
)
,
则损失函数可以写为
L
(
α
m
,
f
m
(
x
)
)
=
∑
n
=
1
N
w
m
(
n
)
exp
(
−
α
m
y
(
n
)
f
m
(
x
(
n
)
)
)
.
\begin{gathered} \mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right)=\sum_{n=1}^N \exp \left(-y^{(n)}\left(F_{m-1}\left(\boldsymbol{x}^{(n)}\right)+\alpha_m f_m\left(\boldsymbol{x}^{(n)}\right)\right)\right) . \\ \text { 令 } w_m^{(n)}=\exp \left(-y^{(n)} F_{m-1}\left(\boldsymbol{x}^{(n)}\right)\right), \text { 则损失函数可以写为 } \\ \qquad \mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right)=\sum_{n=1}^N w_m^{(n)} \exp \left(-\alpha_m y^{(n)} f_m\left(\boldsymbol{x}^{(n)}\right)\right) . \end{gathered}
L(αm,fm(x))=n=1∑Nexp(−y(n)(Fm−1(x(n))+αmfm(x(n)))). 令 wm(n)=exp(−y(n)Fm−1(x(n))), 则损失函数可以写为 L(αm,fm(x))=n=1∑Nwm(n)exp(−αmy(n)fm(x(n))).
因为
y
,
f
m
(
x
)
∈
{
+
1
,
−
1
}
y, f_m(\boldsymbol{x}) \in\{+1,-1\}
y,fm(x)∈{+1,−1} ,有
y
f
m
(
x
)
=
1
−
2
I
(
y
≠
f
m
(
x
)
)
y f_m(\boldsymbol{x})=1-2 I\left(y \neq f_m(\boldsymbol{x})\right)
yfm(x)=1−2I(y=fm(x))
其中
I
(
x
)
I(x)
I(x) 为指示函数.
将损失函数在
−
α
m
y
(
n
)
f
m
(
x
(
n
)
)
=
0
-\alpha_m y^{(n)} f_m\left(\boldsymbol{x}^{(n)}\right)=0
−αmy(n)fm(x(n))=0 处进行二阶泰勒展开(
e
x
=
∑
n
=
0
∞
1
n
!
x
n
=
1
+
x
+
1
2
!
x
2
+
⋯
∈
(
−
∞
,
+
∞
)
e^x=\sum_{n=0}^{\infty} \frac{1}{n!} x^n=1+x+\frac{1}{2!} x^2+\cdots \in(-\infty,+\infty)
ex=∑n=0∞n!1xn=1+x+2!1x2+⋯∈(−∞,+∞)),有
L
(
α
m
,
f
m
(
x
)
)
=
∑
n
=
1
N
w
m
(
n
)
(
1
−
α
m
y
(
n
)
f
m
(
x
(
n
)
)
+
1
2
α
m
2
)
∝
∑
n
=
1
N
w
m
(
n
)
(
−
α
m
y
(
n
)
f
m
(
x
(
n
)
)
+
1
2
α
m
2
)
∝
α
m
∑
n
=
1
N
w
m
(
n
)
I
(
y
(
n
)
≠
f
m
(
x
(
n
)
)
)
\begin{aligned} \mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right) & =\sum_{n=1}^N w_m^{(n)}\left(1-\alpha_m y^{(n)} f_m\left(\boldsymbol{x}^{(n)}\right)+\frac{1}{2} \alpha_m^2\right) \\ & \propto \sum_{n=1}^N w_m^{(n)}\left(-\alpha_m y^{(n)} f_m\left(x^{(n)}\right)+\frac{1}{2} \alpha_m^2\right) \\ & \propto \alpha_m \sum_{n=1}^N w_m^{(n)} I\left(y^{(n)} \neq f_m\left(\boldsymbol{x}^{(n)}\right)\right) \end{aligned}
L(αm,fm(x))=n=1∑Nwm(n)(1−αmy(n)fm(x(n))+21αm2)∝n=1∑Nwm(n)(−αmy(n)fm(x(n))+21αm2)∝αmn=1∑Nwm(n)I(y(n)=fm(x(n)))
其中,第二步是忽略常数项;第三步是由于:当
α
m
>
0
\alpha_m>0
αm>0 时,
L
(
α
m
,
f
m
(
x
)
)
\mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right)
L(αm,fm(x))大小正比于
y
(
n
)
f
m
(
x
(
n
)
)
y^{(n)} f_m\left(\boldsymbol{x}^{(n)}\right)
y(n)fm(x(n))的符号。即,最优的分类器
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) 为使得在样本权重为
w
m
(
n
)
,
1
≤
n
≤
N
w_m^{(n)}, 1 \leq n \leq N
wm(n),1≤n≤N 时的加权错误率最小的分类器.
基于上述损失函数,得到
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x)(即
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x)固定后),
L
(
α
m
,
f
m
(
x
)
)
\mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right)
L(αm,fm(x))可进一步写为:
L
(
α
m
,
f
m
(
x
)
)
=
∑
y
(
n
)
=
f
m
(
x
(
n
)
)
w
m
(
n
)
exp
(
−
α
m
)
+
∑
y
(
n
)
≠
f
m
(
x
(
n
)
)
w
m
(
n
)
exp
(
α
m
)
∝
(
1
−
ϵ
m
)
exp
(
−
α
m
)
+
ϵ
m
exp
(
α
m
)
\mathcal{L}\left(\alpha_m, f_m(\boldsymbol{x})\right)=\sum_{y^{(n)}=f_m\left(\boldsymbol{x}^{(n)}\right)} w_m^{(n)} \exp \left(-\alpha_m\right)+\sum_{y^{(n)} \neq f_m\left(\boldsymbol{x}^{(n)}\right)} w_m^{(n)} \exp \left(\alpha_m\right) \propto \left(1-\epsilon_m\right) \exp \left(-\alpha_m\right)+\epsilon_m \exp \left(\alpha_m\right)
L(αm,fm(x))=y(n)=fm(x(n))∑wm(n)exp(−αm)+y(n)=fm(x(n))∑wm(n)exp(αm)∝(1−ϵm)exp(−αm)+ϵmexp(αm)
其中
ϵ
m
\epsilon_m
ϵm 为分类器
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) 的加权错误率:
ϵ
m
=
∑
y
(
n
)
≠
f
m
(
x
(
n
)
)
w
m
(
n
)
∑
n
w
m
(
n
)
\epsilon_m=\frac{\sum_{y^{(n)} \neq f_m\left(\boldsymbol{x}^{(n)}\right)} w_m^{(n)}}{\sum_n w_m^{(n)}}
ϵm=∑nwm(n)∑y(n)=fm(x(n))wm(n)。求上式关于
α
m
\alpha_m
αm 的导数并令其为 0 ,得到
α
m
=
1
2
log
1
−
ϵ
m
ϵ
m
\alpha_m=\frac{1}{2} \log \frac{1-\epsilon_m}{\epsilon_m}
αm=21logϵm1−ϵm。
集成学习与联邦学习的区别
集成学习(Ensemble Learning)的目标是通过多个模型的"误差互补"来降低泛化误差,哪怕这些模型是在同一个训练集或相似数据上训练的。差异性有助于"平均掉"某些模型的偏差,提升整体表现。
联邦学习的目标是:在保护数据隐私的前提下,训练出一个通用的、集中式的全局模型,这个模型要尽可能适配所有客户端的数据分布。
集成学习通常默认所有模型可访问同一数据分布或样本子集(如Bagging中的bootstrap),模型训练过程独立,但从相似数据中学习,差异来源于训练过程中的随机性。
联邦学习因为假设各用户数据是Non-IID的,即 D i ≠ D j D_i \neq D_j Di=Dj。理论上这提供了差异性,但这种差异并不会直接带来好处,反而导致训练不稳定、聚合后性能下降。
在集成学习中,最终模型是 F ( x ) = 1 M ∑ m f m ( x ) F(\boldsymbol{x}) = \frac{1}{M} \sum_m f_m(\boldsymbol{x}) F(x)=M1∑mfm(x),是输出级别的平均,哪怕模型结构不同也可以融合输出。对于集成学习来说,如果 ϵ m ( x ) \epsilon_m(\boldsymbol{x}) ϵm(x) 相互不相关,交叉项为 0,那么 R ( F ) \mathcal{R}(F) R(F) 会显著低于每个 R ( f m ) \mathcal{R}(f_m) R(fm)。
联邦学习做的是 w = 1 M ∑ m w m \boldsymbol{w} = \frac{1}{M} \sum_m \boldsymbol{w}_m w=M1∑mwm,这是模型参数级别的平均,假设所有模型结构一致。在联邦学习中,如果你这么“平均”, ϵ m ( x ) \epsilon_m(\boldsymbol{x}) ϵm(x) 并非只是误差,而是在各自数据上的“最优偏移”,这些偏移如果方向不一致(Non-IID引起的局部最优差异),它们不会互相抵消,而可能导致整体误差增加。
进一步:
R
(
F
)
=
E
X
[
(
1
M
∑
m
=
1
M
ϵ
m
(
x
)
)
2
]
=
1
M
2
∑
m
,
n
=
1
M
E
X
[
ϵ
m
(
x
)
ϵ
n
(
x
)
]
\mathcal{R}(F)=\mathbb{E}_{\boldsymbol{X}}\left[\left(\frac{1}{M} \sum_{m=1}^M \epsilon_m(\boldsymbol{x})\right)^2\right]=\frac{1}{M^2} \sum_{m, n=1}^M \mathbb{E}_{\boldsymbol{X}}\left[\epsilon_m(\boldsymbol{x}) \epsilon_n(\boldsymbol{x})\right]
R(F)=EX
(M1m=1∑Mϵm(x))2
=M21m,n=1∑MEX[ϵm(x)ϵn(x)]
这可以进一步拆解为:
R
(
F
)
=
1
M
σ
ˉ
2
+
M
−
1
M
ρ
ˉ
\mathcal{R}(F)=\frac{1}{M} \bar{\sigma}^2+\frac{M-1}{M} \bar{\rho}
R(F)=M1σˉ2+MM−1ρˉ
其中:
σ
ˉ
2
\bar{\sigma}^2
σˉ2:每个模型误差的平均方差;
ρ
ˉ
\bar{\rho}
ρˉ:不同模型之间误差项的平均协方差。
若模型误差互不相关(或低相关性)( ρ ˉ ≈ 0 \bar{\rho} \approx 0 ρˉ≈0),则: R ( F ) ≈ 1 M σ ˉ 2 \mathcal{R}(F) \approx \frac{1}{M} \bar{\sigma}^2 R(F)≈M1σˉ2,即误差与模型数量成反比。
从信息论角度:
假设真实目标是随机变量
Y
Y
Y,模型输出为
F
(
X
)
F(X)
F(X),我们从信息论角度看模型“了解”目标
Y
Y
Y 的能力,即互信息
I
(
F
(
X
)
;
Y
)
I(F(X); Y)
I(F(X);Y)。
根据信息融合原理,如果多个模型
f
m
(
X
)
f_m(X)
fm(X) 是从不同“子空间”或“独立子模型”学习而来,它们提供了关于
Y
Y
Y 的互补信息,则集成输出
F
(
X
)
F(X)
F(X) 满足:
I
(
F
(
X
)
;
Y
)
≥
max
m
I
(
f
m
(
X
)
;
Y
)
I(F(X) ; Y) \geq \max _m I\left(f_m(X) ; Y\right)
I(F(X);Y)≥mmaxI(fm(X);Y)
特别地,如果每个模型的预测误差是统计独立的,那么最终模型就能“集成多个互不冗余的信息源”,信息量增加,从而提升泛化能力。