«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (10): 189-195  DOI: 10.19678/j.issn.1000-3428.0050909
0

引用本文  

任胜兵, 谢如良. 基于AdaBoost的弹性网型正则化多核学习算法[J]. 计算机工程, 2019, 45(10), 189-195. DOI: 10.19678/j.issn.1000-3428.0050909.
REN Shengbing, XIE Ruliang. Elastic-net Regularization Multi Kernel Learning Algorithm Based on AdaBoost[J]. Computer Engineering, 2019, 45(10), 189-195. DOI: 10.19678/j.issn.1000-3428.0050909.

基金项目

中南大学研究生自主探索创新项目(1053320170432)

作者简介

任胜兵(1969-), 男, 副教授、博士, 主研方向为模式识别、图像处理、可信软件;
谢如良, 硕士研究生

文章历史

收稿日期:2018-03-22
修回日期:2018-06-27
基于AdaBoost的弹性网型正则化多核学习算法
任胜兵 , 谢如良     
中南大学 软件学院, 长沙 410075
摘要:在正则化多核学习中,稀疏的核函数权值会导致有用信息丢失和泛化性能退化,而通过非稀疏模型选取所有核函数则会产生较多的冗余信息并对噪声敏感。针对上述问题,基于AdaBoost框架提出一种弹性网型正则化多核学习算法。在迭代选取基本分类器时对核函数的权值进行弹性网型正则化约束,即混合L1范数和Lp范数约束,构造基于多个基本核最优凸组合的基本分类器,并将其集成到最终的强分类器中。实验结果表明,该算法在保留集成算法优势的同时,能够实现核函数权值稀疏性和非稀疏性的平衡,与L1-MKL和Lp-MKL算法相比,能够以较少的迭代次数获得分类精度较高的分类器。
关键词集成学习    多核学习    弹性网型正则化    弱分类器    稀疏性    
Elastic-net Regularization Multi Kernel Learning Algorithm Based on AdaBoost
REN Shengbing , XIE Ruliang     
School of Software, Central South University, Changsha 410075, China
Abstract: In regularization multi kernel learning, the sparse kernel function weight leads to the loss of useful information and the degradation of generalization performance, while selecting all kernel functions through non-sparse models generates more redundant information and is sensitivity to noise.Aiming at these problems, an elastic-net regularization multi kernel learning algorithm based on AdaBoost architecture is proposed.When the basic classifier is selected at each iteration, the weight of the kernel function is added with the elastic-net regularization, that is, mixed L1 norm and Lp norm constraints.The basic classifier are constructed based on multi basic kernel optimal convex combinations, which are integrated into the final strong classifier.Experimental results show that the proposed algorithm can balance the sparsity and non-sparsity of the weight in kernel function while preserving the advantages of the integrated algorithm.Compared with L1-MKL and Lp-MKL algorithms, it can obtain the classifier with higher classification accuracy in fewer iterations.
Key words: ensemble learning    multi kernel learning    elastic-net regularization    weak classifier    sparsity    
0 概述

目前多核学习[1]已成为机器学习领域的热门研究方向, 各种基于支持向量机(Support Vector Machine, SVM)的多核学习方法相继出现。文献[2]在核权值L2范数约束的基础上, 提出Lp(p>1)范数约束的多核学习(Lp-norm Multiple Kernel Learning, Lp-MKL)方法。文献[3]提出基于集成策略的多核选择方法, 优化了核函数的选择过程。在上述基于正则化的多核学习中, 当采用L1范数约束核权值时, 得到的核权值是稀疏解, 会导致信息丢失和模型泛化能力减弱[4]; 而采用Lp(p>1)范数约束时, 得到的核权值为非稀疏解, 核函数将被全部选择, 导致模型对噪声敏感, 会出现冗余信息并且降低可解释性[5], 同时也会增加时间和空间复杂度。文献[6]提出MKBoost-D2方法。该方法每次迭代得到的最优基本分类器为所有核函数的加权组合, 其中也包含性能较差的核函数, 因此与采用Lp范数约束存在同样的问题。

文献[7-8]提出采用弹性网络对核函数权值进行约束的多核学习方法, 文献[9]采用一种变稀疏的方式选取核权值。上述方法基于弹性正则化选择核权值, 平衡了核权值的稀疏性与非稀疏性, 提高了分类精度。文献[10-11]对弹性多核学习算法进行优化, 文献[12]提出基于半无限规划的弹性多核学习算法。但上述弹性正则化多核学习没有对最终的分类器进行加权集成, 分类性能不稳定。

