数据挖掘中聚类分析的技术方法_梁志荣
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(最小值 ) , max (最大值 ) ,以及该单元中属性值遵循的
分布 ( di stribution)类型。
ST ING算法中由于存储在每个单元中的统计信
息提供了单元中的数据不依赖于查询的汇总信息 ,因
而计算是独立于查询的。该算法主要优点是效率高 ,且
利于并行处理和增量更新。 ST IN G扫描数据库一次来
率 , 这里 Ai= Vij是属性 -值对 , Ck 是概念类。 在分类树 某层次上的兄弟节点形成了一个划分。COBW EB采用
了一个启发式估算度量—— 分类效用来指导树的构
建。 分类效用定义如下:
∑ ∑ ∑ ∑ ∑ n k= 1 P ( Ck ) [
i
j P ( Ai=
Vij|Ck
)
2
-
2
i j P ( Ai= V ij ) ]
第 20卷 第 6期
电脑开发与应用
(总 411) · 37·
文章编号: 1003-5850( 2007) 06-0037-03
数据挖掘中聚类分析的技术方法
Technique of Cluster Analysis in Data Mining
梁志荣
(肇庆学院现代教育技术中心 肇庆 526061)
【摘 要】数据挖掘是信息产业界近年来非常热门的研究方向 , 聚类分析是数据挖掘中的核心技术。 对各种聚类
算法进行了分类 , 对代表算法作了详细的分析 , 并对这些算法从多个方面进行了比较 , 从而为研究和在不同领
域使用这些算法提供了参考。 同时还阐述了聚类分析在数据挖掘中的应用。
【关键词】数据挖掘 , 聚类分析 , 聚类算法
BIRCH是一个综合的层次聚类方法。它用聚类特 征和聚类特征树 ( CF)两个参数。对于具有 N 个 d 维数 据点的簇 {xi } ( i = 1, 2, 3, . . . , N ) ,它的聚类特征向量 定义为:
CF= ( N , L S, SS ) 其中 N 为簇中点的个数 ; L S 表示 N 个点的线性
1 聚类算法的分类
目前 ,人们已经对聚类算法作了大量的研究。聚类 算法通常可分为基于划分的、基于分层的、基 于密度 的、基于网格的和基于模型的五大类 [2 ]。 1. 1 基于划分的聚类算法
给定一个包含 n 个数据对象或元组的数据库 ,基 于划分的聚类算法是要生成数目为 k 的簇。 划分标准
(或者称相似度函数 )通常为欧氏距离 ,对分类属性的 数据可以使用 Jaccard系数。 代表算法有 k-means算 法、 k-modes算法、 CL ARA算法和 CL ARANS算法。 这些算法适用于中小规模的数据中发现球状簇。 1. 2 基于分层的聚类算法
k= 1
j= 1, 2,… , c。
( 4)
用迭代法求解式 ( 3)和式 ( 4) ,就是 FCM 算法。
当算法收敛时 ,就得到了各类的聚类中心和各个
样本对于各类的隶属度值 ,从而完成了模糊聚类划分。
3 聚类算法的性能比较
Hale Waihona Puke Baidu
基于上述的分析 ,表 1从可伸缩性、发现聚类的形 状 、对 “噪 声” 的 敏感 性、 对 数据 输 入 顺 序的 敏 感 性、 高
MinPt s 个点 ,则创建一个以 P 作为核心对象的新簇。
然后反复地寻找从这些核心对象直接密度可 达的对
象 ,当没有新的点可以被添加到任何簇时 ,该 过程结
束。 如果采用空间索引 , DBSC AN的计算复杂度是 O
( n logn )。
2. 5 STING算法
ST ING聚类算法是一种基于风格的多分辨率聚
况中 ,聚类可以引入模糊逻辑概念 ,即一个数据点都是
以一定程度属于某个类。 常用的模糊聚类算法是模糊
C平均值 FCM ( Fuzzy C-M ea ns)算法 [6 ]。
FCM 算法中 ,用隶属度函数定义的聚类损失函数
可以写为:
cn
∑ ∑ J f =
[_ j ( xi ) ]b‖ xi - m j‖ 2
“聚类”是一个古老而又年轻的话题 ,自古就有“物 以类聚 ,人以群分”之说。近几年来 ,随着数据挖掘技术 在各行业中的应用 ,作为数据挖掘核心技术之一的聚 类分析越来越成为人们所关注的对象。 聚类就是把整 个数据分成不同的组 ,并使组与组之间的差距尽可能 大 ,组内数据的差异尽可能小。 与分类不同 ,用户在进 行聚类之前并不知道分组的具体标准 ,因此聚类常被 认为属于无监督学习。
分层聚类算法是对给定数据对象集合按层次进行
分解 ,算法的结果是形成一棵以数据子集为节点的聚 类树 ,它表明了类之间的相互关系。根据层次分解是自 底向上还是自顶向下形成 ,分层聚类的方法可以进一 步分为凝聚的和分裂的。 分层聚类方法对样本的输入 次序敏感 ,而且一旦一个步骤 (合并或分裂 )完成 ,它就 不能被撤销 ,因此在合并或分裂时必须慎重。改进层次 方法的聚类质量的一个有希望的方向是将层次聚类和 其他聚类技术进行集成 ,形成多阶段聚类。 1. 3 基于密度的聚类算法
* 2006-12-25收到 , 2007-04-01改回 * * 梁志荣 ,男 , 1965年生 ,硕士 ,研究方向: 多媒体和网络。
· 38· (总 412)
数据挖掘中聚类分析 的技术方法
2 00 7年
常用 的方 法有基 于小波 变换 的聚 类算 法 ( W av eCluster)以及聚类高维空间法 ( CIQU E)等。 1. 5 基于模型的聚类算法
n
∑ [_ j ( xi ) ]b xi
mj =
i= 1 n
, j= 1, 2,… , c,
( 3)
∑ [_ j ( xi ) ]b
i= 1
_ j (xi ) =
( 1 /‖ xi - mj‖ )2 1 /( b- 1)
c
, i = 1, 2,… , n
∑ ( 1 /‖ xi - mk‖ )2 1 /(b- 1)
n
n 是在树的某个层次上形成一个划分 {C1 , C2,… ,
Cn }的节点、概念或“种类”的数目。
2. 7 模糊聚类算法 FCM
以上介绍的几种聚类算法可以导出确定的聚类 ,
第 20卷 第 6期
电脑开发与应用
(总 413) · 39·
也就是说 ,一个数据点或者属于一个类 ,或者不属于一
个类 ,而不存在重叠的情况。在一些没有确定支持的情
维性和算法效率六个方面对常用聚类算法的性能进行
∑N
和 ( i= 1oi ) ,反映了簇的重心 , SS 是数据点的平方和
∑N
( i= 1o2i ) ,反映了类直径的大小。而 CF树是一个具有 两个参数分支因子 B和阈值 T 的高度平衡树 ,它存储 了层次聚类的聚类特征。 分支因子定义了每个非叶节 点孩子的最大数目 ,而阈值给出了存储在树的叶子节 点中的子聚类的最大直径。 BIRCH算法通过聚类特征 可 以方 便 地进 行 中 心、 半径 、直 径 及 类 内、 类间 距 离 的
technique o f da ta mining. This paper ana ly ses the cluster a nalysis me tho d a nd r epresenta tio n cluster alg orithm in the a rea o f data
mining , co mpa res the alg orithm capability , pro vides refere nce fo r researching and useing these alg o rith ms in different fields, a nd
计算单元的统计信息 ,因此产生聚类的时间复杂度是
O ( n )。
2. 6 COBWEB算法
COBW EB以一个分类树的形式创建层次聚类 ,它
的输入对象用分类属性 -值对来描述。分类树中的每个
节点对应一个概念 ,包含该概念的一个概率描述。概率
描述包括概念的概率和形如 P ( Ai = Vij|Ck )的条件概
( 1)
j= 1 i= 1
其中 ,b> 1是一个可以控制聚类结果的模糊程度
的常数。 要求一个样本对于各个聚类的隶属度之和为
1,即
c
∑ _ j ( xi ) = 1, i= 1, 2,… , n
( 2)
j= 1
在条件式 ( 2)下求式 ( 1)的极小值 ,令 J f 对 mi 和_ j
( xi )的偏导数为 0,可得必要条件:
提出了基于密度的聚类方法是为了发现任意形状 的聚类结果。该算法基于样本的邻域条件 ,整个样本空 间被低密度区间划分开 ,且不需要预先知道聚类的数 目 ,只须一遍扫描就可完成聚类任务。具有代表性的算 法有 DBSCAN , OP T ICS和 DENCU E等。 1. 4 基于网格的聚类算法
基于网格的聚类算法采用一个多分辨率的网格数 据结构。它首先将数据空间划分成有限个单元 ( cell)的 网格结构 ,并且所有的处理都是以单个的单元为对象。
类技术 ,它将空间区域划分为矩形单元。针对不同级别
的分辨率 ,通常存在多个级别的矩形单元 ,这些单元形
成了一个层次结构: 高层的每个单元被划分为多个低
一层的单元。 高层单元的统计参数可以很容易地从低
层单元的计算得到。 这些参数包括: 属性无关的参数
count; 属性相关的参数 m (平均值 ) , s(标准偏差 ) , mi n
also ex pa tiates the application of th e cluster analysis in data mining . KEYWORDS data mining , cluste r analysis, cluster a lg orithm
数据挖掘 ( Dat a Mi ni ng )是 20世纪 80年代开始逐 步发展起来的一项数据智能分析技术 ,是一门涉及数 据 库技 术 、信 息 检索 、统 计 学、 机 器 学习 、高 性 能 计算 、 模式识别、神经网络以及可视化计算等多领域的新兴 学科 ,被信息产业界认为是数据库系统最重要的前沿 学科之一。 数据挖掘就是从大量的、不完全的、有噪声 的、模糊的、随机的数据中提取隐含在其中的、人们事 先不知道的、但又潜在有用的信息和知识的过程 [1 ]。
基于模型的聚类算法是给每个簇假定一个模型 , 然后去寻找能够很好地满足这个模型的数据集。 常用 的有 COBW EB算法和自组织特性影射 ( SO FM )等算 法。
2 常用的聚类算法
2. 1 CLARANS算法 CL A RA N S[3 ]是基于 CL A R A 算法的 一个改进。
它不像 CL ARA那样每个阶段选取一个固定样本 ,它 在搜索的每一步都带一定随机性的选取一个样本 ,在 替换了一个中心点后得到的聚类结果被称为当前聚类
中图分类号: T P311
文献标识码: A
ABSTRACT Da ta mining is o ne of the focus research in info rma tion indust ry in the latest y ea rs. Cluster analysis is the co re
结果的邻居 ,搜索的邻居点数目被用户定义的一个参 数加以限制。如果找到一个比它更好的邻居 ,则把中心 点移到该邻居节点上 ,否则把该点作为局部最小量。然 后 ,再随机选择一个点来寻找另一个局部最小量。该算 法的计算复杂度大约是 O ( n2)。 2. 2 CURE算法
CU R E算法 [4 ]把每个数据点看成一簇 ,然后再以 一个特定的收缩因子向中心“收缩”它们 ,即合并两个 距离最近的代表点的簇。 它回避了用所有点或单个质 心来表示一个簇的传统方法 ,将一个簇用多个代表点 来表示 ,使 CU RE可以适应非球形的几何形状。 另外 , 收缩因子降底了噪音对聚类的影响 ,从而使 CU RE对 孤立点的处理更加健壮 ,而且能识别非球形和大小变 化比较大的簇。 CU RE算法的复杂度是 O( n )。 2. 3 BIRCH算法
运算 ,故该算法通过一次扫描就可以进行较好的聚类 ,
计算复杂度是 O ( n )。
2. 4 DBSCAN 算法 DBSCAN 算法 [ 5]可以将足够高密度的区 域划分
为簇 ,并可以在带有“噪声”的空间数据库中发现任意
形状的聚类。 DBSCAN 通过检查数据库中每个点的ε-
邻域来寻找聚类。 如果一个点 P 的 X-邻域包 含多于