一种基于Map/Reduce的快速支持向量数据描述方法及系统技术方案

技术编号:7592162 阅读:232 留言:0更新日期:2012-07-21 07:19
本发明专利技术涉及一种基于Map/Reduce的快速支持向量数据描述方法及系统,其中方法包括:对用于支持向量数据描述的数据进行预处理,生成支持向量数据描述的训练数据集D;根据预设置的参数、由训练数据集D生成n个子数据集,预设置的参数包括训练数据集的划分个数;根据n个子数据集,生成MapReduce编程架构下的n个子分类器SVDDi=(1,......,n)的Map任务,并将Map任务交由Hadoop集群调度器进行运算;调用MapReduce编程架构下的Reduce任务进行子分类器SVDDi=(1,......,n)的合并,得到训练数据集的SVDD分类器。本发明专利技术可以在处理海量数据时,降低SVDD训练数据集的维数,加快SVDD训练速度,同时避免训练中断。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,更具体地说,涉及一种基于Map/Reduce的快速支持向量数据描述方法及系统
技术介绍
支持向量数据描述(Support Vector Data Description, SVDD)是在支持向量机 (Support Vector Machine, SVM)的基础上,由Tax于2001年提出的一种针对单类数据的数据描述算法。它的主要思想是在核特征空间中寻找一个最小超球分界面,该分界面应尽可能把所有训练样本包围起来,并以该分界面对数据进行分类和描述。SVDD继承了 SVM的优点,即以结构风险为目标进行优化,因此一经提出就受到了广大研究者的注意,并将之应用于异常检测、入侵检测中、基因表达聚类、故障检测等方面,取得很好的效果。然而,上述应用领域的数据逐渐朝着海量级别的方向发展。目前,SVDD分类器常用的训练方法有标准的训练方法和增量式方法。当上述训练方法应用于海量数据的级别时,由于需要通过核函数工具进行高维映射,最后得到用于寻优矩阵的维数将是爆炸性,其导致的后果是=(I)SVDD模型训练速度非常缓慢;(2)因内存消耗量过大使得训练中断。Map/Reduce (映射/化简)系统是一个最先由Google提出的分布式计算软件构架,通过定义相应的映射(Map)和化简(Reduce)函数来实现大数据量的分布式处理,可以用来解决大数据量的分布式计算问题,然后把计算后的结果放入文件系统或者数据库中。 在Map/Reduce系统中,每一个map操作都是相对独立的,所有的map任务都是并行运行的,虽然实践中会受到数据源和中央处理器个数的影响。同样的,Map/Reduce系统用一个 reducer集合来执行reduce操作,所有带有相同key的map输出会聚集到同一个reducer。 虽然这个过程看上去没有串行计算来得高效,但是Map/Reduce系统能够处理一般服务器所不能处理的大数据量处理问题。大型的服务器集群(例如Hadoop集群)可以在几个小时内处理petabyte数据量的排序问题。而并行处理可以提供部分容错和出错恢复的功能, 当一个map操作或reduce操作失效时,整个工作就会被重新安排,从而不会影响数据处理工作的连续性。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于Map/ Reduce的快速支持向量数据描述方法及系统,其能在处理海量数据时,降低SVDD训练数据集的维数,加快SVDD训练速度,同时避免训练中断。本专利技术解决其技术问题所采用的技术方案是构造一种基于Map/Reduce的快速支持向量数据描述方法,其中,包括以下步骤对用于支持向量数据描述的数据进行预处理,生成支持向量数据描述的训练数据5集D ;根据预设置的参数、由所述训练数据集D生成η个子数据集,所述预设置的参数包括训练数据集的划分个数;根据所述η个子数据集,生成Map/Reduce编程架构下的η个子分类器SVDDi = (1,...... ,η)的Map任务,并将所述Map任务交由Hadoop集群调度器进行运算;在所述Hadoop集群调度器运算完成后,调用Map/Reduce编程架构下的Reduce任务进行子分类器SVDDi = (1,......, n)的合并,得到最后训练数据集的SVDD分类器;其中,所述i、n为自然数。本专利技术所述的快速支持向量数据描述方法,其中,所述根据预设置的参数、由所述训练数据集D生成η个子数据集具体包括获取预计要抽样的子训练集的个数η值;应用Bagging方式对所述训练数据集D进行抽样,在所抽样本不重复时,将所抽样本加入到子数据集/r"中;在所述子数据集ZTa中所包含样本的个数达到预设的个数时,判断所有子数据集是否已全部完成抽样,如果是,则停止抽样,否则更新所述训练数据集D,令…VJDrh),再重复执行前一步骤。本专利技术所述的快速支持向量数据描述方法,其中,所述步骤根据所述η个子数据集,生成Map/Reduce编程架构下的η个子分类器SVDDi = (1,......,η)的Map任务具体包括读取所述子数据集D-;获取核参数、惩罚比例,其中所述核参数采用默认的高斯核;根据所述核参数、惩罚比例,对所述子数据集ITa进行训练建模;训练生成Map/Reduce编程架构下的η个所述子分类器SVDDi = (1,......,η)的Map任务。本专利技术所述的快速支持向量数据描述方法,其中,所述将所述Map任务交由 Hadoop集群调度器进行运算具体包括启动所述Hadoop集群调度器对所述Map任务进行调度运行,所述调度器将η个所述Map任务交由Hadoop集群的中多个计算节点进行运算,并将运算结果存储于Hadoop集群的分布式存储系统中。本专利技术所述的快速支持向量数据描述方法,其中,所述Hadoop集群调度器运算完成后,调用Map/Reduce编程架构下的Reduce任务进行子SVDDi=(1,......,n)的合并,得到最后训练数据集的SVDD分类器具体包括读取所述子分类器SVDDi = (1,......,n);获取所述子分类器SVDDi = (1,...... ,n)的支持向量集# = ……,<’;计算所述支持向量集的每个样本被多少个所述子分类器SVDDi = (1,......, n)包含,所计算结果记为kf',每被一个所述子分类器SVDDi = (1,......,n)包含,则令M'+1;计算={k-Vi == I,i = I,......,η).根据所述SVme训练生成训练数据集的SVDD分类器。本专利技术还提供了一种基于Map/Reduce的快速支持向量数据描述系统,其中,包括训练数据集生成模块、Bagging抽样划分模块、Map函数子SVDD分类器生成模块和Reduce 函数合并子SVDD分类器模块;其中,所述训练数据集生成模块,用于对用于支持向量数据描述的数据进行预处理,生成支持向量数据描述的训练数据集D ;所述Bagging抽样划分模块,用于根据预设置的参数、由所述训练数据集D生成η 个子数据集,所述预设置的参数包括训练数据集的划分个数;所述Map函数子SVDD分类器生成模块,用于根据所述η个子数据集,生成Map/Reduce编程架构下的η个子分类器SVDDi = (1,......, η)的Map任务,并将所述Map任务交由Hadoop集群调度器进行运算;所述Reduce函数合并子SVDD分类器模块,用于在所述Hadoop集群调度器运算完成后,调用Map/Reduce编程架构下的Reduce任务进行子分类器SVDDi = (1,......, n)的合并,得到最后训练数据集的SVDD分类器;其中,所述i、η为自然数。本专利技术所述的快速支持向量数据描述系统,其中,所述Bagging抽样划分模块包括η值获取单元,用于获取预计要抽样的子训练集的个数η值;抽样单元,用于应用Bagging方式对所述训练数据集D进行抽样,在所抽样本不重复时,将所抽样本加入到子数据集1)-中;第一判断单元,用于在所述子数据集D-中所包含样本的个数达到预设的个数时, 判断所有子数据集是否已全部完成抽样,如果是,则停止抽样,否则更新所述训练数据集D, 令D=Dnpi-υ_··本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:庄进发吴鸿伟罗佳
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术