[发明专利]一种基于Hadoop的并行化SVM求解方法有效
申请号: | 201210072523.8 | 申请日: | 2012-03-19 |
公开(公告)号: | CN102750309A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 高阳;罗爱宝;商琳;杨育彬 | 申请(专利权)人: | 南京大学;南京大学江阴信息技术研究院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 夏雪 |
地址: | 210046 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hadoop 并行 svm 求解 方法 | ||
技术领域
本发明涉及一种基于Hadoop的并行化SVM求解方法。
背景技术
Pegasos是目前近似求解支持向量机(SVM)中二次规划问题的最快的方法。但是,在面临海量数据的时候,单个机器内存成为了瓶颈,几乎无法完成求解。
MapReduce是近几年Google提出的并行化编程模型。它是一种函数式的编程接口,即使对于没有并行或分布式编程经验的人,也是易于使用的。在企业界有着很多的应用场景。
Hadoop是Apache对MapReduce的一种开源实现。因为开源,因而受到很多公司和研究机构的青睐。
目前,数据的爆炸性增长,研究并行化的求解方法已经迫在眉睫。Pegasos直接去处理海量数据,会可能出现如下状况:程序因内存不足而崩溃;系统调用缓存技术,在内存和硬盘之间的数据读写会使得程序的运行极其缓慢。开源社区Mahout项目中对SVM的并行化有一定进展,但苦于其并行化思路需要的通信开销和并行开销占很高比例,运行时间很长,故而出于Open阶段。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明借鉴并行化随机梯度下降的思想,提供一种基于Hadoop平台的海量数据并行化SVM求解方法。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于Hadoop平台的海量数据并行化SVM求解方法,包括如下步骤:
(1)将数据存储于分布式的集群文件系统中;
(2)根据数据的分布状况,在各个数据块上执行随机抽样过程,并将随机抽取的样本数据一一分配并形成若干的数据子集;
(3)在所述数据子集上进行局部第一方法;
(4)将各个数据子集上进行局部第一方法的结果进行取平均的融合,输出平均结果。
所述第一方法可以是Pegasos方法。
有益效果:本发明能够在不损失精度的情况下处理海量数据下的Pegasos求解,大大缩短运行时间,并且能够有好的拓展性。
附图说明
图1为本发明的Hadoop MapRuduce架构示意图;
图2为本发明所使用的MapRuduce执行框架机制示意图;
图3为本发明的流程图;
图4为本发明方法的并行加速收敛的曲线图;
图5为单机Pegasos方法在数据到达一定大小程度之后,运行失败的示意图;
图6为单机Pegasos和P-Pegasos在不同大小数据上的时间比较示意图;
图7为Covtype扩展不同倍数后的数据集上,P-Pegasos运行于不同节点数的时间示意图;
图8为Covtype扩展不同倍数后的数据集上,P-Pegasos的对应不同节点数的加速比示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明发方法所基于的Hadoop MapReduce架构是一个分布式集群,其中一个节点是主节点NameNode,负责作业的划分与调度等,其他有若干个DataNode,是组成HDFS(集群文件系统)的物理节点,负责存储数据块和执行被划分成的任务,包括Map和Reduce过程。
如图2所示,本发明方法所基于的MapReduce执行框架包括Map过程和Reduce过程,Map端会将中间的数据按<key,value>发送给Reduce端。
本发明方法流程如图3所示,如下面详细说明:
步骤1,将数据存储于分布式的集群文件系统中。
步骤2,发布MapReduce作业,参数初始化:正则化参数lambda,学习因子eta,并行度P。
步骤3,在各个Mapper上,读入对应本地的数据块中的数据,每读入一个数据,便生成一个1至P之间的随机数i,并将该数据按<i,vector>的形式随机发送到某个Reducer端Ri。
步骤4,在各个Reducer端,收集好所有发送过来的数据形成原样本的数据子集(简称“子集”)Si,在该数据子集Si上访问每个样本,通过执行局部的Pegasos方法计算梯度和更新模型向量Wi,循环至访问完所有样本或达到指定迭代次数后终止循环,输出局部结果Wi。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学;南京大学江阴信息技术研究院,未经南京大学;南京大学江阴信息技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210072523.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于局部时空流形学习的运动目标分割方法
- 下一篇:一种多肽