基于MapReduce模型的改进型灰狼分簇算法的制作方法

文档序号:22326345发布日期:2020-09-25 17:55阅读:98来源:国知局
基于MapReduce模型的改进型灰狼分簇算法的制作方法

本发明涉及超大规模数据分簇领域,尤其涉及一种基于mapreduce模型的改进型灰狼分簇算法。



背景技术:

1、背景

分簇属于无监督学习,其目的是发现数据的特征并对数据进行有效处理,分簇算法被广泛应用于图像多尺度分割,生物地理优化数据处理,遥感图像实时分类,社交网络信息分类处理,大数据分析等方面。当前最常用、最简单、应用较广的是k-均值分簇算法,由于该算法的分簇结果与簇质心的初始状态息息相关,因此k-均值算法极易于陷入局部最优。为了解决这一问题,大量元启发式算法被用来解决数据分簇问题。例如:巧妙利用遗传算法的特性,在特征空间找到最优质心优化所得簇的密度;使用微粒群算法优化分簇结果,解决社交网络用户信息数据分析问题;基于引力搜索和k-均值算法初始化簇质心,用来找到图像多尺度分割的最佳阈值;基于蝙蝠算法的主要优势优化原有分簇过程。但是,由于以上分簇算法均为顺序执行,所以在解决大规模数据集的分簇问题上无法达到高效的时间和空间复杂度。为了有效提高大型数据集分簇计算的性能,并行化执行分簇算法是更具有吸引力解决方案。

apachehadoop是一种被广泛使用的免费、开源并行化工具,可用来解决大型数据集的分簇问题。hadoop使用自身分布式文件系统(hdfs),能有效利用硬件来分析处理zb级商用数据。mapreduce作为并行计算模型被成功应用于元启发式算法的并行化处理,达到分析大型数据集的目的。灰狼算法是借助于灰狼狩猎行为的一种新型元启发式算法。其性能优于现有的元启发式算法,如:粒子群优化(pso),蝙蝠算法(ba),重力搜索算法(gsa)等。灰狼算法已在许多领域得到广泛应用,例如使用灰狼算法优化干扰资源效能,解决作业车间节能调度问题,优化带容量约束的车辆路径问题,实现移动机器人路径优化等。尽管灰狼算法的应用范围极广,但其缺点是缺乏族群多样性,收敛速度慢、易于陷入局部最优。

2、相关技术

2.1、数据分簇方法

监督学习使用标记数据的方法对训练集实施分簇。而数据分簇无需进行任何学习,仅根据数据的结构对数据对象进行分簇,因此数据分簇是一种无监督学习方法。基于数据的相似性,将维数t的数据集进行分簇,就是将n个数据对象组装成k个簇,使簇内的数据对象具有最大相似度。igwca可以根据规定的簇数完成分簇。首先,选择k个簇的簇内相似度作为评估分簇质量的标准。设z={z1,z2,z3…,zn}是t维空间中n个数据对象的集合。该数据集由n行、t列的矩阵zn×t表示,每个数据对象为一个行向量。数据分簇的过程就是将n个数据对象分为k个簇,即c={c1,c2,c3…,ck},并找到各簇的簇质心。分簇目的就是让每个数据对象zi与其所属质心ci之间的相似度最大。通常,分簇过程需要满足以下两个条件:

条件1即每个簇至少要有一个数据对象。

条件2即每个数据对象只能唯一属于一个簇。

除了满足上述两个分簇条件之外,还要使用簇相似系数评估公式来衡量分簇质量,数据对象之间的相似系数如公式(1)所示。相似系数的绝对值越接近1,表示数据对象越相似,越接近0,表示数据对象越不相似。

其中的定义如公式(2)。

2.2、灰狼算法(gwo)

灰狼算法(gwo)是mirjalili等人于2014年模仿灰狼捕猎机制提出的一种群智能元启发式算法。其具有参数少、易实现等特点。gwo根据狼的社会等级,将所有狼分为α狼、β狼、δ狼和ω狼。α狼是狼群中的指挥官,其他狼均服从α狼的命令。β狼服从于α狼,并协助α狼做出决策。δ狼服从于α狼和β狼并支配其余阶层的狼。ω狼的社会等级最低,但是如果没有ω狼的存在,狼群会因内部问题出现自相残杀的现象。由于狼群缺乏多样性,因此gwo存在收敛速度慢,更易于陷入局部最优,难以平衡探索和开发能力。

在灰狼算法中,灰狼具有识别潜在猎物的能力,其狩猎过程主要在α、β和δ狼的指导下完成,ω狼负责包围猎物,狼群通力协作以寻找最优的解决方案。灰狼搜索猎物,逐渐接近猎物并包围猎物的数学模型由公式(3)、(4)、(5)、(6)定义:

其中,i为迭代次数,xp是猎物的位置向量,x(i)是在第i次迭代中灰狼的位置向量;为协同向量系数;

