分布式k均值数据聚类方法与流程

文档序号:17326764发布日期:2019-04-05 21:50阅读:640来源:国知局
分布式k均值数据聚类方法与流程

本公开涉及分布式网络数据挖掘技术领域,尤其涉及一种分布式k均值数据聚类方法。



背景技术:

无线传感器网络(wsn)是由大量廉价微型传感器所组成的分布式网络,其由于低成本、低功耗而被广泛应用于军事、航空、环境、生态、农业、工业等领域的监测。单个传感器一般存储小,带宽低,电池容量限制,可以探测震动、温度、湿度、光强、压强等物理量。例如,在军事领域中,在恶劣的战场环境中通常会利用wsn监测敌方坦克、战机等装备,这些传感器一般会由飞机投放到战场的各个角落,通过探测地面震动等信息可以监测附近是否有敌方军队,以及判断敌方装备种类。某些情况下出于实时监控的需要,或者无法搭建一个控制中心处理各个传感器传输过来的数据,就需要依靠分布式算法在传感器网络上处理数据信息。当获取足够数量的数据后,需要对数据进行挖掘,找出需要的信息。

数据聚类是数据挖掘的核心步骤,它有助于我们了解数据的内在结构及分布模式。数据聚类即把数据对象集合划分成多个不同的类或簇,每个簇内的数据对象之间的相似性要高于与其他簇内的对象的相似性。例如,在军事中对wsn探测到的数据进行聚类有利于判断敌方装备种类以便于制定相应的方案应对敌情。此外,在环境监测领域wsn也有广泛应用,例如在河流沿线监测水位防洪,在森林中散布传感器探测温度防森林火灾等。

然而,在实现本公开的过程中,本申请发明人发现,传统的聚类算法是集中式的,要求所有数据存储于同一个节点,由一个计算节点集中进行处理。在分布式网络的环境下,由于采集的数据分布存储于各个节点,聚类时需要传输所有数据到一个中心站点进行处理,这样做通讯消耗大且会有存储容量限制。

公开内容

(一)要解决的技术问题

基于上述技术问题,本公开提供一种分布式k均值数据聚类方法,以缓解传统的聚类算法需要将所有数据存储于同一个节点,集中进行处理,导致通讯消耗大且会有存储容量限制的技术问题。

(二)技术方案

本公开提供一种分布式k均值数据聚类方法,用于处理同步传感器网络的数据,该同步传感器网络包含多个传感器节点,包括:

步骤a:对同步传感器网络中各个传感器节点内的数据进行正规化;

步骤b:基于分布式k++算法确定该同步传感器网络的初始聚类中心;

步骤c:计算各个聚类中心与传感器节点所存储的数据之间的距离,并将数据归类给距离最近的聚类中心所代表的类别;

步骤d:在整个同步传感器网络中执行平均一致性算法更新聚类中心;

步骤e:重复步骤c和步骤d直至聚类中心的值收敛。

在本公开的一些实施例中,在执行所述步骤a前,若同步传感器网络的拓补结构是有向图,且权值不平衡,则执行镜像不平衡修正算法修正边的权值使图平衡。

在本公开的一些实施例中,所述步骤a中,将传感器节点中数据各个维度的值放缩到[0,1]之间。

在本公开的一些实施例中,所述步骤a包括:

步骤a1:在整个同步传感器网络中执行max-consensus算法找到存储于各个传感器节点中的数据各个维度的最大值,以[max1,...,maxd]’的形式存储于各个传感器节点中;

步骤a2:在整个同步传感器网络中执行min-consensus算法找到存储于各个传感器节点中的数据各个维度的最小值,以[min1,...,mind]’的形式存储于各个传感器节点中;

步骤a3:在传感器i中,利用下式,从j=1到d,计算正规化的数据值:

xij=(xij-minj)/(maxj-minj)

其中,d表示数据的维度,i表示第i个传感器节点,j表示数据xi的第j分量。

在本公开的一些实施例中,所述步骤b中:对整个同步传感器网络执行分布式k++算法得到k个初始的聚类中心,以变量c(1)=[c1(1)’,...,ck(1)’]’的形式存储于各个传感器节点内;

其中,(1)表示当前迭代步为1。

在本公开的一些实施例中,所述步骤b包括:

步骤b1:每个传感器节点均生成一个(0,1)之间的随机数tempi;

其中,i是传感器节点下标;

步骤b2:若当前初始聚类中心个数为0,对tempi执行max-consensus算法;

