摘要:利用SVM对大规模数据进行训练时,需要占用很大的内存空间,甚至会因内存不够而无法训练。为此,提出了将大规模数据分块求解,然后将分块求解的结果进行信息融合的新方法。首先训练得到各模块的支持向量,将所有支持向量进行融合,得到决策模型和一组支持向量。当有新的数据加入时,将其作为一个子模块,训练得到该模块的支持向量,与原模型中获得的支持向量进行融合,训练得到新的决策模型。利用KDD CUP99数据进行实验,结果表明该方法的测试精度与在所有数据集上训练的精度相当,花费时间少,适用于增量学习。
关键词:支持向量机; 信息融合; 增量学习
SVM[1,2]是最近发展起来的一种分类方法。它基于统计学习理论,根据结构风险最小化原则,在经验风险和模型的复杂度之间折中,有较强的泛化能力,且具有全局最优、与维数无关等特性。当数据线性不可分时,通过核函数,将数据映射到高维特征空间,使得数据线性可分。它本质上是一个凸二次规划问题,当训练规模很大时,求解此最优化问题要占用很大的内存空间,会因内存空间不够而导致无法训练。解决此类问题的有效方法是将大规模数据进行分块,然后将各模块的信息进行融合,从而得到最终结果。
信息融合[3]又称数据融合,是利用计算机技术对获得的若干节点的观测信息在一定准则下加以自动分析、综合以完成所需的决策和估计任务而进行的信息处理过程。文献[4]提出了用神经网络的方法来实现信息融合,在预测精度上获得较好的效果。SVM是继神经网络后,分类性能较好的一种技术。它在信息融合领域也逐渐得到应用,文献[5~7]提出了多种基于SVM的信息融合方法,用各模块训练得到的模型对测试集进行判别,然后融合各模型的判别结果。但这些方法不适合增量学习。当有新的数据源加入时,融合模块需重新执行。
决策输出融合方法和投票数融合方法用各模块训练得到的分类器对测试集进行判别,再根据判别结果进行融合,分类精度上不如后两种方法,所花费的时间也较多。而且这两种方法在增量学习中要对信息融合模块重新处理,不能有效利用已有的信息。
对支持向量直接融合的方法在精度、漏报率和误报率上均与在所有数据集上得到的结果相接近。说明在分类中起作用的只是其中占少数的支持向量,如表3所示。每个模块得到的支持向量是很少的,大约占0.6%。所以信息融合模块的规模相对较小,花费时间少。本文提出的方法预测精度甚至超过了对所有支持向量融合的结果,与在所有数据集上得到的结果最接近。说明本文方法在增量式学习中是有效的,具有较好的泛化能力。4结束语
随着网络和数据库技术的发展,对大规模数据处理的要求会越来越高。本文在研究了现有的基于SVM的信息融合方法的基础上,提出了一种新的基于SVM融合的模型。通过实验表明,这种方法在入侵检测问题中得到了较高的分类精度,与在所有数据或所有支持向量上预测得到的精度相当,而且与其他信息融合方法相比,能利用已经融合的信息,进行增量式学习。但如何使数据分解后仍保证它的全局最优及如何推广到分布式应用仍有待解决。
参考文献:
[1]VAPIK V. 统计学习理论的本质[M]. 张学工,译.北京:清华大学出版社,2000.
[2]BURGES C J C. A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2(2):121-167.
[3]HALL D L,LLINAS J. An introduction to multisensor data fusion[J].Proceedings of IEEE, 1997, 85(1):6-23.
[4]WANG Mei, HOU Yuanbin. Neural network model based on anti-error data fusion[C]//Proc of the 4thInternational Conference on Machine Learning and Cybernetics.[S.l.]:IEEE Press,2005:18-21.
[5]YAN Weiwu, SHAO Huihe, WANG Xiaofan. Parallel decision models based on support vector machines and their application to distributed fault diagnosis[C]//Proc of American Control Conference. Denver:[s.n.],2003:1770-1775.