如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。
选择性集成,即集成剪枝(Ensemble Pruning),即从一堆基学习器(base learners)中选择一个子集,希望泛化性能(Generalization Performance)越好的同时,子集大小越小。
先前的研究通常使用验证集上的误差(Validation Error)来估计泛化性能,但最近的理论研究显示间隔分布(Margin Distribution)对泛化性能也很重要。
因此本文将使用多目标的演化学习算法,同时优化这三个目标:验证误差(Validation Error)、间隔分布(Margin Distribution)以及集成大小(Ensemble Size)。
集成剪枝方法通常可以划分为两大类:
近期关于间隔的研究 [AIJ13] 指出间隔分布对泛化性能有很大影响,因此本文提出了 Margin Distribution guided multi-objective evolutionary Ensemble Pruning (MDEP)
方法,同时最小化验证误差(Validation Error)、间隔比例(Margin Ratio)以及集成大小(Ensemble Size)。
本文测试了三种多目标演化算法(Multi-Objective EAs, MOEAs)来求解上述问题,分别是:NSGA-II
[TEC02]、MOEA / D
[TEC07] 以及 NSGA-III
[TEC13],在实验中使用 NSGA-III
性能更好。
如上所述,本文同时优化如下三个目标:
arg
?
min
?
s
∈
{
0
,
1
}
n
(
error
?
D
(
H
s
)
,
ρ
D
ratio
(
H
s
)
,
∣
s
∣
)
,
\mathop{\arg \min}\limits_{\boldsymbol{s} \in\{0,1\}^n} \left(\operatorname{error}_D\left(H_{\boldsymbol{s}}\right), \rho_D^{\text {ratio}}\left(H_{\boldsymbol{s}}\right),|\boldsymbol{s}|\right),
s∈{0,1}nargmin?(errorD?(Hs?),ρDratio?(Hs?),∣s∣),
其中
s
\boldsymbol{s}
s 表示每个基学习器选(
s
i
=
1
s_i=1
si?=1)或者不选(
s
i
=
0
s_i=0
si?=0),
D
=
{
(
x
i
,
y
i
)
}
i
=
1
m
D=\{(\boldsymbol{x}_i,y_i)\}_{i=1}^m
D={(xi?,yi?)}i=1m? 表示验证集,
error
?
D
(
H
s
)
\operatorname{error}_D(H_{\boldsymbol{s}})
errorD?(Hs?) 表示学习器子集直接 Voting 的误差:
error
?
D
(
H
s
)
=
1
m
∑
i
=
1
m
(
I
(
y
i
H
s
(
x
i
)
<
0
)
+
I
(
y
i
H
s
(
x
i
)
=
0
)
2
)
,
\operatorname{error}_D\left(H_{\boldsymbol{s}}\right)=\frac{1}{m} \sum_{i=1}^m\left(I\left(y_i H_{\boldsymbol{s}}\left(\boldsymbol{x}_i\right)<0\right)+\frac{I\left(y_i H_{\boldsymbol{s}}\left(\boldsymbol{x}_i\right)=0\right)}{2}\right),
errorD?(Hs?)=m1?i=1∑m?(I(yi?Hs?(xi?)<0)+2I(yi?Hs?(xi?)=0)?),
另外
ρ
D
ratio
(
H
s
)
\rho_D^{\text {ratio}}\left(H_{\boldsymbol{s}}\right)
ρDratio?(Hs?) 表示选择性集成后的模型,在验证集
D
D
D 上的间隔比例(间隔方差 / 间隔均值):
ρ
D
ratio?
(
H
s
)
=
Var
?
D
(
ρ
H
s
)
Mean
?
D
2
(
ρ
H
s
)
=
m
∑
i
≠
j
(
ρ
H
s
(
x
i
,
y
i
)
?
ρ
H
s
(
x
j
,
y
j
)
)
2
2
(
m
?
1
)
(
∑
i
=
1
m
ρ
H
s
(
x
i
,
y
i
)
)
2
,
\rho_D^{\text {ratio }}\left(H_{\boldsymbol{s}}\right)=\sqrt{\frac{\operatorname{Var}_D\left(\rho_{H_{\boldsymbol{s}}}\right)}{\operatorname{Mean}_D^2\left(\rho_{H_{\boldsymbol{s}}}\right)}}=\sqrt{\frac{m \sum_{i \neq j}\left(\rho_{H_{\boldsymbol{s}}}\left(\boldsymbol{x}_{\boldsymbol{i}}, y_i\right)-\rho_{H_{\boldsymbol{s}}}\left(\boldsymbol{x}_{\boldsymbol{j}}, y_j\right)\right)^2}{2(m-1)\left(\sum_{i=1}^m \rho_{H_{\boldsymbol{s}}}\left(\boldsymbol{x}_{\boldsymbol{i}}, y_i\right)\right)^2}},
ρDratio??(Hs?)=MeanD2?(ρHs??)VarD?(ρHs??)??=2(m?1)(∑i=1m?ρHs??(xi?,yi?))2m∑i=j?(ρHs??(xi?,yi?)?ρHs??(xj?,yj?))2??,
其中
ρ
H
s
(
x
i
,
y
i
)
\rho_{H_{\boldsymbol{s}}}(\boldsymbol{x}_i,y_i)
ρHs??(xi?,yi?) 表示 Pruned Ensemble
H
s
H_{\boldsymbol{s}}
Hs? 在
(
x
i
,
y
i
)
(\boldsymbol{x}_i,y_i)
(xi?,yi?) 上的间隔:
ρ
H
s
(
x
i
,
y
i
)
=
y
i
H
s
(
x
i
)
=
1
∣
s
∣
(
∑
t
:
y
i
=
h
t
(
x
i
)
s
t
?
∑
t
:
y
i
≠
h
t
(
x
i
)
s
t
)
.
\rho_{H_{\boldsymbol{s}}}\left(\boldsymbol{x}_{\boldsymbol{i}}, y_i\right)=y_i H_{\boldsymbol{s}}\left(\boldsymbol{x}_i\right)=\frac{1}{|\boldsymbol{s}|}\left(\sum_{t: y_i=h_t\left(\boldsymbol{x}_i\right)} \boldsymbol{s}_t-\sum_{t: y_i \neq h_t\left(\boldsymbol{x}_i\right)} s_t\right) .
ρHs??(xi?,yi?)=yi?Hs?(xi?)=∣s∣1?
?t:yi?=ht?(xi?)∑?st??t:yi?=ht?(xi?)∑?st?
?.
上述目标可通过 Multi-objective Evolutionary Algorithms 进行解决,本文给出了大致的算法框架:
其中 5、6 两步取决于具体的演化学习算法;uniform crossover operator
即 offspring solution 中每个 bit 独立,且 1/2 的概率从 the first parent solution (from line 5) 继承,1/2 的概率从 the second parent solution (from line 5) 继承;bit-wise mutation operator
即每个 bit 独立,且 1/n 的概率翻转。
最终在 solution 集合中选取 validation error 最小的结果,第二关键字是 ensemble size。