否则,每个传感器节点计算本地数据到各个已有的聚类中心的距离,并找出最小值,记为di,计算tempi=di2×tempi,再对tempi执行max-consensus算法,将结果以变量temp的形式存储于各个传感器节点中;

步骤b3:在传感器i中,如果tempi==temp,置xic=xi,否则,置xic=[-∞,...,-∞]’;

其中xi是传感器节点i所存储数据;

步骤b4:对xic执行max-consensus算法,将结果以cm(1)的形式存储于传感器节点i内;

其中,m表示所产生的第m个聚类中心;

步骤b5:如果已有聚类中心个数达到预设值k,则分布式k++算法结束,否则m+1并返回步骤b1。

在本公开的一些实施例中,所述步骤c中,从迭代次数t=1开始,计算各个聚类中心与传感器节点i所存储的数据之间的距离,将数据归给距离最近的聚类中心所代表的类别,并且t+1。

在本公开的一些实施例中,所述步骤d中,由类别下标j=1至j=k依次执行,包括:

步骤d1:如果传感器节点的数据属于该类别,则置nic=1,否则置nic=0;

其中,i表示节点下标;

步骤d2:在整个同步传感器网络中执行average-consensus算法计算nicxi和nic的平均值,结果分别以变量cj(t)和nj的形式存储在各个传感器节点中;

步骤d3:依据下式公式计算新的聚类中心:

cj(t)=cj(t)/nj

其中,xi是传感器节点i存储的数据。

在本公开的一些实施例中,所述步骤d2包括:

步骤d2a:在每个传感器节点中,引入矩阵w=[wij]∈rn×n,当i≠j时,wij=τaij,当i=j时,

其中,n是网络节点数,aij是从传感器节点i到传感器节点j的边的权值,τ是参数,且满足τ≤1/maxi(∑j≠1aij)。

步骤d2b:在每个传感器节点中,计算w的首一最小多项式q(t),使其满足q(w)=0;

其中,q(t)的阶次为σ+1,σ+1≤n,q(t)=tσ+1+ασtσ+…+α1t+α0;

步骤d2c:在传感器节点i中,利用如下式所示的控制律,从t=0开始迭代σ次,得到[xi(0),...,xi(σ)],并存储在传感器节点i中:

其中,xi(0)为nicxi或nic;

步骤d2d:在传感器节点i中,利用如下公式计算xi(σ+1):

其中,

在本公开的一些实施例中,所述步骤e中,在每个传感器节点中,通过存储的数据是否满足下式,判断聚类中心的值收敛是否收敛:

c(t)==c(t-1)。

(三)有益效果

从上述技术方案可以看出,本公开提供的分布式k均值数据聚类方法具有以下有益效果:

本公开提供的分布式k均值数据聚类方法可以使得由各个传感器节点获得的数据直接应用在传感器层面进行数据分割,有助于减少通讯消耗,是一种十分高效的做法。

附图说明

图1为本公开提供的分布式k均值数据聚类方法的步骤流程图。

具体实施方式

本公开提供的分布式k均值数据聚类方法能够使得由各个传感器获得的图像直接应用在传感器层面进行图像分割,有助于减少通讯消耗。

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

本公开提供一种分布式k均值数据聚类方法,用于处理同步传感器网络的数据,该同步传感器网络包含多个传感器节点,如图1所示,包括:

步骤a:对同步传感器网络中各个传感器节点内的数据进行正规化;

步骤b:基于分布式k++算法确定该同步传感器网络的初始聚类中心;

步骤c:计算各个聚类中心与传感器节点所存储的数据之间的距离,并将数据归类给距离最近的聚类中心所代表的类别;

步骤d:在整个同步传感器网络中执行平均一致性算法更新聚类中心;

步骤e:重复步骤c和步骤d直至聚类中心的值收敛。

在本公开的一些实施例中,在执行步骤a前,若同步传感器网络的拓补结构是有向图,且权值不平衡,则执行镜像不平衡修正算法修正边的权值使图平衡。

在本公开的一些实施例中,步骤a中,将传感器节点中数据各个维度的值放缩到[0,1]之间。

在本公开的一些实施例中,步骤a包括:步骤a1:在整个同步传感器网络中执行max-consensus算法找到存储于各个传感器节点中的数据各个维度的最大值,以[max1,...,maxd]’的形式存储于各个传感器节点中;步骤a2:在整个同步传感器网络中执行min-consensus算法找到存储于各个传感器节点中的数据各个维度的最小值,以[min1,...,mind]’的形式存储于各个传感器节点中;步骤a3:在传感器i中,利用下式,从j=1到d,计算正规化的数据值:

xij=(xij-minj)/(maxj-minj)

