基于Spark和ASPSO的并行化K-means的优化方法技术

技术编号:29310090 阅读:53 留言:0更新日期:2021-07-17 02:11
本发明专利技术提出了一种基于Spark和ASPSO的并行化K

Optimization method of parallelized K-means based on spark and aspso

【技术实现步骤摘要】
基于Spark和ASPSO的并行化K

means的优化方法


[0001]本专利技术涉及大数据挖掘领域,尤其涉及一种基于Spark和ASPSO的并行化K

means的优化方法。

技术介绍

[0002]聚类算法作为数据挖掘中的一种无监督的学习算法,可以根据数据的相似特征对数据集进行自动划分,按一定规则根据对象划分成不同的类别,同一类别下的对象具有一定的相似性,而不同类别对象之间则差异较大。因此,聚类算法可以从样本数据中发现潜在的分布模式,被广泛应用于计算机科学、生物信息学、图像处理、社会网络、天文学以及许多其他的领域。
[0003]随着人工智能时代的到来,各种感知和通信设备以及存储设备的普及,使当前的数据形式发生翻天覆地的变化,数据规模爆炸式增长。相较于传统数据,大数据拥有数据规模大、数据种类多样化、数据价值密度低、数据增长速度快等基本特征。然而传统的K

means聚类算法所需时间复杂度高,只适用于小规模的数据,在处理大数据时,其时间的消耗无疑是巨大的。因此,如何使K

means聚类算法能更快的处理大数据,是国内外重点关注的问题。
[0004]随着传统的数据挖掘算法在分布式计算框架的广泛应用,以Hadoo、Spark为代表的分布式架构受到了越来越多的关注。其中,Spark凭借计算速度快,简洁易用、通用性强和支持多种运行模式等优势深受广大学者青睐。因此,目前许多基于Spark计算框架已成功应用到大数据的分析与处理领域中。其中,M Laszlo等人提出了一种基于遗传算法GA的并行化划分聚类算法SP

GAKMS,该算法基于遗传算法优化了K

means算法的初始质心,通过对种群个体的多次选择、交叉、变异的遗传操作,使得种群个体逐渐优化并逐步逼近最优解,最终得到最优的初始质心集。同时,设计了一种基于局部聚合的自动迭代聚簇算法,通过局部聚簇寻找数据集中连接紧密的节点集,并迭代合并局部簇,实现了对局部簇的并行化合并。SP

GAKMS在运行时间与聚类效果上都要优于传统的K

means算法。但该算法依然存在以下四点不足:算法没有考虑到数据离散系数较大、局部簇簇数难以确定、不能获取全局最优初始质心及局部簇并行化合并效率低等问题。

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于Spark和ASPSO的并行化K

means的优化方法。
[0006]为了实现本专利技术的上述目的,本专利技术提供了一种基于Spark和ASPSO的并行化K

means的优化方法,包括以下步骤:
[0007]S1,通过分割函数粗略的划分数据集,并利用基于皮尔逊相关系数和方差的网格划分策略PCCV来计算数据网格的皮尔逊相关系数与相关系数阈值,再通过与阈值比较,对数据网格进行划分,获取网格单元,减小了数据划分的数据离散系数;
[0008]S2,采用SPFG策略,对数据点进行局部区域覆盖,并通过更新函数,更新数据集中
的样本点,形成以不同样本点为核心的区域簇,获取局部聚类的簇数,解决了簇数的难以确定的问题;
[0009]S3,采用ASPSO策略,计算自适应参数,通过自适应参数更新粒子的位置和速度,获取局部簇质心,避免了局部簇质心的随机性;
[0010]S4,采用CRNN策略计算每个簇的簇半径,通过簇半径计算出簇与簇之间的邻居节点,并根据簇的相似性函数进行相似度判断,结合Spark并行计算框架将相似度大的簇进行合并,避免了在并行化运算过程中对所有簇的点与边集同时展开搜索,提高了局部簇并行化合并的效率;
[0011]S5,输出聚类结果:最终的聚类中心以及每个样本所属的类别。
[0012]进一步地,所述S1包括:
[0013]S1

1,数据集的粗略划分:首先获取划分数据集,并将其标记为G
s
;其次提出分割函数FD(x
i
)计算出划分阈值,分别与每个数据点比较,对于大于阈值的数据则放入网格G
max
中,小于阈值的数据则放入G
min
中;最后获得G
max
与G
min
两个数据网格;
[0014]所述分割函数FD(x
i
)为:
[0015]k={max(S
i
/d
i
)|i=1,2,...u}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0016][0017]其中,k表示分割维度,S
i
为空间数据集中第i维度的数据的方差,d
i
为空间数据集中第i维度的数据之和,u表示u个数据维度,为第k分割维度下的数据值,num为网格中的数据点的个数。
[0018]S1

2,网格的划分:在获取G
max
与G
min
两个数据网格之后,由于分割函数只能对数据集进行粗略的划分,无法对相似度较大的数据进行网格划分,导致无法获取网格单元。因此,需要对网格G
max
与G
min
进行进一步的数据划分;
[0019]S1
‑2‑
1,首先计算网格中数据点的皮尔逊相关系数阈值PCC
k
值,以PCC
k
值作为网格划分阈值来对数据网格进行划分,通过比较数据皮尔逊相关系数与PCC
k
的大小,将系数大于PCC
k
的数据进行标记为core,系数小于PCC
k
的数据则标记为uncore;
[0020]S1
‑2‑
2,将网格中数据标记为core与uncore的两种数据分别划分为两个更小的网格,并取消标记;
[0021]S1
‑2‑
3,对网格进行数据的判断,如果数据点的个数大于网格单元的阈值maxNum,则返回步骤S1
‑2‑
1,否则停止对网格进行划分;其中maxNum表示数据的总的个数n与并行化节点Partition个数的比值;
[0022]S1
‑2‑
4,将划分好的网格单元进行标记,得到网格单元G1,G2,G3...G
m

