2. 无锡职业技术学院 物联网学院,江苏 无锡 214121;
3. 江苏省媒体设计与软件技术重点实验室(江南大学),江苏 无锡 214122
2. School of Internet of Things, Wuxi Institute of Technology, Wuxi 214121, China;
3. Jiangsu Key Laboratory of Media Design and Software Technology, Jiangnan University, Wuxi 214122, China
随着计算机信息技术的发展,每天都会产生大量电信服务、电子商务、金融市场、交通流量、网络监控、超市零售等方面的数据,这些数据是持续增加且不断变化的。由于数据特征会随着时间逐渐变化,针对这些非静态数据的分类、回归、聚类模型也在随着时间而缓慢漂移,称为概念漂移[1-2]。对概念漂移的研究已在理论上[1-4]及交通流量预测[5]、超市客户行为分析[6]、气体传感器阵列漂移[7]、垃圾邮件过滤[8]等应用场合取得了良好的效果。概念漂移建模过程中每个时刻的数据量都很少,因而需要借助相邻时刻的一些数据来构建合适的当前时刻模型。以往针对概念漂移分类所作的工作大多是基于滑动窗算法[9-11]的思路,即采用一定时间窗口(区间)内的数据进行建模。2011年,Grinblat等[12]借鉴Crammer等在多任务学习中兼顾局部优化与全局优化的策略,提出了时间自适应支持向量机[13]方法来求解渐变的子分类器。Shi等[14]提出了增强型时间自适应支持向量机方法,在提高分类性能的同时,从理论上保证了其对偶为凸二次规划问题。
由于生活中的概念漂移问题并不是孤立出现的,如某个气体传感器阵列上对多种气体的测定数据可能会同时漂移;相邻城市的天气情况具有一定的关联;相近街区的交通流量会相互影响等。对多个相关概念漂移问题同时建模,挖掘其他问题中的有效信息,能对建模起到有益的补充。共享矢量链支持向量机[15](shared vector chain supported vector machines, SVC-SVM)方法通过对相关概念漂移问题协同建模,有效地提升了所得模型的泛化性能。但由于具有较高的算法时间复杂度,限制了其在数据量急剧增长的社会现状下的应用能力。
现在已进入大数据时代,各种社交和电子商务等信息量都越来越大,多任务概念漂移算法的时间复杂度也变得越来越重要。SVC-SVM方法可转化为核空间中的另一SVM问题,算法时间复杂度一般为
结合前期在概念漂移领域的研究基础[14-16],本文提出了共享矢量链核心向量机(shared vector chain core vector machines, SVC-CVM)方法,并基于核心向量机[17-19](core vector machine, CVM)理论给出了SVC-CVM方法的快速算法。所提SVC-CVM方法具有以下特点:
1)面对多任务概念漂移问题时,SVC-CVM方法优于独立求解单个概念漂移问题的TA-SVM及ITA-SVM方法;
2)SVC-CVM方法采用了与SVC-SVM方法相同的技巧,即假设多个概念漂移问题共享渐变的矢量链序列,因而在分类性能上,SVC-CVM方法与SVC-SVM方法相当;
3)SVC-CVM方法可以借鉴CVM理论[17]设计出快速求解算法,以处理多任务概念漂移中数据量较大的问题,算法时间复杂度接近
在概念漂移研究方面,传统的研究是基本滑动窗算法,这是一类局部优化模式。TA-SVM和ITA-SVM方法对局部优化和全局优化进行了权衡,取得了良好的效果。
1.1 单任务概念漂移分类方法TA-SVM[13]方法及ITA-SVM[14]方法针对的是传统的单任务概念漂移分类。假设有T个按时间顺序采集的子数据集,TA-SVM方法在优化各子分类器的同时,还假设子分类器应该能够光滑地变化,因此约束相邻子分类器之间的差异,其基本思想可由(1)式来表示。
$ \min \sum\limits_{t = 1}^T {{\rm{Risk}}\left( {{f_t}} \right)} + \lambda \sum\limits_{t = 1}^{T - 1} {d\left( {{f_{t + 1}},{f_t}} \right)} $ | (1) |
式中:第1项为局部优化项,
为了能进一步挖掘出相关概念漂移数据集中蕴含的有效信息,需要协同求解多个分类模型。假定现有K个相关概念漂移数据集,每个概念漂移数据集中的数据由T个按时间顺序采集的子数据集组成,每个子数据集中的数据量为m个。将所有数据合并记为数据集
$\begin{aligned}&\min \frac{1}{{{\rm{2}}T}}\sum\limits_{t = 1}^T {{{\left\| {{{{w}}_t}} \right\|}^2}} + \frac{\lambda }{{{{{\rm 2}T}}}}\sum\limits_{t = 1}^{T - 1} {{{\left\| {{{{w}}_{t + 1}} - {{{w}}_t}} \right\|}^2}} +\\ &\quad \frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {{{\left\| {{{{v}}_{\rm{tk}}}} \right\|}^2}} } + C\sum\limits_{i = 1}^n {L(f_{\rm{tk}} ,{{x}},y)} \end{aligned}$ | (2) |
式中:
$\mathop {\max }\limits_{\bf{\alpha }} {\rm{ }}{{{\alpha }}^{\rm{T}}}{\bf{1}} - \frac{1}{2}{{{\alpha }}^{\rm{T}}}{{H\alpha }} \begin{array}{*{20}{c}} {\rm{s.t.}}&{{{\alpha }} \geqslant 0} \end{array}$ | (3) |
式中:H为扩展核空间上的某个核函数,具体表达形式可以参见相关文献[15]。从式(3)可知,SVC-SVM方法对多个概念漂移问题同时建模,其对偶问题为核空间中的另一个支持向量机问题,当采用普通方法来求解此二次规划问题时,其算法时间复杂度为
鉴于SVC-SVM方法在针对多任务概念漂移大规模数据集时算法时间复杂度偏高,本文借鉴CVM[17-19]的思路,提出了与SVC-SVM方法在分类性能相似,但在数据量较大的场景时又能进行快速处理的SVC-CVM方法。SVC-CVM方法借鉴了SVC-SVM方法的思想,为了能进一步用快速算法求解,本文按文献[17-18]的方法对SVC-SVM[15]的目标函数稍作变化,采用平方损失函数,通过推导得到可以用CVM方法快速求解的对偶形式。
设数据集
SVC-CVM方法的目标函数为
$\begin{array}{c}\mathop {\min }\limits_{w,v,b,d} \displaystyle\frac{1}{{{{2T}}}}\displaystyle\sum\limits_{t = 1}^T {({{\left\| {{{{w}}_t}} \right\|}^2} + b_t^2)} + \\\displaystyle\frac{\lambda }{{{{4T}}}}\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {{Q_{ts}}({{\left\| {{{{w}}_t} - {{{w}}_s}} \right\|}^2}} } + {({b_t} - {b_s})^2}) + \\\displaystyle\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {({{\left\| {{{{v}}_{\rm{ tk}}}} \right\|}^2} + d_{\rm{ tk}}^2)} } - \rho + \displaystyle\frac{C}{2}\sum\limits_{i = 1}^n {\xi _i^2}\\ {\rm s.t.}\quad{y_i}\left( {{{({{{w}}_t} + {{ v}_{{\rm tk}(i)}})}^{\rm{T}}}\varphi ({{{x}}_i}) + ({b_t} + {d_{{\rm{tk}}(i)}})} \right) \geqslant \rho - {\xi _i}\\i = 1,2, \cdots ,n\end{array}$ | (4) |
式(4)中用记号
$\begin{array}{c}J = \displaystyle\frac{1}{{{{2T}}}}\sum\limits_{t = 1}^T {({{\left\| {{{{w}}_t}} \right\|}^2} + b_t^2)} + \\\displaystyle\frac{\lambda }{{{{4T}}}}\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {{Q_{\rm{ ts}}}({{\left\| {{{{w}}_t} - {{{w}}_s}} \right\|}^2}} } + {({b_t} - {b_s})^2}) + \\\displaystyle\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {({{\left\| {{{{v}}_{\rm{ tk}}}} \right\|}^2} + d_{\rm{ tk}}^2)} } - \rho + \frac{C}{2}\sum\limits_{i = 1}^n {\xi _i^2} - \\\displaystyle\sum\limits_{i = 1}^n {{\alpha _i}\left( {{y_i}\left( {{{({{{w}}_t} + {{ v}_{{\rm{ tk}}(i)}})}^{\rm{T}}}\varphi ({{{x}}_i}) + ({b_t} + {d_{{\rm{ tk}}(i)}})} \right) - \rho + {\xi _i}} \right)} \end{array}$ | (5) |
由KKT条件,J取得极值时,有
$\frac{{\partial {{J}}}}{{\partial {\xi _i}}} = 0,\frac{{\partial {{J}}}}{{\partial \rho }} = 0,\frac{{\partial {{J}}}}{{\partial {{{w}}_t}}} = 0,$ |
$\frac{{\partial {{J}}}}{{\partial {b_t}}} = 0,\frac{{\partial J}}{{\partial {{{v}}_{\rm{tk}}}}} = 0,\frac{{\partial J}}{{\partial {d_{\rm{tk}}}}} = 0$ |
因此有:
$\begin{array}{c}\displaystyle\frac{{\partial J}}{{\partial {\xi _i}}} = 0 = C{\xi _i} - {\alpha _i} \Rightarrow {\xi _i} = {\alpha _i}/C\\\displaystyle\frac{{\partial {{J}}}}{{\partial \rho }} = 0 = - 1 + \sum\limits_{i = 1}^n {{\alpha _i} \Rightarrow } \sum\limits_{i = 1}^n {{\alpha _i} = 1} \end{array}$ | (6) |
将式(6)代入式(5)则有
$J{\rm{ = }}{J_{{w}}} + {J_{{v}}} + {J_b} + {J_d} - \frac{1}{{2C}}\sum\limits_{i = 1}^n {\alpha _i^2}$ | (7) |
式中:
$\begin{array}{c}{J_{{w}}}{\rm{ = }}\displaystyle\frac{1}{{{{2T}}}}\sum\limits_{t = 1}^T {{{\left\| {{{{w}}_t}} \right\|}^2}} + \frac{\lambda }{{{{4T}}}}\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {{Q_{{\rm ts}}}{{\left\| {{{{w}}_t} - {{{w}}_s}} \right\|}^2}} } - \\\displaystyle\sum\limits_{i = 1}^n {{\alpha _i}{y_i}{{{w}}_{t(i)}}\varphi ({{{x}}_i})} \end{array}$ | (8) |
${J_{\bf{v}}}{\rm{ = }}\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {{{\left\| {{{{v}}_{\rm{tk}}}} \right\|}^2}} } - \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{{{v}}_{\rm{tk}}}{{_{(i)}} }\varphi ({{{x}}_i})}$ | (9) |
${J_b}{\rm{ = }}\frac{1}{{{{2T}}}}\sum\limits_{t = 1}^T {{{\left\| {{{{b}}_t}} \right\|}^2}} + \frac{\lambda }{{{{4T}}}}\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {Q_{{\rm ts}} {{\left\| {{{{b}}_t} - {{{b}}_s}} \right\|}^2}} } - \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{b_{t(i)}} }$ | (10) |
${J_d}{\rm{ = }}\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {d_{{\rm tk}}^2} } - \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{d_{{\rm tk}}}{{_{(i)}} }}$ | (11) |
又:
$\frac{{\partial {{J}}}}{{\partial {{{w}}_t}}} = 0 {\rm{ = }}\frac{1}{{{T}}}{{{w}}_t} + \frac{\lambda }{{{T}}}\sum\limits_{s = 1}^T {Q_{{\rm ts}} ({{{w}}_t} - {{{w}}_s})} - \sum\limits_{j \in {p_{{\rm tk}}}} {{\alpha _j}{y_j}\varphi ({{{x}}_j})}$ |
得:
$\frac{1}{{{T}}}\left( {{{{w}}_t} + \lambda \sum\limits_{s = 1}^T {Q_{\rm{ts}} ({{{w}}_t} - {{{w}}_s})} } \right) = \sum\limits_{j \in {p_{\rm{tk}}}} {{\alpha _j}{y_j}\varphi ({{{x}}_j})}$ |
若定义矩阵M为
${M_{{\rm{st}}}} = \left\{ \begin{array}{l}(1 + \lambda \sum\nolimits_k {{Q_{{\rm{tk}}}})} /T,\quad s = t\\ - \lambda {Q_{{\rm{ts}}}}/T,\!\quad\quad s \ne t\end{array} \right.$ |
因矩阵M可逆,则
${{{w}}_t} = \sum\limits_j {{{M}}_{{\rm tt}(j)}^{ - 1}} {\alpha _j}{y_j}\varphi ({{{x}}_j})$ | (12) |
因此有
$\sum\limits_{t = 1}^T {{{\left\| {{{{w}}_t}} \right\|}^2} = \sum\limits_t {\sum\limits_{ij} {{{M}}_{{\rm{ tt}}(i)}^{ - 1}{{M}}_{{\rm{ tt}}(j)}^{ - 1}{\alpha _i}{\alpha _j}{y_i}{y_j}\varphi ({{{x}}_i})\varphi ({{{x}}_j})} } } $ |
由于
${\left( {{{{P}}^{\rm{T}}}{{{M}}^{ - 2}}{{P}}} \right)_{ij}} = \sum\limits_t {{{M}}_{{\rm{tt}}(i)}^{ - 1}{{M}}_{{\rm{tt}}(j)}^{ - 1}} $ |
则由(12)可得:
$\begin{aligned}\sum\limits_{t = 1}^T {{{\left\| {{{{w}}_t}} \right\|}^2}}& = \sum\limits_{ij} {{{\left( {{{{P}}^{\rm{T}}}{{{M}}^{ - 2}}{{P}}} \right)}_{ij}}{\alpha _i}{\alpha _j}{y_i}{y_j}\varphi ({{{x}}_i})\varphi ({{{x}}_j})} = \\ & {{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 2}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }}\end{aligned}$ | (13) |
同时有
$\begin{array}{c} \displaystyle\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {Q_{{\rm ts}} {{\left\| {{{{w}}_t} - {{{w}}_s}} \right\|}^2}} } = \sum\limits_{{\rm ts}} {Q_{{\rm ts}} \sum\limits_{ij} {({{M}}_{{\rm tt}(i)}^{ - 1} - {{M}}_{{\rm ss}(i)}^{ - 1})} } \times \\({{M}}_{{\rm tt}(j)}^{ - 1} - {{M}}_{{\rm ss}(j)}^{ - 1}){\alpha _i}{\alpha _j}{y_i}{y_j}\varphi ({{{x}}_i})\varphi ({{{x}}_j}) = \\ \displaystyle\sum\limits_{ij} {2(\sum\limits_t {{{M}}_{{\rm tt}(i)}^{ - 1}{{M}}_{{\rm tt}(j)}^{ - 1}{{ D}_{\rm tt}}} - \sum\limits_{ts} {{{M}}_{{\rm tt}(i)}^{ - 1}{{M}}_{{\rm st}(j)}^{ - 1}Q_{{\rm ts}} } )} \times \\ {\alpha _i}{\alpha _j}{y_i}{y_j}\varphi ({{{x}}_i})\varphi ({{{x}}_j}) = \\2{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}({{D}} - {{Q}}){{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} \end{array} $ | (14) |
式中:Q是对称矩阵,且记对角矩阵D为
${D_{\rm{ts}}} = \left\{ {\begin{array}{*{20}{c}} {\displaystyle\sum\limits_k {Q_{\rm tk} }, \begin{array}{*{20}{c}} {}&{t = s} \end{array}} \\ {\begin{array}{*{20}{c}} 0,&{\begin{array}{*{20}{c}} {}&{t \ne s} \end{array}} \end{array}} \end{array}} \right.$ |
将(12)、(13)代入(8)有
$\begin{gathered} {J_{{{ w}}}}{\text{ = }}\frac{1}{{{{2T}}}}\sum\limits_{t = 1}^T {{{\left\| {{{{w}}_t}} \right\|}^2}} + \frac{\lambda }{{{{4T}}}}\sum\limits_{t = 1}^T {\sum\limits_{s = 1}^T {{Q_{{\rm ts}}}{{\left\| {{{{w}}_t} - {{{w}}_s}} \right\|}^2}} } - \\ \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{{{w}}_{t(i)}}\varphi ({{{x}}_i})} = \frac{1}{{{{2T}}}}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 2}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} + \\ \frac{\lambda }{{{{2T}}}}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}({{D}} - {{Q}}){{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right) \\ {{\alpha }} - {{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} = \\ - \frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} \end{gathered} $ | (15) |
则由(7)可知
$\begin{array}{c}J{\rm{ = }} - \displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} + \\{J_{{v}}} + {J_b} + {J_d} - \displaystyle\frac{1}{2}{{\rm{\alpha }}^{\rm{T}}}\left( {{{I}}/C} \right){{\alpha }}\end{array}$ | (16) |
下面求解
${J_{\bf{v}}}{\rm{ = }}\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {{{\left\| {{{{v}}_{\rm{tk}}}} \right\|}^2}} } - \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{{{v}}_{\rm{tk}}}{{_{(i)}} }\varphi ({{{x}}_i})}$ |
由
$\frac{{\partial {{J}}}}{{\partial {v_{\rm{tk}}}}} = 0 \Rightarrow \gamma {v_{\rm{tk}}} - \sum\limits_{j \in {p_{\rm{tk}}}} {{\alpha _i}{y_i}\varphi ({{{x}}_i})} \\ \Rightarrow {v_{\rm{tk}}} = {1 /\gamma}\sum\limits_{j \in {p_{\rm{tk}}}} {{\alpha _i}{y_i}\varphi ({{{x}}_i})} $ |
得
$\begin{array}{l} {J_v}{\rm{ = }}\frac{\gamma }{2}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {{{\left\| {{v_{{\rm{tk}}}}} \right\|}^2}} } - \sum\limits_{i = 1}^n {{\alpha _i}{y_i}{v_{{\rm{tk}}\left( i \right)}}} \varphi ({x_i}) = \\ - \frac{1}{{2\gamma }}\sum\limits_{t = 1}^T {\sum\limits_{k = 1}^K {\sum\limits_{i,j \in {p_{{\rm{tk}}}}}^{} {{\alpha _{{\rm{tk}}(i)}}{\alpha _{{\rm{tk}}({\rm{j}})}}{y_{{\rm{tk}}(i)}}{y_{{\rm{tk}}(j)}}\varphi ({x_{{\rm{tk}}(i)}})\varphi ({x_{{\rm{tk}}(j)}})} } } = \\ - \frac{1}{2}{\alpha ^{\rm{T}}}\left( {({R^{\rm{T}}}R/{\lambda _2}) \otimes K \otimes Y} \right)\alpha \end{array}$ | (17) |
因此有
$\begin{array}{c}J{\rm{ = }} -\displaystyle \frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} - \\\displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{G}}/{\lambda _2}) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} + \\{J_b} + {J_d} - \displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {{{I}}/C} \right){{\alpha + }}{{{\alpha }}^{\rm{T}}}{\bf{1}}{\rm{ = }}\\ -\displaystyle \frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}} + {{G}}/\gamma ) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} + \\{J_b} + {J_d} - \displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {{{I}}/C} \right){{\alpha }}\end{array} $ |
又:
$\frac{{\partial {{J}}}}{{\partial {b_t}}} = 0 \Rightarrow \frac{1}{{{T}}}b_t + \frac{\lambda }{{{T}}}\sum\limits_{s = 1}^T {Q_{\rm{st}} ({b_s} - {b_t})} + \sum\limits_{j \in {p_{\rm{tk}}}} {{\alpha _j}{y_j}}$ |
$\frac{{\partial {{J}}}}{{\partial {d_{\rm{tk}}}}} = 0 \Rightarrow \gamma {d_{\rm{ tk}}} - \sum\limits_{j \in {p_{\rm{ tk}}}} {{\alpha _i}{y_i}} \Rightarrow {d_{\rm{ tk}}} = {1/\gamma}\sum\limits_{j \in {p_{{\rm tk}}}} {{\alpha _i}{y_i}}$ |
由此可得:
$\begin{array}{c}J{\rm{ = }} - \displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}} + {{{R}}^{\rm{T}}}{{R}}/\gamma ) \otimes {{K}} \otimes {{Y}}} \right){{\alpha }} - \\\displaystyle\frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}} + {{{R}}^{\rm{T}}}{{R}}/\gamma ) \otimes {{K}}} \right){{\alpha }} - \frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {{{I}}/C} \right){{\alpha }}\end{array}$ |
$J{\rm{ = }} - \frac{1}{2}{{{\alpha }}^{\rm{T}}}\left( {({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}} + {{{{{R}}^{\rm{T}}}{{R}}} / \gamma })} \right.\\ \otimes \left. {{{K}} \otimes ({{Y}} + {{E}}) + {{{I}} / C}} \right){{\alpha }}$ |
原始问题的对偶问题如下:
$\mathop {\max }\limits_{{\alpha }} {\rm{ }} - \frac{1}{2}{{{\alpha }}^{\rm{T}}}{{H\alpha }} \begin{array}{*{20}{c}} {\rm{s.t.}}&{{{\alpha }} \geqslant 0,{{{\alpha }}^{\rm{T}}}{\bf{1}} = 1} \end{array}$ | (18) |
式中:
${{H}} = ({{{P}}^{\rm{T}}}{{{M}}^{ - 1}}{{P}} + {{{{{R}}^{\rm{T}}}{{R}}} / \gamma })\\ \otimes {{K}} \otimes ({{Y}} + {{E}}) + {{{I}} / C}$ | (19) |
${{Y}} = {{{y}}^{\rm{T}}}{{y}}\;{{y}} = [{y_1}\;{y_2}\; \cdots \;{y_n}]$ |
${{E}} = {\bf{1}}{\text{×}}{{\bf{1}}^{\rm{T}}};{{1}} = {[{1_1}\;{1_2}\; \cdots \;{1_n}]^{\rm{T}}}$ |
由此,SVC-CVM方法中虽然包含了多个数据流,但其对偶问题仍相当于核空间中的另一个SVM问题,可以用常规方法来求解,其算法时间复杂度为
求解最小包含球(minimum enclosing ball, MEB)是一个数学问题,等价于求解一个二次规划问题[17-19],如式(20)所示:
$\mathop {\max }\limits_{{\alpha }} {{{\alpha }}^{\rm{T}}}{\rm{diag}}({{K}}) - {{{\alpha }}^{\rm{T}}}{{K\alpha }}\\\begin{array}{*{20}{c}} {\rm{s.t.}}&{\begin{array}{*{20}{c}} {{{\alpha }} \geqslant 0,}&{{{{\alpha }}^{\rm{T}}}{\bf{1}} = 1} \end{array}} \end{array}$ | (20) |
式中:
Tsang等在文献[17-18]中指出,形如式(20)的二次规划问题,如果核矩阵对角线元素为常量,则均等价于求解MEB问题。他们借助求解MEB问题时的近似包含球方法[19],提出了核心向量机(core vector machines, CVM),在处理大规模数据集时有接近线性的时间复杂度。对形如式(20)的二次规划问题,即使核矩阵对角线元素不为常量,也可以使用核心集方法进行求解,这时就需要给核空间中每个样本点
$\begin{array}{c}\mathop {\max }\limits_{{\alpha }} {{{\alpha }}^{\rm{T}}}({\rm{diag}}{{K}} + {\rm{\Delta }}) - {{{\alpha }}^{\rm{T}}}{{K}}{{\alpha }}\\{\rm{s.t.}} \quad {{\alpha }} \geqslant 0, \quad {{{\alpha }}^{\rm{T}}}{\bf{1}} = 1\end{array}$ | (21) |
式中:
$\begin{array}{l}\mathop {\max }\limits_{{\alpha }} {{{\alpha }}^{\rm{T}}}({\rm{diag}}{{K}} + {{\Delta }} - \eta {\bf{1}}) - {{{\alpha }}^{\rm{T}}}{{K\alpha }}\\{\rm{s.t.}} \quad {{\alpha }} \geqslant 0, \quad {{{\alpha }}^{\rm{T}}}{\bf{1}} = 1\end{array}$ | (22) |
式中:
当使用普通方法来求解SVC-CVM时,其求解时间复杂度为
$\begin{array}{c}\mathop {\max }\limits_{{\alpha }} {{{\alpha }}^{\rm{T}}}({\rm{diag}}({{H}}) + {\bf{\Delta }} - \eta {\bf{1}}) - {{{\alpha }}^{\rm{T}}}{{K\alpha }}\\{\rm{s.t.}} \quad {{\alpha }} \geqslant 0, \quad {{{\alpha }}^{\rm{T}}}{\bf{1}} = 1\end{array}$ | (23) |
这是一个标准MEB问题,其中
SVC-CVM算法的输入为多任务概念漂移大规模数据集S, 核心集逼近精度
由于SVC-CVM算法是基于核心集理论的,因而在描述算法的时间与空间复杂度时,可以参考文献[17-18],得到相关结论:
性质1 对于给定的误差
输入 数据集S, 最小包含球近似精度;
1) 初始化核心集
2) 若所有点都包含在球
3) 找到离中心
4) 对新的核心集进行求解,得到新的半径
5) 计算新的中心到其他各点的距离 ;
性质2 对于给定的近似误差
6)
7) 终止训练,返回求解的核心集
输出 核心集
本节将对SVC-CVM方法进行实验验证,实验将从SVC-CVM方法的分类准确率、SVC-CVM算法的时间性能两个方面展开。这里有必要首先验证其分类准确率。1)需要考察引入分类间隔
实验中涉及的各方法与相应参数在表1中列出。
本文独立生成相同分布的训练集、验证集和测试集各10组,共进行10次重复实验,以获得比较客观的实验结果。实验分为参数优化和建模测试两个阶段,首先需要基于训练集,利用验证集获得各方法的最优参数;其次基于得到的优化参数对训练集建模,并利用测试集来获得各方法的性能。本文采用网格遍历法来寻找最优参数。
将旋转超平面数据集记为数据集DS1中的第1个任务Task1,Task1数据集的样本量为500,采样于独立分布的2维立方体
$\begin{array}{c}{v_1}(i) = \cos (2\text{π} i/500),{v_2}(i) = \sin (2\text{π} i/500)\\{y_i} = {\rm{sign}}({{{x}}_i}{{v}}(i)),1 \leqslant i \leqslant 500\end{array}$ | (24) |
数据集DS1中的第2个任务Task2数据则由Task1模型顺时针旋转一定的角度
将TA-SVM方法中所使用的高斯漂移数据集记为数据集DS2中的第1个任务Task1,数据集中包含两个类别,共含有
${x_t} = {\frac{{2t\text{π} }}{n} - \text{π} + 0.2{y_t} + {\varepsilon _1},(1 - r){\rm{\times}}\sin (\frac{{2t\text{π}}}{n} -\text{π}+ 0.2{y_t}) + {\varepsilon _2}} $ | (25) |
式中:
将DS1、DS2中的类别标签按一定比例随机替换以模拟噪音数据,得到数据集DS3、DS4,用于测试SVC-SVM方法在噪音条件下的分类能力。
数据集DS5、DS6由DS1, DS2逐步加大采样量分别得到,它们用于测试SVC-CVM方法的算法时间复杂度。实验所用数据集如表2所示。
本子节基于数据集DS1和DS2来观察SVC-CVM方法的分类能力,并将在噪音数据集DS3、DS4上观察SVC-CVM方法在噪音条件下的性能。
针对数据集DS1,依据文献[13]的策略,我们独立生成10组训练集、测试集及用于选择最优参数的验证集。根据前述的实验设置,实验分为优化参数和建模测试两个阶段。核函数选用最常用的线性核及高斯核。当两个概念漂移数据Task1、Task2呈现出不同的偏离程度
Download:
|
|
由图1可以得到如下观察:
1)在数据集DS1上,不管采用高斯核还是线性核,当多个任务呈不同偏移程度时,协同求解多个概念漂移问题的SVC-SVM、SVC-CVM方法在任务Task1和Task2上总是优于独立求解单个概念漂移问题的TA-SVM和ITA-SVM方法,显示了协同求解多任务概念漂移问题是有效的。
2)随着多个任务之间偏离程度的增加,相对于独立求解单个任务,协同求解方法的优势逐渐减弱。
3)不管是采用高期核还是线性核,也不管任务间的偏移程度,用普通方法求解的SVC-SVM与核心集技术求解的SVC-CVM的分类性能都非常接近。
对高斯漂移数据集DS2,按照同样的实验流程,求得当两个任务Task1、Task2呈现出不同的偏离程度
1)在高斯漂移数据集DS2上,不管是采用高斯核还是线性核,协同求解多个概念漂移问题的SVC-SVM、SVC-CVM方法总是优于独立求解单个概念漂移问题的TA-SVM方法及ITA-SVM方法,与数据集DS1上的实验结果相似。
2)采用高期核或线性核时,不管任务间的偏移程度,SVC-CVM与SVC-SVM方法的分类性能是相当的。
下面继续评估SVC-CVM方法在噪音数据集DS3和DS4上的表现,以观察本文方法的抗噪能力。与文献[13]的实验设置相同,通过将DS1和 DS2上的类别标签随机变换来模拟噪音数据,噪音比例分别为2%~10%。在数据集DS3和DS4上,当含有不同噪音时各方法的实验结果记录在表5到表6中。
1) 在噪音数据集DS3及DS4上,不管采用高斯核或是线性核时,SVC-SVM和SVC-CVM方法相对于独立求解的TA-SVM方法及ITA-SVM方法,都有较大的优势。
2) SVC-CVM与SVC-SVM方法在噪音情况下的分类性能是相当的。
3.3 SVC-CVM方法的时间性能本子节将以数据集DS5、DS6为基础来评估各方法的算法时间效率。各数据集的样本量从500缓慢增加到30 000个。对于数据集DS5,独立生成10组训练集及测试集,并将各方法在取不同容量样本时的平均准确率及平均训练时间显示在图2中。随着数据量增加时,为了能更准确地观察各方法时间性能的量级,本文分别以
Download:
|
|
由图2可以得到如下观察:
图2(a)可知,在数据集合DS5上,随着训练数据量的加大,各方法的泛化性能稳定增加。同时SVC-SVM和SVC-CVM方法优于独立求解单个概念漂移问题的TA-SVM和ITA-SVM方法。由于用普通SVM方法求解时需要先求解相应方法的核矩阵,因此受硬件约束较大,当数据量较大时,相应方法无法继续求解。而SVC-CVM方法采用核心集技术求解,相应的支持向量逐个添加到核心集中,不需要预先计算核矩阵,因而能处理更大容量的数据,得到泛化能力更强的模型。
图2(b)可知,在数据集DS5上,求解各方法所需时间与数据量之间呈现稳定的指数级关系,其中SVC-CVM方法所表示的准直线的斜率明显小于其他方法,显示了SVC-CVM方法在时间效率上远优于TA-SVM、ITA-SVM与SVC-SVM方法。
在数据集DS6上,按相同的流程进行训练及测试,并将各方法在不同容量样本上的平均准确率和标准差、平均训练时间和标准差分别记录在表7及表8中(其中—表示在本文实验环境中无法得到相应结果)。
1) 从表7中可以看出,在数据集DS6上,随着训练数据量的增加,各方法的分类性能逐渐增高,其中SVC-SVM和SVC-CVM的分类性能相当,都优于独立求解单个概念漂移问题的TA-SVM与ITA-SVM方法。
2) 从表8可以看出,在数据集DS6上,当数据量较小时,SVC-CVM方法的求解时间上并不具有优势。当数据量的逐渐增加时,SVC-CVM方法求解时间的变化很缓慢,明显优于用普通二次规划方式进行求解。
在数据集DS5和DS6上的实验可知,当数据量不大时,SVC-SVM方法和SVC-CVM方法都优于独立求解的方法,且两者的分类性能相当。当数据量很大时,只有SVC-CVM方法能处理较大规模数据集,且在算法时间性能上保持近线性时间复杂度,因而具有较强的实用性。
4 结束语本文提出了适用于对概念漂移大规模数据集快速求解的多任务核心向量机方法SVC-CVM。由于采用共享矢量链技术协同求解多个概念漂移问题,SVC-CVM方法在分类精度上等价于SVC-SVM方法,明显优于独立求解单个概念漂移问题的TA-SVM及ITA-SVM方法,且SVC-CVM算法在面对多个概念漂移大数集时仍然能够进行快速建模决策。当然SVC-CVM方法仍需要进一步研究,特别是多任务概念漂移大规模数据集的回归问题;多任务概念漂移大规模数据集的单类问题,将是更有意义的挑战。
[1] | HELMBOLD D P, LONG P M. Tracking drifting concepts by minimizing disagreements[J]. Machine learning, 1994, 14(1): 27-45. (0) |
[2] | BARTLETT P L, BEN-DAVID S, KULKARNI S R. Learning changing concepts by exploiting the structure of change[J]. Machine learning, 2000, 41(2): 153-174. DOI:10.1023/A:1007604202679 (0) |
[3] | ZHOU Xiangyu, WANG Wenjun, YU Long. Traffic flow analysis and prediction based on GPS data of floating cars[C]//Proceedings of the 2012 International Conference on Information Technology and Software Engineering. [S.l.], 2013: 497–508. (0) |
[4] | KUWATA S, INABA Y, YOKOGAWA M, et al. Stream data analysis application for customer behavior with complex event processing[C]//IEICE Technical Committee Submission System Conference Paper's Information. [S.l.], 2010, 110(1): 13–18. (0) |
[5] | VERGARA A, VEMBU S, AYHAN T, et al. Chemical gas sensor drift compensation using classifier ensembles[J]. Sensors and actuators B: chemical, 2012, 166-167: 320-329. DOI:10.1016/j.snb.2012.01.074 (0) |
[6] | BARTLETT P L. Learning with a slowly changing distribution[C]//Proceedings of the Fifth Annual Workshop on Computational Learning Theory. Pittsburgh, Pennsylvania, USA, 1992: 243–252. (0) |
[7] | KLINKENBERG R, JOACHIMS T. Detecting concept drift with support vector machines[C]//Proceedings of the Seventeenth International Conference on Machine Learning. San Francisco, CA, USA, 2000: 487–494. (0) |
[8] | RUANO-ORDáS D, FDEZ-RIVEROLA F, MéNDEZAB J R. Concept drift in e-mail datasets: an empirical study with practical implications[J]. Information sciences, 2018, 428: 120-135. DOI:10.1016/j.ins.2017.10.049 (0) |
[9] | C LANQUILLON. Enhancing test classification to improve information filtering[D]. Magdeburg, Germany: Faculty Comp Sci, Univ. Magdeburg, 2001. (0) |
[10] |
文益民, 强保华, 范志刚. 概念漂移数据流分类研究综述[J]. 智能系统学报, 2013, 8(2): 95-104. WEN Yimin, QIANG Baohua, FAN Zhigang. A survey of the classification of data streams with concept drift[J]. CAAI transactions on intelligent systems, 2013, 8(2): 95-104. (0) |
[11] | ALIPPI C, ROVERI M. Just-in-time adaptive classifiers-part II: designing the classifier[J]. IEEE transactions on neural networks, 2008, 19(12): 2053-2064. DOI:10.1109/TNN.2008.2003998 (0) |
[12] | EVGENIOU T, PONTIL M. Regularized multi--task learning[C]//Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Seattle, WA, USA, 2004: 109–117. (0) |
[13] | GRINBLAT G L, UZAL L C, CECCATTO H A, et al. Solving nonstationary classification problems with coupled support vector machines[J]. IEEE transactions on neural networks, 2011, 22(1): 37-51. DOI:10.1109/TNN.2010.2083684 (0) |
[14] | SHI Yingzhong, CHUNG F L K, WANG Shitong. An improved ta-svm method without matrix inversion and its fast implementation for nonstationary datasets[J]. IEEE transactions on neural networks and learning systems, 2015, 26(9): 2005-2018. DOI:10.1109/TNNLS.2014.2359954 (0) |
[15] |
史荧中, 邓赵红, 钱鹏江,等. 基于共享矢量链的多任务概念漂移分类方法[J]. 控制与决策, 2018, 33(7): 1215-1222. SHI Yingzhong, DENG Zhaohong, QIAN Pengjiang, et al. Multi-task concept drift classification method based on shared vector chain[J]. Control and Decision, 2018, 33(7): 1215-1222. (0) |
[16] | PLATT J. Fast training of support vector machines using sequential minimal optimization[C]//Advances in Kernel Methods-Support Vector Learning. Cambridge, MA: MIT Press, 2000: 185–208. (0) |
[17] | TSANG I W, KWOK J T, CHEUNG P M. Core vector machines: fast SVM training on very large data sets[J]. Journal of Machine Learning Research, 2005, 6: 363-392. (0) |
[18] | TSANG I W H, KWOK J T Y, ZURADA J M. Generalized core vector machines[J]. IEEE transactions on neural networks, 2006, 17(5): 1126-1140. DOI:10.1109/TNN.2006.878123 (0) |
[19] | BĂDOIU M, CLARKSON K L. Optimal core-sets for balls[J]. Computational geometry, 2008, 40(1): 14-22. DOI:10.1016/j.comgeo.2007.04.002 (0) |