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的样本点的个数。