本文基于AdaBoost[13]框架提出一种弹性网型正则化多核学习算法(Elastic-net Regularization Multi Kernel Learning Algorithm Based on AdaBoost, AdaBoost-EMKL)。在获取基本分类器时, 采用弹性网类型正则化进行约束, 即对核权值同时加人L1Lp范数约束, 以保留性能优异的核函数和大量有用的特征, 通过自适应多核学习动态平衡权值的稀疏性和非稀疏性。

1 多核学习相关理论 1.1 相关符号和概念

假设数据集为D={(xi, yi)|i=1, 2, …, m}, xi$ \mathbb{R} $d。如果学习算法求解的是二分类问题, 则yi=±1;如果学习算法求解的是回归问题, 则yi$ \mathbb{R} $。机器学习的目标是找到一个函数f, 该函数能够对未知数据进行准确预测。设f是通过最小正则化风险得到的函数, 如式(1)所示。

$ {f^*} = \mathop {{\rm{argmin}}}\limits_f C{R_{{\rm{emp}}}}\left( f \right) + \mathit{\Omega }\left( f \right) $ (1)

其中, $ {{R}_{\text{emp}}}\left( f \right)=\frac{1}{n}\sum\limits_{i=1}^{n}{G(f\left( {{\boldsymbol{x}}_{i}} \right), {{y}_{i}})}$f关于损失的经验风险, Ω:H$ \mathbb{R} $为正则化项, 正参数C用于平衡正则化项和经验风险项。本文使用的正则化项为$ \mathit{\Omega} \left( f \right)=\frac{1}{2}\left\| \boldsymbol{w} \right\|_{p}^{p} $, 函数f采用线性模型[14], 如式(2)所示。

$ {f_{w,b}}(\mathit{\boldsymbol{x}}) = \left\langle {\mathit{\boldsymbol{w}},\phi \left( \mathit{\boldsymbol{x}} \right)} \right\rangle + b $ (2)

其中, ϕ(x):XH为样本从输入空间$ \mathbb{R} $n到特征空间H(希尔伯特空间)的映射, 其完成映射过程的核函数K(x, z)=ϕ(x)ϕ(z)并不需要定义映射函数ϕ的具体形式。因此, 在输入空间$ \mathbb{R} $n中的的超曲面模型对应于特征空间H中超平面模型, 则原空间中的非线性可分问题转变成新空间中的线性可分问题。

1.2 正则化多核学习框架

在多核学习框架中, 假设最优核K是基核{K1, K2, …, KM}的线性组合, 其核权值为{θ1, θ2, …, θM}, 通常可以通过正则化风险最小来求解最优核组合, 如式(3)和式(4)所示。

$ \mathop {\min }\limits_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }} \ge 0} C\sum\limits_{i = 1}^n G \left( {{f_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }}}}\left( {{\mathit{\boldsymbol{x}}_i}} \right),{y_i}} \right) + \frac{1}{2}\left\| \mathit{\boldsymbol{w}} \right\|_p^p $ (3)
$ {\rm{s}}.\;{\rm{t}}.\;\phi \left( \mathit{\boldsymbol{\theta }} \right) \le 1 $ (4)

其中, G:$ \mathbb{R} $×yi$ \mathbb{R} $为损失函数, $ \frac{1}{2}\left\| \boldsymbol{w} \right\|_{p}^{p} $为正则化项, ϕ(θ)为核权值θ的正则化定义。由于式(3)为非凸函数, 因此根据文献[2]进行变换可得到式(5)。

$ \mathop {\min }\limits_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }} \ge 0} C\sum\limits_{i = 1}^n G \left( {{f_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }}}}\left( {{\mathit{\boldsymbol{x}}_i}} \right),{y_i}} \right) + \frac{1}{2}\sum\limits_{m = 1}^M {\frac{{\left\| \mathit{\boldsymbol{w}} \right\|_p^p}}{{{\theta _m}}}} $ (5)

如果式(5)中的损失函数G与式(4)都为凸函数, 则式(5)也为凸函数, 因此, 求解的最优值为全局最优值。本文分类问题中采用的损失函数为合页损失函数L[y(wT·x+b)]=[1-y(wT·x+b)]+, 同时在公式中引入松弛变量ξi, 则式(5)可改写成式(6)。

$ \begin{array}{*{20}{l}} {\mathop {\min }\limits_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }},\mathit{\boldsymbol{\xi }}} C\sum\limits_{i = 1}^n {{\xi _i}} + \frac{1}{2}\sum\limits_{m = 1}^M {\frac{{\left\| \mathit{\boldsymbol{w}} \right\|_p^p}}{{{\theta _m}}}} }\\ {{\rm{s}}.{\rm{ t}}.{\rm{ }}{y_i}\left( {\sum\limits_{m = 1}^M {\mathit{\boldsymbol{w}}_m^{\rm{T}}} {\varphi _m}\left( {{\mathit{\boldsymbol{x}}_i}} \right) + b} \right) \ge 1 - {\xi _i},}\\ {{\xi _i} \ge 0,\phi \left( \boldsymbol{\theta} \right) \le 1} \end{array} $ (6)

