正在加载图片...
,1086, 北京科技大学学报 第32卷 性通过定义稀疏特征向量实现高维数据聚类过程, 1.2相关定理 仅需一次数据扫描,计算时间复杂度降低到0(k), 根据集合差异度和集合精简表示的定义,易知 k为类的数目,但仅适用于二值属性,RBRP算 下述两个定理成立(证明略) 法[将高维数据聚类的计算时间复杂度降低到 定理1在数据表(XAV中,对于X的子集 0(nogn),但仍然需要两次数据扫描,且主要用于 Y IEA(Y)I=EAV(Y) 孤立点的发现 根据定理1,Y中所有对象取值相同的属性数目 与上述算法不同,本文提出的基于集合差异度 与Y中所有对象取值相同的属性对应的(属性序 的聚类算法(clustering algorithm based on set dissin i 号、属性值))二元组的数目是一致的.因此,集合差 larity CABOSD)针对分类属性高维数据定义了集合 异度也可以通过下式计算: 差异度计算方法及数据的集合精简表示,在不损失 SD(Y)=(m-lEAV(Y)1/Y IX lEAV(Y)1). 聚类所需信息的情况下对数据进行高度压缩,不仅 在计算集合差异度的上式中,由于属性数目m 不需计算两两对象间的距离,计算量明显减少,并且 是已知常数,Y和EAV(Y)是包含在集合精简表示 只需1次数据扫描就能得到聚类结果,算法的计算 中的前两个分量,所以集合精简表示概括了一个对 时间复杂度接近线性 象集合内计算集合差异度所需的全部对象信息· CABOSD在聚类过程中只存储集合精简表示,而不 1定义与定理 存储该集合中所有对象的信息,这使得在处理大数 1.1集合差异度与集合精简表示 据集时数据处理量大规模减少 定义1(集合差异度)在数据表(XAV6 定理2在数据表(XAV,中,对于X的子集 中,X={,,…,x为对象集合;A={a,,, Y1和Y2,且Y∩当2=功,有 a为描述对象的分类属性集合;V=VV为属性 SR(YUY2)= 值集,V,为属性a的值域;是函数,即对Hx∈X UY I EAV(YUY2),SD(YUY2)), Ha∈A有a(x)=f代a)V=l2…,n1= 式中 YUY2l=Y+2↓ 1,2…,m对于X的子集YY伪集合Y中包含的 对象数目,EA(Y)=aHf¥5ra()=a(s) EAV(YUY)=EAV(Y)0EAV(Y). SD(YUY)=(m-EAV(Yi )n EAV(Y2))/ 为Y中所有对象取值都相同的属性的集合,则定义 Y Y2 IX lEAV(Y EAV(Y2)) SD(Y)=(m-lEA(Y)/J Y IX lEA(Y) 定理2表明,两个不相交的对象集合进行合并 为Y集合内对象间的集合差异度,简称集合差异 时,可以根据集合精简表示精确地计算合并后的集 度 合差异度,因此,集合精简表示不仅可以在处理大 集合差异度SD(Y)反映了Y集合内所有对象 数据集时大规模降低数据存储量和计算量,同时可 间的总体差异程度,SD(Y)越小,表明Y集合内所 以保证在集合进行合并时集合差异度计算的精确 有对象间越相似;SD(Y)越大,表明Y集合内所有对 性,也使得只需一次数据扫描完成聚类成为可能 象间越不相似. 定义2(集合精简表示)在数据表〈XA,∮ 2算法描述 中,对于X的子集Y,Y为集合Y中包含的对象数 CABOSD采用的是自底向上的聚结型聚类策 目,EAV(Y)=i(Ia(x)la∈EA(Y),Hx∈Y} 略.与一般聚结型聚类的多层结构不同,CABOSD 为Y中所有对象取值都相同的属性对应的(属性序 只有底层和顶层,没有中间层,底层将每个对象作 号,属性值)二元组的集合,$D(Y)为集合差异度,则 为一个类,顶层为最终聚成的类.在一次数据扫描 定义 过程中,直接完成顶层新类的创建及底层对象到顶 SR(Y)=(YL EAV(Y),SD(Y)) 层类的归并,得到聚类结果,是否创建新类取决于 为Y集合内所有对象聚类相关信息的集合精简表 预先指定的集合差异度上限b如果将当前扫描到 示向量,简称集合精简表示, 的对象并入任何一个已经创建的类都会使得并入后 特别地,当Y=1时,不妨记Y=iy,则 的集合差异度大于集合差异度上限b则创建一个 R(iy)=(L,(1m(y))(2(y), 新类,仅包含当前扫描到的对象:否则,将当前对象 (ma(y))i,0) 并入使得并入后集合差异度最小的类中,对于每一北 京 科 技 大 学 学 报 第 32卷 性通过定义稀疏特征向量实现高维数据聚类过程‚ 仅需一次数据扫描‚计算时间复杂度降低到O(nk)‚ k为类的数目‚但仅适用于二值属性.RBRP算 法 [10]将高维数据聚类的计算时间复杂度降低到 O(nlogn)‚但仍然需要两次数据扫描‚且主要用于 孤立点的发现. 与上述算法不同‚本文提出的基于集合差异度 的聚类算法 (clusteringalgorithmbasedonsetdissimi- larity‚CABOSD)针对分类属性高维数据定义了集合 差异度计算方法及数据的集合精简表示‚在不损失 聚类所需信息的情况下对数据进行高度压缩‚不仅 不需计算两两对象间的距离‚计算量明显减少‚并且 只需 1次数据扫描就能得到聚类结果‚算法的计算 时间复杂度接近线性. 1 定义与定理 1.1 集合差异度与集合精简表示 定义 1(集合差异度 ) 在数据表〈X‚A‚V‚f〉 中‚X={x1‚x2‚…‚xn}为对象集合;A={a1‚a2‚…‚ am}为描述对象的分类属性集合;V=∪a∈A Va 为属性 值集‚Va 为属性 a的值域;f是函数‚即对∀xi∈X‚ ∀al∈A‚有 al(xi)=f(xi‚al)∈Val‚i=1‚2‚…‚n‚l= 1‚2‚…‚m.对于 X的子集 Y‚|Y|为集合 Y中包含的 对象数目‚EA(Y)={al|∀xi∈Y‚xj∈Yal(xi) =al(xj)} 为 Y中所有对象取值都相同的属性的集合‚则定义 SD(Y)=(m—|EA(Y)|)/( |Y|×|EA(Y)|) 为 Y集合内对象间的集合差异度‚简称集合差异 度. 集合差异度 SD(Y)反映了 Y集合内所有对象 间的总体差异程度.SD(Y)越小‚表明 Y集合内所 有对象间越相似;SD(Y)越大‚表明 Y集合内所有对 象间越不相似. 定义 2(集合精简表示 ) 在数据表〈X‚A‚V‚f〉 中‚对于 X的子集 Y‚|Y|为集合 Y中包含的对象数 目‚EAV(Y)={(l‚al(xi))|al∈EA(Y)‚∀xi∈Y} 为 Y中所有对象取值都相同的属性对应的 (属性序 号‚属性值 )二元组的集合‚SD(Y)为集合差异度‚则 定义 SR(Y)=(|Y|‚EAV(Y)‚SD(Y)) 为 Y集合内所有对象聚类相关信息的集合精简表 示向量‚简称集合精简表示. 特别地‚当|Y|=1时‚不妨记 Y={y}‚则 SR({y})=(1‚{(1‚a1(y))‚(2‚a2(y))‚…‚ (m‚am (y))}‚0). 1.2 相关定理 根据集合差异度和集合精简表示的定义‚易知 下述两个定理成立 (证明略 ). 定理1 在数据表〈X‚A‚V‚f〉中‚对于 X的子集 Y‚|EA(Y)|=|EAV(Y)|. 根据定理1‚Y中所有对象取值相同的属性数目 与 Y中所有对象取值相同的属性对应的 (属性序 号、属性值 )二元组的数目是一致的.因此‚集合差 异度也可以通过下式计算: SD(Y)=(m—|EAV(Y)|)/( |Y|×|EAV(Y)|). 在计算集合差异度的上式中‚由于属性数目 m 是已知常数‚|Y|和 EAV(Y)是包含在集合精简表示 中的前两个分量‚所以集合精简表示概括了一个对 象集合内计算集合差异度所需的全部对象信息. CABOSD在聚类过程中只存储集合精简表示‚而不 存储该集合中所有对象的信息.这使得在处理大数 据集时数据处理量大规模减少. 定理2 在数据表〈X‚A‚V‚f〉中‚对于 X的子集 Y1和 Y2‚且 Y1∩Y2=●‚有 SR(Y1∪Y2)= (|Y1∪Y2|‚EAV(Y1∪Y2)‚SD(Y1∪Y2))‚ 式中‚ |Y1∪Y2|=|Y1|+|Y2|‚ EAV(Y1∪Y2)=EAV(Y1)∩EAV(Y2)‚ SD(Y1∪Y2)=(m—|EAV(Y1)∩EAV(Y2)|)/ ( |Y1|+|Y2|×|EAV(Y1)∩EAV(Y2)|). 定理 2表明‚两个不相交的对象集合进行合并 时‚可以根据集合精简表示精确地计算合并后的集 合差异度.因此‚集合精简表示不仅可以在处理大 数据集时大规模降低数据存储量和计算量‚同时可 以保证在集合进行合并时集合差异度计算的精确 性‚也使得只需一次数据扫描完成聚类成为可能. 2 算法描述 CABOSD采用的是自底向上的聚结型聚类策 略.与一般聚结型聚类的多层结构不同‚CABOSD 只有底层和顶层‚没有中间层.底层将每个对象作 为一个类‚顶层为最终聚成的类.在一次数据扫描 过程中‚直接完成顶层新类的创建及底层对象到顶 层类的归并‚得到聚类结果.是否创建新类取决于 预先指定的集合差异度上限 b.如果将当前扫描到 的对象并入任何一个已经创建的类都会使得并入后 的集合差异度大于集合差异度上限 b‚则创建一个 新类‚仅包含当前扫描到的对象;否则‚将当前对象 并入使得并入后集合差异度最小的类中.对于每一 ·1086·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有