欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021105016684
申请人: 江西理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-11-18
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,包括以下步骤:S1,通过分割函数粗略的划分图像数据集,并利用基于皮尔逊相关系数和方差的网格划分策略PCCV来计算数据网格的皮尔逊相关系数与相关系数阈值,再通过与阈值比较,对数据网格进行划分,获取网格单元;

S1‑1,图像数据集的粗略划分:首先获取划分图像数据集,并将其标记为Gs;其次提出分割函数FD(xi)计算出划分阈值,分别与每个数据点比较,对于大于阈值的数据则放入网格Gmax中,小于阈值的数据则放入Gmin中;最后获得Gmax与Gmin两个数据网格;

所述分割函数FD(xi)为:

k={max(Si/di)|i=1,2,...u}                   (1)其中,k表示分割维度,Si为空间图像数据集中第i维度的数据的方差,di为空间图像数据集中第i维度的数据之和,u表示u个数据维度, 为第k分割维度下的数据值,num为网格中的数据点的个数;

S1‑2,网格的划分:在获取Gmax与Gmin两个数据网格之后,对网格Gmax与Gmin进行进一步的数据划分;

S1‑2‑1,首先计算网格中数据点的皮尔逊相关系数阈值PCCk值,以PCCk值作为网格划分阈值来对数据网格进行划分,通过比较数据皮尔逊相关系数与PCCk的大小,将系数大于PCCk的数据进行标记为core,系数小于PCCk的数据则标记为uncore;

S1‑2‑2,将网格中数据标记为core与uncore的两种数据分别划分为两个更小的网格,并取消标记;

S1‑2‑3,对网格进行数据的判断,如果数据点的个数大于网格单元的阈值maxNum,则返回步骤S1‑2‑1,否则停止对网格进行划分;其中maxNum表示数据的总的个数n与并行化节点Partition个数的比值;

S1‑2‑4,将划分好的网格单元进行标记,得到网格单元G1,G2,G3...Gm;

令PCCk为任意两个数据点的皮尔逊相关系数值,则阈值PCCk为:其中,PCCi,j代表数据点i、j之间的关联程度,sum(·)为求和函数,Gnum为网格单元的数据个数,ω为数据点的密度权重,xk,i、xk,j分别表示第k个网格中的任意两个数据点的值,m表示数据网格总数;

S2,采用SPFG策略,对数据点进行局部区域覆盖,并通过更新函数,更新图像数据集中的样本点,形成以不同样本点为核心的区域簇,获取局部聚类的簇数;

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

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

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

更新函数FU(xi,yj)如下所示:其中,ρi为高斯核中心,ρj为集合中的样本点,σk表示核宽, 表示高斯内核;