在多核学习过程中, 如果在选择核权值时采用L1范数进行约束, 即在式(6)中ϕ(θ)=||θ||1, 则该方法被称为L1-MKL。目前有大量关于L1-MKL加速的算法, 例如半定规划(Semi-Definite Programming, SDP)、半无限线性规划(Semi-Infinite Linear Programming, SILP)以及梯度下降等方法都可以减少求取最优核权值的时间复杂度, 但是使用L1-MKL可能会丢失信息, 导致模型的泛化性能下降。

如果在选择核权值时采用Lp范数进行约束, 即在式(6)中ϕ(θ)=||θ||pp, 则该方法被称为Lp-MKL。在通用性上Lp-MKL较L1-MKL有明显提高。但是Lp-MKL在核权值的选择上会产生非稀疏解, 即所有的核都会参与到模型中, 而非稀疏模型可解释性较差, 并且对噪声敏感, 同时也会产生冗余信息。因此, 本文在选择核权值时, 采用的是混合L1范数和Lp范数进行约束, 即弹性正则化约束。基于弹性正则化约束的核权值选择是通过调节参数v平衡其稀疏性与非稀疏性, 该方法能够增强模型的泛化能力, 同时也能降低其经验风险, 即降低模型对噪声的敏感性, 使模型更具鲁棒性。

2 算法设计 2.1 弹性网型正则化

针对传统多核学习中核函数权值稀疏性或非稀疏性的问题, 本文在选择基本分类器时, 基于L1范数和Lp范数(p>1)混合网型正则化对基本分类器的核函数进行约束选择, 以平衡核权值的稀疏性与非稀疏性, 减少因稀疏性造成模型泛化能力退化与信息丢失的情况, 避免非稀疏模型的解释性差、噪声敏感以及产生冗余信息的缺点。优化目标如式(7)和式(8)所示。

$ \mathop {\min }\limits_{\mathit{\boldsymbol{\theta }} \in \mathit{\boldsymbol{ \boldsymbol{\varTheta} }},\mathit{\boldsymbol{w}},b} C\sum\limits_{i = 1}^n G \left( {{f_{\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\theta }}}}\left( {{\mathit{\boldsymbol{x}}_i}} \right),{y_i}} \right) + \frac{1}{2}\sum\limits_{m = 1}^M {\frac{{\left\| \mathit{\boldsymbol{w}} \right\|_p^p}}{{{\theta _m}}}} $ (7)
$ \mathit{\Theta } = \left\{ {\mathit{\boldsymbol{\theta }} \in \mathbb{R}_ + ^m:\left( {v{{\left\| \mathit{\boldsymbol{\theta }} \right\|}_1} + (1 - v)\left\| \mathit{\boldsymbol{\theta }} \right\|_p^p} \right) \leqslant 1} \right\} $ (8)

其中, 参数v(0≤v≤1)的主要作用是平衡2项约束, 即平衡核权值的稀疏性与非稀疏性。当v=0时, 约束简化为对核权值的Lp范数约束, 即为Lp -MKL方法; 当v=1时, 约束简化为L1范数约束, 即为L1-MKL方法。当v∈(0, 1)时, 式(8)关于θ是严格的凸函数, 并且同时具有L1范数约束与Lp范数约束的相关特性。当v的值较大时, ||θ||1占比更大, 因此核权值更趋向于稀疏解; 反之, 会降低核权值的稀疏性。关于优化目标式(7), 如果使用凸损失函数, 则优化目标为凸优化问题, 求得的最优值为全局最优值。与式(6)的处理方式相同, 如果采用合页损失函数, 则优化目标式(7)的原始问题等价于式(9)。

$ \begin{array}{*{20}{l}} {\mathop {\min }\limits_{\mathit{\boldsymbol{\theta }} \in \mathit{\Theta },\mathit{\boldsymbol{w}},b} C\sum\limits_{i = 1}^n {{\xi _i}} + \frac{1}{2}\sum\limits_{m = 1}^M {\frac{{\left\| \mathit{\boldsymbol{w}} \right\|_p^p}}{{{\theta _m}}}} }\\ {{\rm{s}}.{\rm{ t}}{\rm{. }}{y_i}\left( {\sum\limits_{m = 1}^M {\mathit{\boldsymbol{w}}_m^{\rm{T}}} {\varphi _m}\left( {{\mathit{\boldsymbol{x}}_i}} \right) + b} \right) \ge 1 - {\xi _i},{\xi _i} \ge 0} \end{array} $ (9)

