CN102750309B - 一种基于Hadoop的并行化SVM求解方法 - Google Patents
一种基于Hadoop的并行化SVM求解方法 Download PDFInfo
- Publication number
- CN102750309B CN102750309B CN201210072523.8A CN201210072523A CN102750309B CN 102750309 B CN102750309 B CN 102750309B CN 201210072523 A CN201210072523 A CN 201210072523A CN 102750309 B CN102750309 B CN 102750309B
- Authority
- CN
- China
- Prior art keywords
- data
- pegasos
- svm
- parallelization
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012706 support-vector machine Methods 0.000 title description 9
- 230000004927 fusion Effects 0.000 claims abstract description 4
- 239000003638 chemical reducing agent Substances 0.000 claims description 4
- 238000005070 sampling Methods 0.000 abstract description 4
- 238000012935 Averaging Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 101000710137 Homo sapiens Recoverin Proteins 0.000 description 3
- 102100034572 Recoverin Human genes 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种基于Hadoop的并行化SVM求解方法,包括如下步骤:将数据存储于分布式的集群文件系统中;根据数据的分布状况,在各个数据块上执行随机抽样过程,并将随机抽取的样本数据一一分配并形成若干的数据子集;在所述数据子集上进行局部第一方法;将各个数据子集上进行局部第一方法的结果进行取平均的融合,输出平均结果。本发明能够在不损失精度的情况下处理海量数据下的Pegasos求解,大大缩短运行时间,并且能够有好的拓展性。
Description
技术领域
本发明涉及一种基于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。
步骤5,将各个子集Si上Pegasos方法的结果取平均的融合,输出平均结果。
本发明并行化Pegasos方法(P-Pegasos,Parallelized Pegasos)是将ParallelizedStochastic Gradient Descent(并行化的随机梯度下降)的思想应用到Pegasos中,因为Pegasos是基于Gradient Descent的方法。在处理海量数据时,将数据看成无穷多,那么这个时候各个子集上的数据就可以看成是随机抽样于原来的海量数据中的,并且是同分布的,那么各个子集上的Pegasos结果会收敛极限是一致的,取各个子结果的均值,得到的结果也是一致的。
本发明方法是正确且有效的:(1)如表1和表2所示,在路透社新闻数据集RCV1和地理信息数据集Covtype上的准确率、精度、召回率和测试误差基本相当;(2)表3所示,P-Pegasos的运行时间远远小于其他并行化方法;(3)图4所示,并行化加速了收敛性能,达到一定误差界限时,从而每个局部子程序所需要的迭代次数减少。本发明方法能够处理大数据下的Pegasos求解,并且能够有好的拓展性:(1)如图5所示,单机Pegasos方法在数据到达一定大小程度之后,运行失败;(2)如图6所示,单机Pegasos和P-Pegasos在不同大小数据上的时间比较;(3)如图7所示,在Covtype扩展不同倍数后的数据集上,P-Pegasos运行于不同节点数的时间;(4)如图8所示,在Covtype扩展不同倍数后的数据集上,P-Pegasos的对应不同节点数的加速比。
表1在RCV1数据集上的正确性验证
RCV1(1MB) | 准确率(%) | 精度(%) | 召回率(%) | 测试误差(%) |
SVM_Perf | 97.8 | 97.1 | 98.7 | 2.20 |
Pegasos | 97.5 | 94.3 | 98.3 | 2.50 |
P-Pegasos | 96.8 | 95.8 | 98.0 | 3.60 |
表2在Covtype数据集上的正确性验证
Covtype(67MB) | 准确率(%) | 精度(%) | 召回率(%) | 测试误差(%) |
SVM_Perf | 77.7 | 70.4 | 97.2 | 22.3 |
Pegasos | 77.0 | 69.5 | 96.6 | 22.8 |
P-Pegasos | 77.7 | 70.2 | 96.1 | 21.9 |
表3几种不同并行化方法的比较
Covtype(67MB) | SVMonMahout | PSVM | P-Pegasos |
并行手段 | MapReduce | MPI | MapReduce |
优化技术 | Gradient | Decomposition | Gradient |
准确率 | - | 97.7% | 78.1% |
训练时间(s) | NA | >160000 | 18 |
Claims (1)
1.一种基于Hadoop的并行化SVM求解方法,包括如下步骤:
(1)将数据存储于分布式的集群文件系统中;
(2)发布MapReduce作业,参数初始化:正则化参数lambda,学习因子eta,并行度P;
(3)在各个Mapper上,读入对应本地的数据块中的数据,每读入一个数据,便生成一个1至P之间的随机数i,并将该数据按<i,vector>的形式随机发送到某个Reducer端Ri;
(4)在各个Reducer端,收集好所有发送过来的数据形成原样本的数据子集Si,在该数据子集Si上访问每个样本,通过执行局部的Pegasos方法计算梯度和更新模型向量,循环至访问完所有样本或达到指定迭代次数后终止循环,输出局部结果;
(5)将各个子集Si上Pegasos方法的结果取平均的融合,输出平均结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210072523.8A CN102750309B (zh) | 2012-03-19 | 2012-03-19 | 一种基于Hadoop的并行化SVM求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210072523.8A CN102750309B (zh) | 2012-03-19 | 2012-03-19 | 一种基于Hadoop的并行化SVM求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750309A CN102750309A (zh) | 2012-10-24 |
CN102750309B true CN102750309B (zh) | 2015-06-17 |
Family
ID=47030501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210072523.8A Active CN102750309B (zh) | 2012-03-19 | 2012-03-19 | 一种基于Hadoop的并行化SVM求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750309B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999672B (zh) * | 2012-11-30 | 2016-03-23 | 湖南大学 | 基于汽车耐撞性的并行支持向量机近似模型优化方法 |
US9805143B2 (en) | 2013-01-25 | 2017-10-31 | International Business Machines Corporation | Composite simulation modeling and analysis |
US9607067B2 (en) | 2013-01-25 | 2017-03-28 | International Business Machines Corporation | Synchronization of time between different simulation models |
US9201989B2 (en) | 2013-01-25 | 2015-12-01 | Globalfoundries Inc. | Interpolation techniques used for time alignment of multiple simulation models |
CN103336790B (zh) * | 2013-06-06 | 2015-02-25 | 湖州师范学院 | 基于Hadoop的邻域粗糙集快速属性约简方法 |
CN103544528A (zh) * | 2013-11-15 | 2014-01-29 | 南京大学 | 一种基于Hadoop的BP神经网络分类方法 |
US10181102B2 (en) | 2015-01-22 | 2019-01-15 | Tata Consultancy Services Limited | Computer implemented classification system and method |
CN104991830B (zh) * | 2015-07-10 | 2018-01-02 | 山东大学 | 基于服务等级协议的yarn资源分配和节能调度方法及系统 |
US10922620B2 (en) | 2016-01-26 | 2021-02-16 | Microsoft Technology Licensing, Llc | Machine learning through parallelized stochastic gradient descent |
US11087234B2 (en) * | 2016-01-29 | 2021-08-10 | Verizon Media Inc. | Method and system for distributed deep machine learning |
CN107368375B (zh) * | 2016-05-11 | 2019-11-12 | 华中科技大学 | 一种基于MapReduce的K-means聚类算法FPGA加速系统 |
US10503580B2 (en) | 2017-06-15 | 2019-12-10 | Microsoft Technology Licensing, Llc | Determining a likelihood of a resource experiencing a problem based on telemetry data |
US10805317B2 (en) | 2017-06-15 | 2020-10-13 | Microsoft Technology Licensing, Llc | Implementing network security measures in response to a detected cyber attack |
US11062226B2 (en) | 2017-06-15 | 2021-07-13 | Microsoft Technology Licensing, Llc | Determining a likelihood of a user interaction with a content element |
US10922627B2 (en) | 2017-06-15 | 2021-02-16 | Microsoft Technology Licensing, Llc | Determining a course of action based on aggregated data |
CN107862386A (zh) * | 2017-11-03 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种数据处理的方法及装置 |
CN108491476A (zh) * | 2018-03-09 | 2018-09-04 | 深圳大学 | 大数据随机采样数据子块的划分方法及装置 |
WO2019169619A1 (zh) * | 2018-03-09 | 2019-09-12 | 深圳大学 | 大数据随机采样数据子块的划分方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
CN102262557A (zh) * | 2010-05-25 | 2011-11-30 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
-
2012
- 2012-03-19 CN CN201210072523.8A patent/CN102750309B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262557A (zh) * | 2010-05-25 | 2011-11-30 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
CN102222092A (zh) * | 2011-06-03 | 2011-10-19 | 复旦大学 | 一种MapReduce平台上的海量高维数据聚类方法 |
Non-Patent Citations (2)
Title |
---|
Hadoop平台下基于SVM主动学习的分类算法研究;潘兴江;《中国优秀硕士学位论文全文数据库》;20111215(第12期);39-44 * |
向小军 等.基于Hadoop平台的海量文本分类的并行化.《计算机科学》.2011,第38卷(第10期),184-188. * |
Also Published As
Publication number | Publication date |
---|---|
CN102750309A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750309B (zh) | 一种基于Hadoop的并行化SVM求解方法 | |
CN103593436B (zh) | 文件合并方法和装置 | |
CN104036029B (zh) | 大数据一致性对比方法和系统 | |
CN105205154B (zh) | 数据迁移方法以及装置 | |
CN103218435A (zh) | 一种中文文本数据聚类方法及系统 | |
CN104408190A (zh) | 基于Spark的数据处理方法及装置 | |
CN109522428A (zh) | 一种基于索引定位的图计算系统的外存访问方法 | |
CN105701215B (zh) | 基于Hadoop MapReduce的数据连接方法及装置 | |
CN110019298B (zh) | 数据处理方法和装置 | |
CN110532187B (zh) | 一种hdfs吞吐性能测试方法、系统、终端及存储介质 | |
CN106919697B (zh) | 一种将数据同时导入多个Hadoop组件的方法 | |
CN105491117A (zh) | 面向实时数据分析的流式图数据处理系统及方法 | |
CN110825453B (zh) | 基于大数据平台的数据处理方法及装置 | |
CN105447519A (zh) | 基于特征选择的模型检测方法 | |
CN103064991A (zh) | 一种海量数据聚类方法 | |
Sariyüce et al. | STREAMER: a distributed framework for incremental closeness centrality computation | |
KR20130097972A (ko) | 하드웨어 가속화를 통한 대규모 데이터의 분산 처리 장치 및 방법 | |
CN107257307B (zh) | 基于Spark的并行化遗传算法求解多终端协同接入网络方法 | |
US10853429B2 (en) | Identifying domain-specific accounts | |
CN105554069A (zh) | 一种大数据处理分布式缓存系统及其方法 | |
CN113360576A (zh) | 一种基于Flink Streaming的电网海量数据实时处理方法及装置 | |
Gupta et al. | An approach for optimizing the performance for apache spark applications | |
JP6829427B2 (ja) | データベース・クエリ効率化のためのシステム、方法、および、プログラム | |
CN106844533A (zh) | 一种数据分组聚集方法及装置 | |
CN106599326B (zh) | 一种云化架构下的记录数据剔重处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20161223 Address after: No. 163 Nanjing City, Jiangsu province 210046 Xianlin Avenue Patentee after: Nanjing Univ. Address before: No. 163 Nanjing City, Jiangsu province 210046 Xianlin Avenue Patentee before: Nanjing Univ. Patentee before: Jiangyin Institute of Information Technology of Nanjing University |
|
TR01 | Transfer of patent right |