在整个迭代的过程中,系数向量由2线性减少到0,r1、r2是[0,1]之间的随机向量。

在每次迭代的过程中,要保留当前群中α、β、δ狼的位置信息,并根据他们的位置信息更新ω狼的位置信息。该行为的数学模型如公式(7)、(8)、(9)所示。在第i次迭代时,ω狼的位置由公式(10)计算得到。

其中,由公式(11)、(12)、(13)计算得到:

其中,为随机向量。



技术实现要素:

本发明的目的是为了提供一种基于mapreduce模型的改进型灰狼分簇算法,有效解决大型数据集的分簇问题。

为解决以上技术问题,本发明的技术方案为:一种基于mapreduce模型的改进型灰狼分簇算法,其步骤包括:

步骤1:输入数据集,输入为t维n个数据对象,簇数为k;每个灰狼的位置x代表了k个簇(c1,c2,c3,…,ck)的簇质心;算法最终输出的是最优质心位置,α狼的位置表示质心位置;

步骤2:启动mapreduce框架读取数据信息,并将接收到的数据集分块,通过hadoop节点均匀分配各分割好的数据块;

步骤3:执行mapreduce模型中的map函数,以灰狼id为键,以簇质心为值,将每个数据对象转换为键值对的形式进行并行处理,根据狼位置计算簇质心,通过计算相似系数,迭代更新簇质心;map函数以{灰狼id,质心id}为键,相应的质心id相似度为值,以键值对的形式进行输出;

步骤4:执行mapreduce模型中的reduce函数,reduce函数将根据相同键的值获取最大相似度,并根据其更改每只灰狼的适应度值;在每次迭代的过程中更新α狼、β狼、δ狼的位置,直至满足停止条件为止完成迭代,得到最优质心,完成分簇。

按以上方案,所述步骤3中,根据狼位置计算簇质心的步骤为:

步骤3.1:根据公式(10)更新每只灰狼的位置,具体为:在每次迭代的过程中,当前群中α、β、δ狼的位置信息,并根据他们的位置信息更新ω狼的位置信息;该行为的数学模型如公式(7)、(8)、(9)所示;在第i次迭代时,ω狼的位置由公式(10)计算得到:

其中,分别为α、β、δ狼当前位置,为三个随机向量,表示当前解的位置;

其中,由公式(11)、(12)、(13)计算得到:

其中,为随机向量;

步骤3.2:采用公式(14)根据灰狼行为规则提升攻击行为:

其中,ipij是改进后编号为i的灰狼在维度j上的位置;

步骤3.3:采用公式(17)引入狄利克雷分布先验每只灰狼的位置,具体为:

将狄利克雷分布函数应用到每只狼的位置更新中,加大探索搜索空间的扩展力度,提高搜索性能;概率密度函数如公式(15)所示:

其中,θi≥0,χ=(χ1,χ2,…,χk),χi≥0,θ是服从参数χ的狄利克雷分布;

其中,γ函数的定义由公式(16)所示;

公式(17)给出的是每只灰狼在第i次迭代时使用狄利克雷分布实现位置更新的方法:

其中,为灰狼在第i次迭代时的位置,exstepi表示在第i次迭代处的狄利克雷先验估计,exstepi由公式(18)计算得到,代表α狼的位置;

按以上方案,所述步骤3中,计算相似系数方法为:

其中的定义如公式(2)所示:

本发明具有如下有益效果:

本发明为了提高该算法的搜索精度,首先在原有算法的基础上进行改进,设计改进型灰狼分簇算法(igwca),将灰狼行为规则与灰狼的狩猎策略相混合,加大攻击祈祷次数,同时引入狄利克雷分布实现先验以增强祈祷的搜索能力;最后,使用mapreduce体系结构实施igwca的并行化(igwca-mr)处理,达到对大型数据集实施有效分簇的目的。igwca在保持分簇结果与其他分簇算法一致的基础上,其探索和开发能力优于其他分簇算法;igwca-mr的分簇质量和平均执行时间均优于其他并行分簇算法,随着集群节点数的增加其加速度性能呈现明显的线性加速,igwca-mr更有利于对超大规模数据实施分簇处理。,

附图说明

图1为本发明实施例中igwca分簇算法执行流程图;

图2为本发明实施例igwca-mr完整体系结构框架示意图;

图3为本实施例igwca-mr体系中map函数流程示意图;

图4为本实施例igwca-mr体系中reduce函数流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。

请参考图1至图4,本发明为基于mapreduce模型的改进型灰狼分簇算法,该算法首先实现了改进型灰狼分簇算法(igwca)的设计,该分簇算法是原有灰狼算法的有效变体;其次,通过使用mapreduce模型实现igwca的并行化,有效解决大型数据集的分簇问题。

1、改进型灰狼分簇算法(igwca)

由于狼群缺乏多样性,因此gwo存在收敛速度慢,更易于陷入局部最优,难以平衡探索和开发能力。为了解决这一问题,改进型灰狼算法将灰狼行为规则与灰狼的狩猎策略相混合,增大搜索空间的多样性,加大攻击祈祷次数,同时引入狄利克雷分布实现先验以增强搜索祈祷能力。