采用拉格朗日乘子法, 可得到L(w, b, ξ, α, β)计算公式如下:

$ \begin{array}{*{20}{c}} {L\left( {\mathit{\boldsymbol{w}},b,\mathit{\boldsymbol{\xi }},\mathit{\boldsymbol{\alpha }},\mathit{\boldsymbol{\beta }}} \right) = C\sum\limits_{i = 1}^n {{\xi _i}} + \frac{1}{2}\sum\limits_{m = 1}^M {\frac{{\left\| \mathit{\boldsymbol{w}} \right\|_p^p}}{{{\theta _m}}}} - \sum\limits_{i = 1}^n {{\beta _i}} {\xi _i} - }\\ {\sum\limits_{i = 1}^n {{\alpha _i}} \left( {{y_i}\left( {\sum\limits_{m = 1}^M {\sum\limits_{m = 1}^M {\mathit{\boldsymbol{w}}_m^{\rm{T}}} } {\varphi _m}\left( {{\mathit{\boldsymbol{x}}_i}} \right) + b} \right) - 1 + {\xi _i}} \right)} \end{array} $ (10)

其中, α>0、β>0为拉格朗日乘子。对拉格朗日函数对应的原始变量wbξ求偏导数, 得到式(9)的对偶形式:

$ \mathop {\min }\limits_{\mathit{\boldsymbol{\theta }} \in \mathit{\boldsymbol{ \boldsymbol{\varTheta} }}} \mathop {\max }\limits_\mathit{\boldsymbol{\alpha }} D\left( {\mathit{\boldsymbol{\theta }},\mathit{\boldsymbol{\alpha }}} \right),{\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{. }}0 \le \mathit{\boldsymbol{\alpha }} \le C,{\mathit{\boldsymbol{y}}^{\rm{T}}}\mathit{\boldsymbol{\alpha }} = 0 $ (11)
$ \begin{array}{l} D\left( {\mathit{\boldsymbol{\theta }},\mathit{\boldsymbol{\alpha }}} \right) = \sum\limits_{i = 1}^N {{\alpha _i}} - \frac{1}{2}\sum\limits_{i,j = 1}^N {{\alpha _i}} {\alpha _j}{y_i}{y_j}\sum\limits_{m = 1}^M {{\theta _m}} {K_m}\left( {{\mathit{\boldsymbol{x}}_i},{y_i}} \right) = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\sum\limits_{i = 1}^N {{\alpha _i}} - \frac{1}{2}{\left( {\mathit{\boldsymbol{\alpha }} \circ \mathit{\boldsymbol{y}}} \right)^{\rm{T}}}\sum\limits_{m = 1}^M {{\theta _m}} {K_m}\left( {\mathit{\boldsymbol{\alpha }} \circ \mathit{\boldsymbol{y}}} \right) \end{array} $ (12)

其中, ∘表示2个向量对应位置元素的乘积。式(11)为凸问题, 其最优解能够保证为全局最优。并且式(11)为SVM的标准对偶形式, 通常在算法中直接使用SVM解决器[15]进行求解。优化式(11)的鞍点问题, 通常采用交替优化αθ进行求解。当θ固定时, 可以执行SVM求解变量α; 当求取核权值θ时, 可以将式(11)转化成半无限规划问题再求解。假设u(α, θ)为目标函数值, 并且α*为最优解, 则对于任何αθ, 有u(α*, θ)≥u(α, θ)。因此, 式(11)等价于最小化最优值的上界η, 式(13)为半无限规划问题。

$ \begin{array}{l} \mathop {\min }\limits_\eta \eta \\ {\rm{s}}.\;{\rm{t}}.{\rm{ }}\forall \mathit{\boldsymbol{\alpha }} \in A:\eta \ge \sum\limits_{i = 1}^N {{\mathit{\boldsymbol{\alpha }}_i}} - \frac{1}{2}{\left( {\mathit{\boldsymbol{\alpha }} \circ \mathit{\boldsymbol{y}}} \right)^{\rm{T}}} \cdot \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left( {\sum\limits_{m = 1}^M {{\theta _m}{K_m}} } \right)\left( {\mathit{\boldsymbol{\alpha }} \circ \mathit{\boldsymbol{y}}} \right),\theta \ge 0\\ v{\left\| \mathit{\boldsymbol{\theta }} \right\|_1} + \left( {1 - v} \right)\left\| \mathit{\boldsymbol{\theta }} \right\|_p^p \le 1 \end{array} $ (13)

