CN102750309B - 一种基于Hadoop的并行化SVM求解方法 - Google Patents

一种基于Hadoop的并行化SVM求解方法 Download PDF

Info

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
Application number
CN201210072523.8A
Other languages
English (en)
Other versions
CN102750309A (zh
Inventor
高阳
罗爱宝
商琳
杨育彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
JIANGYIN INSTITUTE OF INFORMATION TECHNOLOGY OF NANJING UNIVERSITY
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGYIN INSTITUTE OF INFORMATION TECHNOLOGY OF NANJING UNIVERSITY, Nanjing University filed Critical JIANGYIN INSTITUTE OF INFORMATION TECHNOLOGY OF NANJING UNIVERSITY
Priority to CN201210072523.8A priority Critical patent/CN102750309B/zh
Publication of CN102750309A publication Critical patent/CN102750309A/zh
Application granted granted Critical
Publication of CN102750309B publication Critical patent/CN102750309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种基于Hadoop的并行化SVM求解方法,包括如下步骤:将数据存储于分布式的集群文件系统中;根据数据的分布状况,在各个数据块上执行随机抽样过程,并将随机抽取的样本数据一一分配并形成若干的数据子集;在所述数据子集上进行局部第一方法;将各个数据子集上进行局部第一方法的结果进行取平均的融合,输出平均结果。本发明能够在不损失精度的情况下处理海量数据下的Pegasos求解,大大缩短运行时间,并且能够有好的拓展性。

Description

一种基于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。
步骤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方法的结果取平均的融合,输出平均结果。
CN201210072523.8A 2012-03-19 2012-03-19 一种基于Hadoop的并行化SVM求解方法 Active CN102750309B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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