[0023]令PCC
k
为任意两个数据点的皮尔逊相关系数值,则阈值PCC
k
为:
[0024][0025][0026]其中,PCC
i,j
代表数据点i、j之间的关联程度,sum(
·
)为求和函数,G
num
为网格单元
的数据个数,ω为数据点的密度权重,x
k,i
、x
k,j
分别表示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Spark和ASPSO的并行化K

means的优化方法,其特征在于,包括以下步骤:S1,通过分割函数粗略的划分数据集,并利用基于皮尔逊相关系数和方差的网格划分策略PCCV来计算数据网格的皮尔逊相关系数与相关系数阈值,再通过与阈值比较,对数据网格进行划分,获取网格单元;S2,采用SPFG策略,对数据点进行局部区域覆盖,并通过更新函数,更新数据集中的样本点,形成以不同样本点为核心的区域簇,获取局部聚类的簇数;S3,采用ASPSO策略,计算自适应参数,通过自适应参数更新粒子的位置和速度,获取局部簇质心;S4,采用CRNN策略计算每个簇的簇半径,通过簇半径计算出簇与簇之间的邻居节点,并根据簇的相似性函数进行相似度判断,结合Spark并行计算框架将相似度大的簇进行合并;S5,输出聚类结果:最终的聚类中心以及每个样本所属的类别。2.根据权利要求1所述的一种基于Spark和ASPSO的并行化K

means的优化方法,其特征在于,所述S1包括:S1

1,数据集的粗略划分:首先获取划分数据集,并将其标记为G
s
;其次提出分割函数FD(x
i
)计算出划分阈值,分别与每个数据点比较,对于大于阈值的数据则放入网格G
max
中,小于阈值的数据则放入G
min
中;最后获得G
max
与G
min
两个数据网格;所述分割函数FD(x
i
)为:k={max(S
i
/d
i
)|i=1,2,...u}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,k表示分割维度,S
i
为空间数据集中第i维度的数据的方差,d
i
为空间数据集中第i维度的数据之和,u表示u个数据维度,为第k分割维度下的数据值,num为网格中的数据点的个数;S1

2,网格的划分:在获取G
max
与G
min
两个数据网格之后,对网格G
max
与G
min
进行进一步的数据划分;S1
‑2‑
1,首先计算网格中数据点的皮尔逊相关系数阈值PCC
k
值,以PCC
k
值作为网格划分阈值来对数据网格进行划分,通过比较数据皮尔逊相关系数与PCC
k
的大小,将系数大于PCC
k
的数据进行标记为core,系数小于PCC
k
的数据则标记为uncore;S1
‑2‑
2,将网格中数据标记为core与uncore的两种数据分别划分为两个更小的网格,并取消标记;S1
‑2‑
3,对网格进行数据的判断,如果数据点的个数大于网格单元的阈值maxNum,则返回步骤S1
‑2‑
1,否则停止对网格进行划分;其中maxNum表示数据的总的个数n与并行化节点Partition个数的比值;S1
‑2‑
4,将划分好的网格单元进行标记,得到网格单元G1,G2,G3...G
m
;令PCC
k
为任意两个数据点的皮尔逊相关系数值,则阈值PCC
k
为:
其中,PCC
i,j
代表数据点i、j之间的关联程度,sum(
·
)为求和函数,G
num
为网格单元的数据个数,ω为数据点的密度权重,x
k,i
、x
k,j
分别表示第k个网格中的任意两个数据点的值,m表示数据网格总数。3.根据权利要求2所述的一种基于Spark和ASPSO的并行化K

means的优化方法,其特征在于,所述S1还包括:S1

3,离群点的过滤:在获取网格单元G1,G2,G3...G
m
后,计算每个网格单元中数据的GOF值,若GOF值>>ε,则将该数据点视为离群点,并对其进行删除;其中G1为第一网格单元,G2为第二网格单元,G3为第三网格单元,G
m
为第m网格单元;>>表示远大于,ε表示网格单元数据阈值;离群因子GOF为:离群因子GOF为:离群因子GOF为:其中,d表示当前网格中其余的m

1个数据点的欧氏距离,d(x
i
,x
j
)表示网格中数据点x
i
、x
j
的欧氏距离,表示网格单元的中心点,x
i
表示网格中第i个数据点,x
j
表示网格中第j个数据点,mc表示网格中数据点的个数,m表示数据网格总数,表示当前数据点到网格中心的距离。4.根据权利要求1所述的一种基于Spark和ASPSO的并行化K

means的优化方法,其特征在于,所述S2包括:S2

1,对数据集中任意一对数据x
i
,x
j
,计算其作用势γ(x
i
,x
j
),并以x
i
为基准样本,将其他的样本点对x
j
的作用势进行累加,得到每个样本点的作用势集合为:ρ={ρ1,ρ2,...,ρ
n
},其中ρ1表示第1个样本点的作用势,ρ2表示第2个样本点的作用势,ρ
n
表示第n个样本点的作用势;S2

2,从ρ中选择最大作用势ρ
i
放入一个空的集合M{}中,并以ρ
i
为当前的高斯核中心,以给定的核宽σ建立相应的高斯核来对原始数据的一个局部区域有效覆盖;S2

3,消除当前高斯核所覆盖的局部区域的样本势值,提出基于高斯核函数的更新函数FU(x
i
,y
j
)对数据集中的其他样本点进行更新;更新函数FU(x
i

【专利技术属性】
技术研发人员:廖列法毛伊敏甘德瑾
申请(专利权)人:江西理工大学
类型:发明
国别省市:

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

1