其中, A={α$ \mathbb{R} $|0≤αC, yTα=0}, 当p>1时, v||θ||1+(1-v)||θ||pp≤1为非线性约束, 可以使用二阶泰勒展开式进行近似处理。在二阶泰勒展开式中, 二次项的Hessian矩阵为正对角阵, 因此能有效地求解二次约束问题。为保证算法的有效运行, 首先赋予θ一个初始值, 假设所有的核函数K1, K2, …, KM都是半正定的, 则式(14)成立。

$ v{\left\| \mathit{\boldsymbol{\theta }} \right\|_1} + (1 - v)\left\| \mathit{\boldsymbol{\theta }} \right\|_p^p = 1 $ (14)

假设所有θt0都相同, 结合式(13)和式(14), 可求解初始值θt0为:

$ \theta _t^0 = \frac{{\sqrt {{v^2}{p^2} + 4(1 - v)p} - vp}}{{2(1 - v)p}} $ (15)

算法1为求取基本分类器的基本过程。在算法1中, 首先进行相关参数的初始化, 第1步采用SVM的标准解法更新α; 然后计算优化问题, 第3步~第6步通过混合网型约束求取核函数的权值, 当违反规范化最大约束时, 算法就会停止, 即已经达到收敛判定准则; 最后对集合分类器进行集成, 即可得到一个基本分类器。

算法1  弹性网型正则算法

输入  核函数:Kj(·, ·):x×x$ \mathbb{R} $, j=1, 2, …, M初始化各参数:容忍误差ε=5×10-4, t=1, η0=-∞, θt0(由式(15)计算得到)

输出  基本分类器ft(x)

1.令αold=α, 使用$ {\rm{K}} = \sum\limits_{{\rm{m = 1}}}^{\rm{M}} {{{\rm{ \mathsf{ θ} }}_{\rm{m}}}{{\rm{K}}_{\rm{m}}}} $求解SVM, 更新α

2.计算$ \mathop {{\rm{min}}}\limits_{{\rm{ \mathsf{ θ} }} \in \Theta } \mathop {{\rm{max}}}\limits_{\rm{ \mathsf{ α} }} {\rm{D}}\left( {{\rm{ \mathsf{ θ} , \mathsf{ α} }}} \right) $

3.while |1-Dtt|≤ε

4.引入式(8)中L1范数与Lp范数混合约束的条件, 使用二阶泰勒展开式进行近似, 求解半无限规划问题, 得到(θt+1, ηt+1)

5.t←t+1

6.end while

7.将基核分类器进行集成得到基本分类器:ft(x)

2.2 AdaBoost-EMKL算法

在采用基于弹性网型正则化选择出核函数后, 即可得到基本分类器。AdaBoost-EMKL的总体思路是在选择出基本分类器后, 应用提升算法学习一个多核分类器。训练样本的权系数Dt表明其对于学习的重要性, 在每一轮的迭代中, 首先根据样本分布Dt抽取n个子样本, 得到训练子集并给定一定数量的核函数。在得到训练子集和核函数以后, 基于弹性网型正则化进行基本核函数的核权值的选取, 如算法1所示。选择出基本分类器ft(x)以后, 根据在AdaBoost相似过程中训练数据的分布Dt计算每个基本分类器的错分率, 依据错分率进一步度量每个基本分类器的性能, 如式(16)所示。

$ {\varepsilon ^t} = \sum\limits_{i = 1}^N {{D_t}} (i)\left( {{f_t}\left( {{\mathit{\boldsymbol{x}}_i}} \right) \ne {y_i}} \right) $ (16)

根据分类器的错分率εt进行每个基本分类器权重αt的计算, 同时对训练样本的权重分布进行更新, 如式(17)和式(18)所示。

$ {\alpha _t} = \frac{1}{2}\ln \left( {\frac{{1 - {\varepsilon ^t}}}{{{\varepsilon ^t}}}} \right) $ (17)
$ {D_{t + 1}} \to \frac{{{D_t}(i)}}{{{Z^t}}}\exp \left( { - {\alpha _t}{y_i}{f_t}\left( {{\mathit{\boldsymbol{x}}_i}} \right)} \right) $ (18)

其中, Zt是归一化因子。通过反复学习基本核分类器, 迭代完成后根据权重系数对基本分类器进行集成, 得到的最终分类器如式(19)所示。

$ f(\mathit{\boldsymbol{x}}) = \text{sign} \left( {\sum\limits_{t = 1}^T {{\alpha _t}} {f_t}(\mathit{\boldsymbol{x}})} \right) $ (19)

本文算法伪代码如算法2所示。

算法2  AdaBoost-EMKL算法

输入  训练样本:数据集{(x1, y1), (x2, y2), …, (xN, yN)}

核函数:Kj(·, ·):x×x$ \mathbb{R} $, j=1, 2, …, M