其中,d表示数据的维度,i表示第i个传感器节点,j表示数据xi的第j分量。

在本公开的一些实施例中,步骤b中:对整个同步传感器网络执行分布式k++算法得到k个初始的聚类中心,以变量c(1)=[c1(1)’,...,ck(1)’]’的形式存储于各个传感器节点内;其中,(1)表示当前迭代步为1。

在本公开的一些实施例中,步骤b包括:

步骤b1:每个传感器节点均生成一个(0,1)之间的随机数tempi;

其中,i是传感器节点下标;

步骤b2:若当前初始聚类中心个数为0,对tempi执行max-consensus算法;

否则,每个传感器节点计算本地数据到各个已有的聚类中心的距离,并找出最小值,记为di,计算tempi=di2×tempi,再对tempi执行max-consensus算法,将结果以变量temp的形式存储于各个传感器节点中;

步骤b3:在传感器i中,如果tempi==temp,置xic=xi,否则,置xic=[-∞,...,-∞]’;

其中xi是传感器节点i所存储数据;

步骤b4:对xic执行max-consensus算法,将结果以cm(1)的形式存储于传感器节点i内;

其中,m表示所产生的第m个聚类中心;

步骤b5:如果已有聚类中心个数达到预设值k,则分布式k++算法结束,否则m+1并返回步骤b1。

在本公开的一些实施例中,步骤c中,从迭代次数t=1开始,计算各个聚类中心与传感器节点i所存储的数据之间的距离,将数据归给距离最近的聚类中心所代表的类别,并且t+1。

在本公开的一些实施例中,步骤d中,由类别下标j=1至j=k依次执行,包括:

步骤d1:如果传感器节点的数据属于该类别,则置nic=1,否则置nic=0;

其中,i表示节点下标;

步骤d2:在整个同步传感器网络中执行average-consensus算法计算nicxi和nic的平均值,结果分别以变量cj(t)和nj的形式存储在各个传感器节点中;

步骤d3:依据下式公式计算新的聚类中心:

cj(t)=cj(t)/nj

其中,xi是传感器节点i存储的数据。

在本公开的一些实施例中,步骤d2包括:

步骤d2a:在每个传感器节点中,引入矩阵w=[wij]∈rn×n,当i≠j时,wij=τaij,当i=j时,

其中,n是网络节点数,aij是从传感器节点i到传感器节点j的边的权值,τ是参数,且满足τ≤1/maxi(∑j≠1aij)。

步骤d2b:在每个传感器节点中,计算w的首一最小多项式q(t),使其满足q(w)=0;

其中,q(t)的阶次为σ+1,σ+1≤n,q(t)=tσ+1+ασtσ+…+α1t+α0;

步骤d2c:在传感器节点i中,利用如下式所示的控制律,从t=0开始迭代σ次,得到[xi(0),...,xi(σ)],并存储在传感器节点i中:

其中,xi(0)为nicxi或nic;

步骤d2d:在传感器节点i中,利用如下公式计算xi(σ+1):

其中,

在本公开的一些实施例中,步骤e中,在每个传感器节点中,通过存储的数据是否满足下式,判断聚类中心的值收敛是否收敛:

c(t)==c(t-1)。

依据以上描述,本领域技术人员应当对本公开实施例提供的分布式k均值数据聚类方法有了清楚的认识。

以下以一具体实施例,验证本公开实施例提供的分布式k均值数据聚类方法的有效性:

本公开提供的分布式k均值数据聚类方法可以应用于根据传感器节点的位置信息对传感器节点进行聚类,该聚类方法的输入输出如下:

待聚类数据:xi,表示序号为i的传感器节点所存储的关于它本身的位置坐标;

每个传感器节点所需要的输入参数:网络拓扑矩阵,聚类数k;

每个传感器的输出:k个聚类中心cj,j=1,...,k,聚类中心与节点所存储的数据间的距离nic,i表示传感器节点序号;

每个传感器根据输出的聚类中心与节点所存储的数据间的距离将自己归属到距离最近的簇,聚类过程执行完毕。

本公开提供的分布式k均值数据聚类方法是一种软聚类算法,使用该聚类方法进行数据聚合的优点是当有一个簇头故障时,其所属的簇的其余传感器节点可以选择距离第二近的簇头进行数据传输。

综上所述,本公开提供的分布式k均值数据聚类方法能够使得由各个传感器获得的数据直接应用在传感器层面进行数据分割,有助于减少通讯消耗。

还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本公开的理解造成混淆时,将省略常规结构或构造。

并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本公开实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。

类似地,应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如前面的权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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