更新后每个样本点的作用势集合为ρ'={ρ'1,ρ'2,...,ρ'n},当更新后的势值满足max{ρ'1,ρ'2,...,ρ'n}>δ时,即可从ρ'中选择势值最大的样本点,放入集合M2{}中,其中δ表示作用势的一个阈值,ρ'1表示更新后的第1个样本点的作用势,ρ'2表示更新后的第2个样本点的作用势,ρ'n表示更新后的第n个样本点的作用势;

S3,采用ASPSO策略,计算自适应参数,通过自适应参数更新粒子的位置和速度,获取局部簇质心;

S4,采用CRNN策略计算每个簇的簇半径,通过簇半径计算出簇与簇之间的邻居节点,并根据簇的相似性函数进行相似度判断,结合Spark并行计算框架将相似度大的簇进行合并;

S4‑1,对于每一个簇C'1,C'2,...C'K,分别计算出离质心距离最大的点,以其到质心的距离作为簇半径Ri;在获取每一个簇的簇半径之后,便计算出各个簇之间的邻居节点;其中C'1为第1个簇,C'2为第2个簇,C'K为第K个簇;

S4‑2,对于簇第i个簇Ci'、第j个簇Cj',通过邻居节点集疏密程度判断两个簇之间的亲密程度,并分别计算出两个簇的样本点数ni,nj,提出簇的相似性函数CSM(ni,nj),计算出簇与簇之间的相似度;

S5,输出聚类结果:最终的聚类中心以及每个样本所属的类别。

2.根据权利要求1所述的一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,所述S1还包括:

S1‑3,离群点的过滤:

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

离群因子GOF为:

其中,d表示当前网格中其余的m‑1个数据点的欧氏距离,d(xi,xj)表示网格中数据点xi、xj的欧氏距离,表示网格单元的中心点,xi表示网格中第i个数据点,xj表示网格中第j个数据点,mc表示网格中数据点的个数,m表示数据网格总数, 表示当前数据点到网格中心的距离。

3.根据权利要求1所述的一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,所述S3包括:设计自适应参数来避免局部最优:S‑A,提出粒子群体平均速度 作为第一个自适应参数,计算出 值,设置其为控制变异步长的参数;

粒子群体平均速度为:

其中,n为数据的总的个数,vk,i为粒子的速度;

S‑B,引入的变异算子为柯西变异算子,并将其与参数粒子群体平均速度 结合,根据公式(10)对陷入局部最优的粒子进行位置更新,跳出局部最优;

其中, 为当前粒子位置, 为更新后的位置, 为粒子群体平均速度,C(1)为柯西变异算子;

S‑C,设计边界限制参数η:

参数

其中,x0为xi的中位数,γi表示尺度参数,xi表示第i个数据点的值。

4.根据权利要求1所述的一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,所述S3还包括质心初始化,所述质心初始化包括以下步骤:S‑1,将每个网格单元的数据看作一群粒子S1,S2...,So,并对其进行初始化;其中S1表示第1个粒子,S2表示第2个粒子,So表示第o个粒子;

S‑2,计算每个粒子的适应值,并将其与粒子本身的最佳位置 种群的历史最佳位置进行比较,如果适应值较优,则用适应值替换掉当前的 进行适应值更新;

S‑3,计算边界限制参数η的值,获取有效搜索区域,根据更新的适应值,在有效搜索区域中对粒子的速度与粒子的位置进行更新;

S‑4,将每次更新的种群的历史最佳位置 记录在集合W{}中,得到并对集合W{}中的值进行比较,选取前K个较大的值,并找到其对应的粒子点,便是图像数据集的初始质心。

5.根据权利要求1所述的一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,所述S3还包括局部并行化聚类:S001,将各个网格单元G1,G2,G3...Gm分配到Partition;其中G1为第一网格单元,G2为第二网格单元,G3为第三网格单元,Gm为第m网格单元;

S002,通过mapRartitions算子计算出各个网格单元的中心点 所述mapRartitions算子为: 其中 表示第i个网格单元的中心点,xi表示第i个数据点,mcount表示各个网格中的数据总数;

S003,将各个网格单元中的质心点集 与网格中心点 输入flatMap算子,并找到质心点所对应的网格单元,并标记为:C1,C2,...,CP计算出网格中心点与质心点之间的欧氏距离Di,其中flatMap算子为: 输出Di值;其中表示第j个质心点,xp表示第p个数据点,mcount表示各个网格中的数据总数;

其中, 表示网格单元中的第1个质心点, 表示网格单元中的第2个质心点, 表示网格单元中的第k个质心点;C1表示第1个质心点所对应的网格单元,C2表示第2个质心点所对应的网格单元,CP表示第3个质心点所对应的网格单元;

S004,根据输出的Di值,通过mapToPair算子选取值最小的网格单元进行合并,即反复循环,直到所有网格单元合并完毕,最后进行reduceByKey操作汇总,获得局部簇C'1,C'2,...C'K;其中Gi表示网格单元,Ci表示质心对应的网格单元,Di(·)为欧氏距离表达式, 表示网格单元中的第k个质心点; 为第i个网格单元的中心点;C'1表示第1个簇,C'2表示第2个簇,C'K表示第K个簇。

6.根据权利要求1所述的一种基于Spark和ASPSO的并行化K‑means的优化方法,其特征在于,所述计算出簇与簇之间的相似度包括:其中,k为分割维度,nei,nej分别为Ci,Cj之间的邻居节点与非邻居节点的个数,ni为簇Ci'的样本点的个数,nj为簇C'j的样本点的个数。