初始化训练样本的分布:D1(i)=1/N, i=1, 2, …, N

输出  强分类器$ f\left( \mathit{\boldsymbol{x}} \right) = {\rm{sign}}(\sum\limits_{t = 1}^T {{\alpha _t}{f_t}(\mathit{\boldsymbol{x}})} ) $

1.for t=1, 2, …, T do

2.根据训练样本的分布Dt抽取n个样本, 得到训练子集

3.利用混合正则约束求取若干个核函数Kj在训练子集下的最优组合, 得到基本分类器ft(x)

4.根据训练样本分布Dt计算训练错分率:

$ {{\rm{ \mathsf{ ε} }}^{\rm{t}}} = \sum\limits_{{\rm{i}} = 1}^{\rm{N}} {{{\rm{D}}_{\rm{t}}}({\rm{i}})\left( {{{\rm{f}}_{\rm{t}}}\left( {{0_{\rm{i}}}} \right) \ne {{\rm{y}}_{\rm{i}}}} \right)} $

5.计算基分类器的权重:

$ {{\rm{ \mathsf{ α} }}_{\rm{t}}} = \frac{1}{2}\ln \left( {\frac{{1 - {{\rm{ \mathsf{ ε} }}^{\rm{t}}}}}{{{{\rm{ \mathsf{ ε} }}^{\rm{t}}}}}} \right) $

6.更新训练样本的分布:

$ {{\rm{D}}_{{\rm{t}} + 1}} \to \frac{{{{\rm{D}}_{\rm{t}}}({\rm{i}})}}{{{{\rm{Z}}^{\rm{t}}}}}\exp \left( { - {{\rm{ \mathsf{ α} }}_{\rm{t}}}{{\rm{y}}_{\rm{i}}}{{\rm{f}}_{\rm{t}}}\left( {{{\rm{x}}_{\rm{i}}}} \right)} \right) $

7.t←t=1

8.end for

9.将基本分类器进行集成得到强分类器:$ {\rm{f}}\left( {\rm{x}} \right) = {\rm{sign}}(\sum\limits_{{\rm{t = 1}}}^{\rm{T}} {} {{\rm{ \mathsf{ α} }}_{\rm{t}}}{{\rm{f}}_{\rm{t}}}\left( {\rm{x}} \right){\rm{)}} $

算法2的输入为相关数据集和初始化的参数, 输出为强分类器, 第1步~第8步是进行基本分类器的选择。其中, 第2步根据样本的分布抽取n个样本子集, 第3步采用算法1进行基本分类器核权值的选择, 第4步计算训练错分率, 第5步根据错分率计算当前基本分类器的权值, 第6步更新训练样本的分布同时进行归一化操作。进行T轮迭代后, 结束整个迭代的过程, 将得到的基本分类器进行集成为最终的强分类器。AdaBoost-EMKL算法由于采用了弹性网型正则化选取核函数的权值, 避免了核权值稀疏性与非稀疏性所带来的问题。同时该算法具有集成算法的优势, 能够通过不断迭代增强分类器的性能。

2.3 时间复杂度

在算法2中, 每次进行迭代时, 首先都要选择出一个基本分类器, 如算法2的第3步所示。基本分类器的求解采用算法1中的基本过程。该过程包含了标准SVM问题的求解(如算法1的第1步所示)以及二次约束二次规划问题的求解, 如算法1的第4步所示。本文采用的是SMO算法求解SVM标准问题, 其时间复杂度为O(n2), 二次约束二次规划问题的收敛速度为O(n2), 因此, 算法1总的时间复杂度为O(n2)。而算法2的时间复杂度主要取决于其自身迭代次数与算法1的时间复杂度, 因此, 算法2的时间复杂度为O(TO(n2)。

3 实验结果与分析 3.1 实验数据与环境

本文采用标准SVM、SimpleMKL、L1-MKL、Lp-MKL以及MKBoost-D2[6]算法作为对比算法, 验证本文算法的性能以及可行性。SimpleMKL与L1-MKL基于L1范数约束, 本文算法与其对比核权值的稀疏性。Lp-MKL基于Lp范数约束, MKBoost-D2基于核权值非稀疏的Adaboost集成多核方法。上述2种方法在选取核函数的权值时都是非稀疏的, 因此能与本文算法形成鲜明的对比。本文实验采用的数据集信息如表 1所示, 整个实验将在Microsoft Windows 8(64位), 2.7 GHz Intel CPU, 6 GB RAM, Matlab7.8.0 R2009a平台上进行。

下载CSV 表 1 数据集信息
3.2 实验参数设置

本文实验选用的高斯核σ的取值分别为1.5-5, 1.5-4, …, 1.56, 2-5, 2-4, …, 26, 多项式指数分别为1、2、3。SVM以及其他算法正则化参数采用5-折交叉验证选择最优参数。设置Lp -MKL与本文算法的p值为2、4、6。平衡参数v的值从集合{0.0, 0.1, …, 1.0}中选取。对于SimpleMKL算法, 采用SimpleMKL工具箱进行求解[15], 当对偶间隙小于0.001或者迭代次数超过500时停止算法。本文算法采用迭代次数超过500次并且核权值相差在0.001以内作为停止标准。

3.3 性能比较 3.3.1 分类精度对比

本文对每个算法进行10次重复实验, 每次实验均从数据集中随机选择一定数量的样本作为训练集, 剩余样本作为测试集, 各算法的分类精度与训练样本的关系如图 1所示。从图 1可以看出, 随着训练样本数量增多, 各算法的分类精度都有所提升, 并且在各个数据集中, 无论训练样本数量多少, 本文算法的分类精度均较高, 表明其泛化性能较优。

Download:
图 1 6种算法的分类精度与训练样本数之间的关系

随机从7个数据集中选择80%的样本作为训练集, 剩余样本为测试集。各算法均执行10次, 每次参数相同, 在测试集上求出其平均分类精度与标准差, 结果如表 2所示。

下载CSV 表 2 6种算法的分类精度与标准差比较

表 2得到以下结论:

1) 在所有的数据集中SVM表现的分类性能较差。

