如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。
选择性集成,即集成剪枝(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)=m1i=1∑m(I(yiHs(xi)<0)+2I(yiHs(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)=yiHs(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。