基于网格的带有参考参数的聚类算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义 6(网格间距) 对于两个网格单元Ui和Uj,它们的网 格中心点的欧几里得距离就是Ui和Uj的网格间距。
3 GRPC 算法
3.1 参数处理 对于网格聚类,传统的算法要求用户输入网格划分值 H
以及密度阈值 MinPts,而在 GRPC 算法中,使用特殊技术来 处理参数 H 和 MinPts,以解决聚类结果对参数的依赖性问题。 下面仅以二维数据和二维平面作为例子来阐述 GRPC 算法, 多维数据和多维平面的 GRPC 算法以此类推。
numLM[n]= ∑ (Minpts[n] − num(i)) i =1
其中,k 表示特定网格的个数;Num(i)表示特定网格 i 中包含 的数据点个数。特定网格指网格包含的数据点个数大于或等 于 Minpts[n-1]但是小于 Minpts[n]。密度阈值的计算结果可能 是小数,主要是因为 numLM[n]/HEM[n]不能整除,但这并不 影响聚类结果反而更能提高聚类精度。
…
Minpts[n+1]=Minpts[n]+numLM[n]/HEM[n]
计算新的 numLM 和新的 HEM 数值 …
Call DensityLevel(new_Dens, new_numLM, new_HEM)
end sub
图 2 的密度阈值数组计算步骤如下: 初 始 化 Minpts[0]=1 , 经 计 算 得 numLM[0]=18 , HEM[0]=18。非空网格得到额外的 18 个数据点即 numLM[0]。
Grid-based Clustering Algorithm with Referential Parameters
ZHOU Yan-tao1,2, YI Xing-dong 1, WU Zheng-guo2
(1. School of Computer and Communication, Hunan University, Changsha 410082; 2. College of Information and Electrical Engineering, Naval Engineering University, Wuhan 430033)
Minpts[n+1]=Minpts[n]+numLM[n]/HEM[n]
Minpts[i]指第 i 个密度阈值;HEM[n] (n=0,1,…)指大于或 等于 Minpts[n]密度阈值的网格个数;numLM[n]指在密度阈值 Minpts[n]情况下,HEM[n]个网格额外得到的数据点的个数。
k
图 1 数据点均匀分布
图 2 数据点非均匀分布
在数据点由图 1 的均匀分布向图 2 的非均匀分布过渡的 过程中,高密度网格的出现必然导致低密度或空白网格的出 现。下面通过一个简单的模型来说明计算密度阈值数组的方 法。这个方法的前提条件:网格空间的网格数目等于数据集 的数据点个数,并且对于任何非均匀分布的数据空间,认为 它是从均匀分布逐步演变而来的。图 3 是由图 1 演变而来的 简单的均匀数据分布图。如果设定密度阈值 Minpts[0]=1,那 么就可区别空白网格和非空白网格,均为 18 个。
2008 年 5 月 May 2008
·软件技术与数据库·
文章编号:1000—3428(2008)09—0098—03 文献标识码:A
中图分类号:TP391
基于网格的带有参考参数的聚类算法
周炎涛1,2,易兴东1,吴正国2
(1. 湖南大学计算机与通信学院,长沙 410082;2. 海军工程大学信息与电气学院,武汉 430033)
定义 3(密度阈值) 设V是一个n维空间中的点集,设其为 V={v1,v2,…,vn },其中vj为(vj1, vj2,…,vjn ), j=1,2,…,n,数据点
—98—
vj是n维的。当数据点vj且仅当对于每一个ui都有 1i≤vji< hi成立(i=1,2,…,n)。 定义一个常数Minpts,如果落入某网格单元中的数据点个数 大于或等于Minpts则认为此网格单元是高密度网格。反之, 则此网格单元是低密度网格。这个常数Minpts就称为密度阈 值。对于非均匀分布的数据空间存在的多个不同密度阈值, 称其为密度阈值数组Minpts[],也称密度阈值梯度。
图 3 均匀数据分布
在图 1 中,每个数据点占住一个网格。由于演变,那些 原先占住 18 个空白网格的数据移至 18 个非空白网格中。这 样,非空白网格得到了额外的数据点,平均分摊后,每个非 空白网格得到 1 个数据点,再加上原来的固有的 1 个数据点, 那么每个网格应该是 2 个。因此,可以设定 Minpts[1]=2,在 非空白网格范围中进行比较,这样就可以将含有 1 个数据点 的网格和含有 3 个数据点的网格区别开来,从而达到聚类的 目的。密度阈值的计算公式如下:
2 GRPC 算法的相关定义
定义 1(n维空间) 设A={D1, D2, …, Dn}是n个有界定义 域,则S= D1×D2×…×Dn就是一个n维空间。将D1, D2, …, Dn看 成是S的维(属性、字段)。
定义 2(网格单元) 若空间S的每一维分成相同的m个区 间,从而将整个空间分成了有限个不相交的n维网格单元 (units),每一个这样的网格单元可以描述为(u1,u2,…,un),其 中,ui∈[1i,hi], i=1,2,…,n,是左闭右开区间。
提出一种基于网格的带有参考参数的聚类算法通过密度阈值数组的计算为用户提供有效的参考参数不但能满足一般的聚类要求而且还能将高密度的聚类从低密度的聚类中分离出来解决了传统网格聚类算法在划分网格时很少考虑数据分布导致聚类质量降低的问题
第 34 卷 第 9 期 Vol.34 No.9
计算机工程 Computer Engineering
基金项目:国家自然科学基金资助项目(10572048, 50677069) 作者简介:周炎涛(1963-),男,教授、博士,主研方向:计算机应 用,数据挖掘,网络安全;易兴东,硕士研究生;吴正国,教授、 博士生导师 收稿日期:2007-05-15 E-mail:yantao_z@
3.1.1 网格参数 H 的处理 令 Num 为数据集 DataSet 中数据点的个数,则参数 H 的
处理如下:H = Num 。 参数 H 指定了二维平面 S 的每一维均被划分为相等的
H 个区间,这样二维平面上将有 H×H 个网格即 Num 个网格。 这样设定的理由是:将数据集的数据点个数除以网格个数, 每个数据点刚好可以占住一个网格。 3.1.2 密度阈值数组处理
以 36 个数据点分布在 36 个网格中的情形来描述密度阈 值数组的计算为例。在图 1 中,36 个数据点均匀地分布在 36 个网格中。图 2 中 36 个数据点非均匀地分布在 36 个网格 中,可以直观地分辨出成团的数据点和分散的数据点。这是 一种相对比较,密度阈值数组的计算就是应用这个原理。由 于数据空间中的数据存在不同的聚集程度,因此会存在不同 的密度阈值,不同的密度阈值可以区分不同密度程度的数据 团。对于非均匀分布的数据空间存在着多个不同密度阈值。 本文约定 Minpts[0]为最小密度阈值,并且,如果 i 小于 j,那 么 Minpts[i]也小于 Minpts[j]。
定义 4(单 元 中 心 点 ) 单 元 U中 心 点 Uc是 一 个 n维 向 量 (Uc1,Uc2,…,Ucn),其中,Uci: (1i+ hi)/2,1i和hi分别为该区问的 上限和下限。
定义 5(网格的重心点) 假设网格单元U包含k个数据点 p1,p2, … ,pk , 则 网 格 U 的 重 心 点 pu 是 一 个 n 维 向 量 (pu1, pu2,…,pun),其中,pui=(p1i+p2i+…+pki)/k, i=1,2,…,n。
1 概述
聚类是将对象的集合分成多个由类似对象构成的类的过 程,聚类分析是数据挖掘领域中一项重要的研究课题。聚类 既可以作为一个单独的工具用来发现数据库中数据分布的信 息,也可以作为其他数据挖掘分析算法的一个预处理步骤。 目前已经有很多成熟的聚类算法,大体上可分为基于划分的 聚类算法、基于密度的聚类算法、基于层次的聚类算法、基 于网格的聚类算法和基于模型的聚类算法等。K-中心点算法 和CLARANS[1]虽然简单、容易实现,但是无法处理复杂的簇 类形状。而DBSCAN[2], Chameleon[3], Cure[4]等算法具有发现 任意形状和大小簇类的优点,但是在聚类的过程中需要用户 自己输入一些参数。参数输入不当将对聚类结果会造成重大 影响,如文献[5]中DBSCAN算法由于参数选取的不同导致聚 类结果的巨大差异。文献[6]的算法虽然不需用户输入参数而 进行聚类,但是却不能将高密度聚类从低密度聚类中分离出 来。为了解决上述问题,本文提出了一种新的聚类算法:基 于网格的带有参考参数的聚类算法(GRPC)。
【Abstract】By means of calculating density threshold data, some effective referential parameters are worked out and provided for users, and a new kind of clustering algorithm called GRPC is presented. With the help of these referential parameters, it not only can cluster general data but also segregate high-density clusters from low-density clusters. The problem of lower quality of clusters of using traditional grid clustering algorithm is solved when the distribution of data on partitioning grid is usually ignored. Experimental results confirm that this new algorithm can differentiate between outliers or noises and discover clusters of arbitrary shapes, with good clustering quality. 【Key words】grid; density threshold; clustering algorithm; data mining
Minpts[1]=Minpts[0]+numLM[0]/HEM[0]=1+1=2 小于 Minpts [1]= 2 的网格有 10 个,那么大于等于 2 的网格有 8 (即 18-10)个,即 LM[1]=10×(2-1), HEM[1]=8。 Minpts[2]= Minpts[1]+ numLM[1]/HEM[1]=2+10/8=3.25 小于 Minpts[2]=3.25 的网格有 5 个,大于等于 3.25 的有 3(即 8-5) 个,即 numLM[2]=5×(3.25-2)=6.25, HEM[2]=3。 Minpts[3]=Minpts[2]+numLM[2]/HEM[2]=3.25+6.25/3= 5.25 大于 5.25 的网格有 3 个,大于等于 5.25 的网格有 0 个。 算法终止(因为 HEM=0)。
计算密度阈值数组 Minpts[]的递归算法如下: 初始化 Minpts[0]=1;numLM[0]=c;HEM[0]=d(c,d 均是 已知常数)
sub DensityLevel(Dens As Single, numLM As Single, HEM As
Long)
If (HEM = 1 Or HEM = 0 Or numLM = 0) Then Exit Sub
摘 要:提出一种基于网格的带有参考参数的聚类算法,通过密度阈值数组的计算,为用户提供有效的参考参数,不但能满足一般的聚类 要求,而且还能将高密度的聚类从低密度的聚类中分离出来,解决了传统网格聚类算法在划分网格时很少考虑数据分布导致聚类质量降低 的问题。实验仿真表明,该算法能有效处理任意形状和大小的聚类,很好地识别出孤立点或噪声,并且有较好的精度。 关键词:网格;密度阈值;聚类算法;数据挖掘
3 GRPC 算法
3.1 参数处理 对于网格聚类,传统的算法要求用户输入网格划分值 H
以及密度阈值 MinPts,而在 GRPC 算法中,使用特殊技术来 处理参数 H 和 MinPts,以解决聚类结果对参数的依赖性问题。 下面仅以二维数据和二维平面作为例子来阐述 GRPC 算法, 多维数据和多维平面的 GRPC 算法以此类推。
numLM[n]= ∑ (Minpts[n] − num(i)) i =1
其中,k 表示特定网格的个数;Num(i)表示特定网格 i 中包含 的数据点个数。特定网格指网格包含的数据点个数大于或等 于 Minpts[n-1]但是小于 Minpts[n]。密度阈值的计算结果可能 是小数,主要是因为 numLM[n]/HEM[n]不能整除,但这并不 影响聚类结果反而更能提高聚类精度。
…
Minpts[n+1]=Minpts[n]+numLM[n]/HEM[n]
计算新的 numLM 和新的 HEM 数值 …
Call DensityLevel(new_Dens, new_numLM, new_HEM)
end sub
图 2 的密度阈值数组计算步骤如下: 初 始 化 Minpts[0]=1 , 经 计 算 得 numLM[0]=18 , HEM[0]=18。非空网格得到额外的 18 个数据点即 numLM[0]。
Grid-based Clustering Algorithm with Referential Parameters
ZHOU Yan-tao1,2, YI Xing-dong 1, WU Zheng-guo2
(1. School of Computer and Communication, Hunan University, Changsha 410082; 2. College of Information and Electrical Engineering, Naval Engineering University, Wuhan 430033)
Minpts[n+1]=Minpts[n]+numLM[n]/HEM[n]
Minpts[i]指第 i 个密度阈值;HEM[n] (n=0,1,…)指大于或 等于 Minpts[n]密度阈值的网格个数;numLM[n]指在密度阈值 Minpts[n]情况下,HEM[n]个网格额外得到的数据点的个数。
k
图 1 数据点均匀分布
图 2 数据点非均匀分布
在数据点由图 1 的均匀分布向图 2 的非均匀分布过渡的 过程中,高密度网格的出现必然导致低密度或空白网格的出 现。下面通过一个简单的模型来说明计算密度阈值数组的方 法。这个方法的前提条件:网格空间的网格数目等于数据集 的数据点个数,并且对于任何非均匀分布的数据空间,认为 它是从均匀分布逐步演变而来的。图 3 是由图 1 演变而来的 简单的均匀数据分布图。如果设定密度阈值 Minpts[0]=1,那 么就可区别空白网格和非空白网格,均为 18 个。
2008 年 5 月 May 2008
·软件技术与数据库·
文章编号:1000—3428(2008)09—0098—03 文献标识码:A
中图分类号:TP391
基于网格的带有参考参数的聚类算法
周炎涛1,2,易兴东1,吴正国2
(1. 湖南大学计算机与通信学院,长沙 410082;2. 海军工程大学信息与电气学院,武汉 430033)
定义 3(密度阈值) 设V是一个n维空间中的点集,设其为 V={v1,v2,…,vn },其中vj为(vj1, vj2,…,vjn ), j=1,2,…,n,数据点
—98—
vj是n维的。当数据点vj且仅当对于每一个ui都有 1i≤vji< hi成立(i=1,2,…,n)。 定义一个常数Minpts,如果落入某网格单元中的数据点个数 大于或等于Minpts则认为此网格单元是高密度网格。反之, 则此网格单元是低密度网格。这个常数Minpts就称为密度阈 值。对于非均匀分布的数据空间存在的多个不同密度阈值, 称其为密度阈值数组Minpts[],也称密度阈值梯度。
图 3 均匀数据分布
在图 1 中,每个数据点占住一个网格。由于演变,那些 原先占住 18 个空白网格的数据移至 18 个非空白网格中。这 样,非空白网格得到了额外的数据点,平均分摊后,每个非 空白网格得到 1 个数据点,再加上原来的固有的 1 个数据点, 那么每个网格应该是 2 个。因此,可以设定 Minpts[1]=2,在 非空白网格范围中进行比较,这样就可以将含有 1 个数据点 的网格和含有 3 个数据点的网格区别开来,从而达到聚类的 目的。密度阈值的计算公式如下:
2 GRPC 算法的相关定义
定义 1(n维空间) 设A={D1, D2, …, Dn}是n个有界定义 域,则S= D1×D2×…×Dn就是一个n维空间。将D1, D2, …, Dn看 成是S的维(属性、字段)。
定义 2(网格单元) 若空间S的每一维分成相同的m个区 间,从而将整个空间分成了有限个不相交的n维网格单元 (units),每一个这样的网格单元可以描述为(u1,u2,…,un),其 中,ui∈[1i,hi], i=1,2,…,n,是左闭右开区间。
提出一种基于网格的带有参考参数的聚类算法通过密度阈值数组的计算为用户提供有效的参考参数不但能满足一般的聚类要求而且还能将高密度的聚类从低密度的聚类中分离出来解决了传统网格聚类算法在划分网格时很少考虑数据分布导致聚类质量降低的问题
第 34 卷 第 9 期 Vol.34 No.9
计算机工程 Computer Engineering
基金项目:国家自然科学基金资助项目(10572048, 50677069) 作者简介:周炎涛(1963-),男,教授、博士,主研方向:计算机应 用,数据挖掘,网络安全;易兴东,硕士研究生;吴正国,教授、 博士生导师 收稿日期:2007-05-15 E-mail:yantao_z@
3.1.1 网格参数 H 的处理 令 Num 为数据集 DataSet 中数据点的个数,则参数 H 的
处理如下:H = Num 。 参数 H 指定了二维平面 S 的每一维均被划分为相等的
H 个区间,这样二维平面上将有 H×H 个网格即 Num 个网格。 这样设定的理由是:将数据集的数据点个数除以网格个数, 每个数据点刚好可以占住一个网格。 3.1.2 密度阈值数组处理
以 36 个数据点分布在 36 个网格中的情形来描述密度阈 值数组的计算为例。在图 1 中,36 个数据点均匀地分布在 36 个网格中。图 2 中 36 个数据点非均匀地分布在 36 个网格 中,可以直观地分辨出成团的数据点和分散的数据点。这是 一种相对比较,密度阈值数组的计算就是应用这个原理。由 于数据空间中的数据存在不同的聚集程度,因此会存在不同 的密度阈值,不同的密度阈值可以区分不同密度程度的数据 团。对于非均匀分布的数据空间存在着多个不同密度阈值。 本文约定 Minpts[0]为最小密度阈值,并且,如果 i 小于 j,那 么 Minpts[i]也小于 Minpts[j]。
定义 4(单 元 中 心 点 ) 单 元 U中 心 点 Uc是 一 个 n维 向 量 (Uc1,Uc2,…,Ucn),其中,Uci: (1i+ hi)/2,1i和hi分别为该区问的 上限和下限。
定义 5(网格的重心点) 假设网格单元U包含k个数据点 p1,p2, … ,pk , 则 网 格 U 的 重 心 点 pu 是 一 个 n 维 向 量 (pu1, pu2,…,pun),其中,pui=(p1i+p2i+…+pki)/k, i=1,2,…,n。
1 概述
聚类是将对象的集合分成多个由类似对象构成的类的过 程,聚类分析是数据挖掘领域中一项重要的研究课题。聚类 既可以作为一个单独的工具用来发现数据库中数据分布的信 息,也可以作为其他数据挖掘分析算法的一个预处理步骤。 目前已经有很多成熟的聚类算法,大体上可分为基于划分的 聚类算法、基于密度的聚类算法、基于层次的聚类算法、基 于网格的聚类算法和基于模型的聚类算法等。K-中心点算法 和CLARANS[1]虽然简单、容易实现,但是无法处理复杂的簇 类形状。而DBSCAN[2], Chameleon[3], Cure[4]等算法具有发现 任意形状和大小簇类的优点,但是在聚类的过程中需要用户 自己输入一些参数。参数输入不当将对聚类结果会造成重大 影响,如文献[5]中DBSCAN算法由于参数选取的不同导致聚 类结果的巨大差异。文献[6]的算法虽然不需用户输入参数而 进行聚类,但是却不能将高密度聚类从低密度聚类中分离出 来。为了解决上述问题,本文提出了一种新的聚类算法:基 于网格的带有参考参数的聚类算法(GRPC)。
【Abstract】By means of calculating density threshold data, some effective referential parameters are worked out and provided for users, and a new kind of clustering algorithm called GRPC is presented. With the help of these referential parameters, it not only can cluster general data but also segregate high-density clusters from low-density clusters. The problem of lower quality of clusters of using traditional grid clustering algorithm is solved when the distribution of data on partitioning grid is usually ignored. Experimental results confirm that this new algorithm can differentiate between outliers or noises and discover clusters of arbitrary shapes, with good clustering quality. 【Key words】grid; density threshold; clustering algorithm; data mining
Minpts[1]=Minpts[0]+numLM[0]/HEM[0]=1+1=2 小于 Minpts [1]= 2 的网格有 10 个,那么大于等于 2 的网格有 8 (即 18-10)个,即 LM[1]=10×(2-1), HEM[1]=8。 Minpts[2]= Minpts[1]+ numLM[1]/HEM[1]=2+10/8=3.25 小于 Minpts[2]=3.25 的网格有 5 个,大于等于 3.25 的有 3(即 8-5) 个,即 numLM[2]=5×(3.25-2)=6.25, HEM[2]=3。 Minpts[3]=Minpts[2]+numLM[2]/HEM[2]=3.25+6.25/3= 5.25 大于 5.25 的网格有 3 个,大于等于 5.25 的网格有 0 个。 算法终止(因为 HEM=0)。
计算密度阈值数组 Minpts[]的递归算法如下: 初始化 Minpts[0]=1;numLM[0]=c;HEM[0]=d(c,d 均是 已知常数)
sub DensityLevel(Dens As Single, numLM As Single, HEM As
Long)
If (HEM = 1 Or HEM = 0 Or numLM = 0) Then Exit Sub
摘 要:提出一种基于网格的带有参考参数的聚类算法,通过密度阈值数组的计算,为用户提供有效的参考参数,不但能满足一般的聚类 要求,而且还能将高密度的聚类从低密度的聚类中分离出来,解决了传统网格聚类算法在划分网格时很少考虑数据分布导致聚类质量降低 的问题。实验仿真表明,该算法能有效处理任意形状和大小的聚类,很好地识别出孤立点或噪声,并且有较好的精度。 关键词:网格;密度阈值;聚类算法;数据挖掘