2) SimpleMKL基于L1范数约束, 因此, 其与L1-MKL的分类性能相差较小。

3) Lp-MKL作为非稀疏类模型, 其泛化性能优于稀疏模型, 但是由于其对噪声敏感并且有冗余信息, 分类性能并没有明显优于L1-MKL, 且相对于AdaBoost-D2分类精度较差。

4) AdaBoost-D2是在非稀疏性核权值构造的基本分类器基础上集成的强分类器, 其分类性能优于Lp-MKL。

5) Adaboost-EMKL在选择基本分类器时采用弹性网型正则约束核权值, 平衡了核权值的稀疏性与非稀疏性, 通过集成学习得到最终的强分类器, 因此本文算法在分类性能上优于AdaBosot-D2。

3.3.2 收敛性对比

在Ionosphere、Monks2、Segement、Svmguide2数据集随机选取80%样本作为训练集, 剩余的为测试集, 对比本文算法和MKBoost-D2算法的收敛性。算法迭代次数为30次, 实验次数为10次, 2种集成多核学习算法的精度与迭代关系如图 2所示。

Download:
图 2 本文算法的收敛性比较

图 2可以看出, 算法的分类精度随着迭代次数的增加而提高。在刚开始迭代时, MKBoost-D2分类精度高于本文算法, 当迭代超过10次后, 本文算法的分类精度较优, 且算法开始收敛, 即分类精度逐渐稳定。因此, 本文算法的收敛性较好, 能在有效的迭代次数内收敛到最优值。

3.3.3 参数p对比

为了验证不同p值, 即在不同范数正则约束情况下, 不同算法的时间性能以及核函数数量选择的变化情况, 本文在Ionosphere、Segment、Wdbc数据集中进行算法评估。随机选择80%样本作为训练集, 剩余样本为测试集。各算法均执行10次, 实验结果如表 3~表 5所示。从表 3~表 5可以看出, p值不同本文算法分类精度也不同, 因此, 选择合适的p值对算法至关重要, 针对不同的数据集可以采用交叉验证的方法选择出合适的p值。当p=2时, 本文算法比L1-MKL选择了更多的核函数。这是因为L1-MKL的核权值是稀疏的, 所以丢弃了许多核函数, 忽略一些有用的信息, 导致其缺少泛化能力。而Lp-MKL选择了所有的核函数, 但是其对噪声敏感, 因此与L1-MKL对比, 其分类精度并不存在优势, 由表 4可知Lp-MKL的分类性能比稀疏的L1-MKL差。而本文算法采用是弹性网型正则, 选择了适量的核函数, 所取得的核权值是处于稀疏与非稀疏之间。同时算法的运行时间随着p值的变化而不同, 当p值较小时, 算法的运行时间较少, 并且在多数数据集中, 本文算法运行效率都高于L1-MKL, 这是因为当L1-MKL更新下降方向时, 需要进行大量的计算。

下载CSV 表 3 不同范数正则约束情况下Ionosphere数据集的测试结果
下载CSV 表 4 不同范数正则约束情况下Segment数据集的测试结果
下载CSV 表 5 不同范数正则约束情况下Wdbc数据集的测试结果
3.3.4 参数v对比

本文选择Segment与Wdbc数据集测试平衡参数v对于分类精度的影响, 实验结果如图 3所示。