(1)利用灰狼行为规则提升攻击行为

随着当前周围族群数量的急剧增加,将不断扩大最佳解决方案的生成。狼群之间需要通过相互协作实施捕猎行为,通过使用灰狼行为规则,有效增强改进型灰狼算法的探索和开发能力。当α狼确定了最佳位置后,其他狼在移动时需要考虑以α狼的当前最佳位置为基础进行移动。因此,可以在α和x(i)之间依照灰狼行为规则将攻击最大限度地扩大为祈祷。灰狼位置的更新由公式(14)定义。

其中,ipij是改进后编号为i的灰狼在维度j上的位置。

(2)使用狄利克雷分布(dirichletdistribution)增强搜索祈祷能力

在原有灰狼算法中,所有狼位置的更新将取决于前导狼的位置,也就是α狼、β狼和δ狼的最佳位置,因此gwo会产生不成熟的收敛,从而导致停滞。为了提高整个算法的探索能力,在改进型灰狼算法中使用狄利克雷分布作为多项式分布的共轭先验,估计每只狼的更新位置。此时使用狄利克雷分布函数的概率密度估计行为步长,将狄利克雷分布函数应用到每只狼的位置更新中,加大探索搜索空间的扩展力度,提高搜索性能。概率密度函数如公式(15)所示:

其中,θi≥0,χ=(χ1,χ2,…,χk),χi≥0,θ是服从参数χ的狄利克雷分布。

其中,γ函数的定义由公式(16)所示:

公式(17)给出的是每只灰狼在第i次迭代时使用狄利克雷分布实现位置更新并寻找猎物的方法:

其中,为灰狼在第i次迭代时的位置,exstepi表示在第i次迭代处的狄利克雷先验估计,exstepi由公式(18)计算得到,代表α狼的位置;

2、改进型灰狼分簇算法(igwca)的实现

改进型灰狼分簇算法就是将改进型灰狼算法应用到求解数据分簇问题中,在基于igwca的分簇中,每个灰狼的位置x代表了k个簇(c1,c2,c3,…,ck)的簇质心。使用簇相似系数评估公式作为成本函数,该函数的定义如公式(19)所示,公式(19)与公式(1)相同。最佳分簇由α狼的位置得到。

基于igwca分簇算法的流程图如图1所示,该算法的输入为t维n个数据对象,簇数为k;算法最终输出的是最终质心位置,α狼的位置表示质心位置;

改进型灰狼分簇算法生成最优簇质心的时间复杂度与数据集中数据对象的个数、簇的大小和迭代次数成正比;对于数据对象n、簇数k、迭代次数i而言,igwca的时间复杂度为o(n×k×i),因此,当族群规模为p时,igwca的时间复杂度为o(p×n×k×i)。

3、使用mapreduce模型实现igwca并行化

使用apachehadoopmapreduce框架,基于mapreduce模型实现igwca并行化(igwca-mr),实现对超大规模数据集的分簇。igwca-mr分两个步骤进行,分别是map操作和reduce操作,map操作要将复杂任务分解为若干个简单任务来处理,对大量记录进行迭代,从每个记录中提取有用的信息,并且将所有具有相同键的值都发送到相同的reduce操作中;reduce操作实现汇总,使用从map操作生成的相同键来聚合中间结果,生成最终结果。igwca-mr完整的体系结构框架图如图2所示。

首先,启动mapreduce框架读取数据信息,并将接收到的数据集分块,通过hadoop节点均匀分配各分割好的数据块。然后,执行igwca-mr的map函数,以gwoid为键,以簇质心为值,将每个数据对象转换为键值对的形式进行并行处理,根据狼位置计算簇质心,通过计算相似系数,迭代更新簇质心,达到找到所有数据对象的簇质心的目的。map函数以{gwoid,质心id}为键,相应的质心id相似度为值,形式键值对的形式进行输出。map函数的流程图如图3所示。igwca-mr的reduce函数将根据相同键的值计算最大相似度,并根据其更改每只灰狼的适应度值。reduce函数的流程图如图4所示。根据igwca-mr的设计规则,需要在每次迭代的过程中更新α狼、β狼、δ狼的位置,直至满足停止条件为止完成迭代。

本发明的igwca-mr算法是一种基于mapreduce模型的改进型灰狼分簇算法,整个算法的设计是通过对原有的灰狼算法进行改进得到;首先实现了改进型灰狼分簇算法(igwca)的设计,该分簇算法是原有灰狼算法的有效变体。其次,通过使用mapreduce模型实现igwca的并行化,有效解决大型数据集的分簇问题。igwca-mr是解决大规模分簇问题的一种强有力的替代方法。后期,将会通过并行化工具(如spark)进行测试并不断改进,将该方法应用在疫情预防监控,学生学习情况分析方面

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1