论文部分内容阅读
支持向量机是在统计学理论基础上发展起来的一种新型学习算法,已在机器学习、模式识别等领域取得了较好的应用效果,然而随着训练数据集规模的不断增大,支持向量机也表现出学习效率低下等缺点。针对这一问题,人们分别提出了增量学习和并行学习的解决方法。增量学习能较好地适应数据的动态特性,并行学习能加快对大规模数据集的学习速度。但是,对同时兼具规模大、动态增长的大数据对象而言,这两种算法仍然面临学习速度较慢的问题。本文在增量学习和并行学习的基础上,结合Hadoop平台处理大数据的优势,对大数据下支持向量机方法进行了深入研究,具体内容如下:
(1)提出一种基于Bagging技术的并行增量式SVM学习算法BPISVM。算法一方面将增量学习过程并行化执行,提高其学习速度,另一方面尽量增加各子分类器的分类信息来提高其学习精度。算法首先对训练数据并行学习得到多个子分类器,增量学习时用增量集并行地更新所有子分类器,保证每个子分类器都能够获得增量集中包含的新分类信息,更新方法为分别从增量集和原训练数据中寻找潜在支持向量,与已有的支持向量集合并在一起进行重新训练,尽量保证分类信息不丢失。算法基于MapReduce框架实现,仿真实验结果表明,算法在有效保证学习精度的前提下,减少了计算内存开销,降低了学习次数,提高了学习速度。
(2)提出一种基于AdaBoost技术的并行增量式SVM学习算法ABPISVM。算法的增量学习与并行学习阶段都通过相同的学习过程得到带权重的分类器。增量学习时,先对增量集学习得到新的分类器,将其结果与已有分类器进行比较,从而淘汰部分权重较低的分类器,仅保留权重较高的分类器作为增量学习的结果;为补偿未进行分类器更新带来的分类信息损失,算法采用AdaBoost技术提升单个子分类器的性能。虽然AdaBoost增加了迭代过程,需要一定的时间开销,但是由于算法不需要更新分类器,其综合学习速度得到了提高。仿真实验结果表明,该算法有较好的增量学习能力,显著提高了学习速度。
(3)设计并实现了一个基于Hadoop的海量数据挖掘系统。该系统采用B/S架构,能够运行本文所提出的两种算法,并具有良好的可扩展性。