Download:
图 3 Adaboost-EMKL算法精度与v取值的关系

v=0时, 由式(12)可知, 弹性网型正则退化为Lp正则, 此时其分类精度是LP-MKL的结果。同理可得, 当v=1时, 弹性网型正则为L1正则。当v∈(0, 1)时, 对于不同的数据集, 最优分类精度随着v值取值不同而变化, 因此本文采用交叉验证来对vp进行调整, 以获得更好的分类精度。

本文在Segment数据集中测试Adaboost-EMKL算法的v与核函数数量的关系, 结果如图 4所示。从图 4可以看出, 随着v值的增大, 即核权值更稀疏, 所选择的核函数数量逐渐变小, 并且该规律不受其他因素影响, 即核函数数量只与v相关。

Download:
图 4 Adaboost-EMKL算法中v取值与选择核数量的关系
4 结束语

本文提出AdaBoost-EMKL算法, 利用AdaBoost集成学习的设计思想, 将基本分类器集成为强分类器。在迭代求取基本分类器时, 采用弹性网型正则化约束选择核权值, 以提高模型的泛化能力并降低其对噪声敏感性。实验结果表明, 该算法不仅具有AdaBoost集成算法的优点, 而且能够平衡L1正则的稀疏性与Lp正则的非稀疏性, 在较少的迭代次数内, 获得分类精度高、运行速度快且性能稳定的分类器。

参考文献
[1]
CHAPELLE O, VAPNIK V, BOUSQUET O, et al. Choosing multiple parameters for support vector machines[J]. Machine Learning, 2002, 46(1/2/3): 131-159. (0)
[2]
KLOFT M, BREFELD U, SONNENBURG S.Efficient and accurate Lp-norm multiple kernel learning[C]//Prcoeedings of Advances in Neural Information Processing Systems.[S.1.]: NIPS Foundation, Inc., 2009: 997-1005. (0)
[3]
SUN Tao, JIAO Licheng, LIU Fang, et al. Selective multiple kernel learning for classification with ensemble strategy[J]. Pattern Recognition, 2013, 46(11): 3081-3090. DOI:10.1016/j.patcog.2013.04.003 (0)
[4]
YANG Haiqin, XU Zenglin, YE Jieping, et al. Efficient sparse generalized multiple kernel learning[J]. IEEE Transactions on Neural Networks, 2011, 22(3): 433-446. DOI:10.1109/TNN.2010.2103571 (0)
[5]
KLOFT M, BREFELD U, SONNENBURG S, et al.Non-sparse regularization and efficient training with multiple kernels[EB/OL].[2018-03-01].https://arxiv.org/abs/1003.0079. (0)
[6]
XIA Hao, HOI S C H. MKBoost:a framework of multiple kernel boosting[J]. IEEE Transactions on Knowledge and Data Engineering, 2013, 25(7): 1574-1586. DOI:10.1109/TKDE.2012.89 (0)
[7]
CITI L.Elastic-net constrained multiple kernel learning using a majorization-minimization approach[C]//Proceedings of Computer Science and Electronic Engineering Conference.Washington D.C., USA: IEEE Press, 2015: 29-34. (0)
[8]
武征鹏, 张学工. 弹性多核学习[J]. 自动化学报, 2011, 37(6): 693-699. (0)
[9]
王庆超, 付光远, 汪洪桥, 等. 基于局部空间变稀疏约束的多核学习方法[J]. 电子学报, 2018, 46(4): 930-937. DOI:10.3969/j.issn.0372-2112.2018.04.022 (0)
[10]
何佳佳, 陈秀宏, 田进, 等. 基于牛顿梯度优化的弹性多核学习[J]. 传感器与微系统, 2018(2): 136-139. (0)
[11]
张仁峰, 吴小俊, 陈素根. 通用稀疏多核学习[J]. 计算机应用研究, 2016, 33(1): 21-27. DOI:10.3969/j.issn.1001-3695.2016.01.005 (0)
[12]
梁军, 李世浩, 张飞云, 等. 基于半无限规划的弹性多核学习算法[J]. 华中科技大学学报(自然科学版), 2015, 43(8): 103-106. (0)
[13]
曹莹, 苗启广, 刘家辰, 等. AdaBoost算法研究进展与展望[J]. 自动化学报, 2013, 39(6): 745-758. (0)
[14]
SCHOLKOPF B, SMOLA A J. Learning with kernels:support vector machines, regularization, optimization, and beyond[M]. Cambridge, USA: MIT Press, 2001. (0)
[15]
RAKOTOMAMONJY A, BACH F R, CANU S, et al. SimpleMKL[J]. Journal of Machine Learning Research, 2008, 9(3): 2491-2521. (0)