基于Hadoop架构的数据驱动的SVM并行增量学习算法 - 图文

更新时间:2023-09-11 00:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

龙源期刊网 http://www.qikan.com.cn

基于Hadoop架构的数据驱动的SVM并行增量学习算法

作者:邳文君 宫秀军

来源:《计算机应用》2016年第11期

摘 要:针对传统支持向量机(SVM)算法难以处理大规模训练数据的困境,提出一种基于Hadoop的数据驱动的并行增量Adaboost-SVM算法(PIASVM)。利用集成学习策略,局部分类器处理一个分区的数据,融合其分类结果得到组合分类器;增量学习中用权值刻画样本的空间分布特性,对样本进行迭代加权,利用遗忘因子实现新增样本的选择及历史样本的淘汰;采用基于HBase的控制器组件用以调度迭代过程,持久化中间结果并减小MapReduce原有框架迭代过程中的带宽压力。多组实验结果表明,所提算法具有优良的加速比、扩展率和数据伸缩度,在保证分类精度的基础上提高了SVM算法对大规模数据的处理能力。

关键词:Hadoop;HBase;支持向量机;增量学习;集成学习;遗忘因子;控制器组件 中图分类号:TP311 文献标志码:A

文章编号:1001-9081(2016)11-3044-06 0 引言

我们正处于大数据时代,数据的增长速率已经远远超出了单机计算能力的提升速率。如何提高分类算法处理海量数据的能力是一个亟待解决的问题。在分类算法领域,支持向量机(Support Vector Machine, SVM)算法以其较好的健壮性和稳定性一直是主流的分类算法,SVM基于统计学习理论中的结构风险最小化原则,有效解决了经典统计方法在处理高维度数据中所出现的维度灾难问题。但SVM作为一个计算密集型算法,串行方法难以适应海量数据,面对大规模训练数据时,设法在保证分离精度的基础上提高SVM 训练效率和增量学习能力已经成为近几年SVM 的一大研究热点。

提高SVM算法运行效率的方法之一是进行并行计算, SVM并行化主要有两种思路:一是基于算法本身进行并行化处理;二是采用多分类器实现并行化。文献[1]提出基于消息传递接口(Message Passing Interface, MPI)的并行分布式SVM算法(CoDLib),但该算法在追求并行效率的同时忽略对分类精度的验证。文献[2]提出一种层叠式SVM算法,通过级联来保证算法收敛,但因其迭代过程中数据成倍增长,收敛速度并不理想。文献[3]通过不完全Cholesky分解的方法实现了并行支持向量机(Parallel SVM, PSVM),降低了传统SVM算法的空间复杂度和时间复杂度,在学习精度与SVM算法相差不大的前提下,大幅提高了分类速

本文来源:https://www.bwwdw.com/article/1weh.html

Top