149
1 数数数数数数数数数 Data Mining & Business Intelligence 数数数数数数数 数数数数 西 数数数 数数数 第第第 第第

数据挖掘与商务智能 Data Mining & Business Intelligence

  • Upload
    viet

  • View
    170

  • Download
    0

Embed Size (px)

DESCRIPTION

数据挖掘与商务智能 Data Mining & Business Intelligence. 第五章 聚类. 西安电子科技大学 软件学院 主讲人:黄健斌. 分类与聚类. 尽管分类是一种识别对象组或类的有效手段,但是它常常需要 高昂的代价 收集和标记 大量 训练元组集或模式,以便分类法使用它们对每个组建模 希望 : 首先,基于数据的 相似性 把数据集合划分成组 然后,给这些数量相对较少的组指定标号 基于聚类的过程的另一个优点: 可以 适应 变化,并且能够挑选出区分不同组的有用特征. 聚类. 什么是聚类 ? - PowerPoint PPT Presentation

Citation preview

Page 1: 数据挖掘与商务智能 Data Mining & Business Intelligence

1

数据挖掘与商务智能Data Mining & Business Intelligence

西安电子科技大学 软件学院主讲人:黄健斌

第五章 聚类

Page 2: 数据挖掘与商务智能 Data Mining & Business Intelligence

2

分类与聚类

尽管分类是一种识别对象组或类的有效手段,但是它常常需要高昂的代价收集和标记大量训练元组集或模式,以便分类法使用它们对每个组建模

希望: 首先,基于数据的相似性把数据集合划分成组 然后,给这些数量相对较少的组指定标号

基于聚类的过程的另一个优点: 可以适应变化,并且能够挑选出区分不同组的有用特征

Page 3: 数据挖掘与商务智能 Data Mining & Business Intelligence

3

聚类

什么是聚类? 聚类( clustering)是将物理或抽象对象的集合分成相似的对象类或簇( cluster)的过程

相关概念 簇是数据对象集合,同一个簇中的对象之间具有很高的相似度,而不同簇中的对象高度相异

相异度根据描述对象的属性值评估,通常使用距离度量

Page 4: 数据挖掘与商务智能 Data Mining & Business Intelligence

4

聚类

什么是聚类? 聚类( clustering )是将物理或抽象对象的集合分成相似的对象类或簇( cluster )的过程

相关概念 簇是数据对象集合,同一个簇中的对象之间具有很高的相似度,而不同簇中的对象高度相异

相异度根据描述对象的属性值评估,通常使用距离度量

Page 5: 数据挖掘与商务智能 Data Mining & Business Intelligence

5

聚类 应用领域

市场研究、模式识别、数据分析、图像处理 其他应用

在某些应用中,聚类又称数据分割( data segmentation ),因为它根据数据的相似性把大型数据集合划分成组

聚类还可以用于离群点检测( outlier detection ),其中离群点(“远离”任何簇的值)可能比普通情况更值得注意

Page 6: 数据挖掘与商务智能 Data Mining & Business Intelligence

6

聚类技术基于划分的聚类基于层次的聚类基于密度的聚类基于图论的聚类算法基于网格的聚类算法基于模型的聚类算法

Page 7: 数据挖掘与商务智能 Data Mining & Business Intelligence

7

基于划分的聚类 划分方法( partitioning methods )

定义:给定 n 个对象或数据元组的数据库 D ,划分方法构建数据的 k 个划分( k ≤ n),每个划分表示一簇

方法:给定要构建的划分数目 k ,划分方法创建一个初始划分;然后采用迭代重定位技术,尝试通过对象在组建移动来改进划分

比较常用的算法 k-means: k 均值聚类算法 , 其中每个簇都用该簇中对象的均值来表示 < 入选数据挖掘十大算法 >

k-medoids: k 中心点聚类算法,其中每个簇用接近簇中心的一个对象来表示

CLARANS :大型数据库中的划分聚类算法

Page 8: 数据挖掘与商务智能 Data Mining & Business Intelligence

8

k-means

算法思想: 随机选择 k 个对象,每个对象初始地代表一个类的平均值;对剩余每个对象,根据其到类中心的距离,被划分到最近的类;然后重新计算每个类的平均值。不断重复这个过程,直到所有的样本都不能再分配为止。

给定类 ,

其均值定义为:

(在定义里假设每个对象是数值型属性)

1 2{ , ,... }i i i imK t t t

1

1 m

i ij

j

m tm

Page 9: 数据挖掘与商务智能 Data Mining & Business Intelligence

9

k-means

输入:期望得到的簇的数目 k , n 个对象的数据 D 输出: k 个簇的集合 方法: ( 1 )选择 k 个对象作为初始的簇的质心 ( 2 ) repeat

( 3 )计算对象与各个簇的质心的距离,将对象划分到距离其最近的簇 ( 4 )重新计算每个新簇的均值 ( 5 ) Until 簇的质心不再变化

Page 10: 数据挖掘与商务智能 Data Mining & Business Intelligence

10

k-means

Page 11: 数据挖掘与商务智能 Data Mining & Business Intelligence

11

k-means

假设:给定如下要进行聚类的对象: {2, 4 , 10, 12, 3 , 20, 30, 11, 25},k = 2,请使用 k 均值划分聚类步骤如下: m1 m2 K1 K2

2 4 {2,3} {4,10,12,20,30,11,25}

2.5 16 {2,3,4} {10,12,20,30,11,25}

3 18 {2,3,4,10} {10,12,20,30,11,25}

4.75 19.6 {2,3,4,10,11,12} {20,30,25}

7 25 {2,3,4,10,11,12} {20,30,25}

Page 12: 数据挖掘与商务智能 Data Mining & Business Intelligence

12

k-means

算法的计算复杂度为 O(nkt) 其中 n 为数据集中对象的数目 k 为期望得到的簇的数目 t 为迭代的次数 在处理大数据库时也是相对有效的 ( 可扩展性 )

Page 13: 数据挖掘与商务智能 Data Mining & Business Intelligence

13

k-means

优点 聚类时间快

缺点 用户必须事先指定聚类簇的个数 常常终止于局部最优只适用于数值属性聚类 ( 计算均值有意义 ) 对噪声和异常数据也很敏感 不同的初始值,结果可能不同 不适合发现非凸面形状的簇

Page 14: 数据挖掘与商务智能 Data Mining & Business Intelligence

14

k-medoids

k-means利用簇内点的均值或加权平均值 ci(质心)作为类 Ci的代表点。对数值属性数据有较好的几何和统计意义。对孤立点是敏感的,如果具有极大值,就可能大幅度地扭曲数据的分布

k-medoids(k- 中心点 ) 算法是为消除这种敏感性提出的,它选择类中位置最接近类中心的对象( 称为中心点 ) 作为类的代表点,目标函数仍然可以采用平方误差准则

PAM( Partitioning Around Medoids ,围绕中心点的划分)是最早提出的 k 中心点算法之一

Page 15: 数据挖掘与商务智能 Data Mining & Business Intelligence

15

PAM

算法思想 随机选择 k 个对象作为初始的 k 个类的代表点,将其余对象按与代表点对象的距离分配到最近的类;

反复用非代表点来代替代表点,以改进聚类质量。

即:算法将判定是否存在一个对象可以取代已存在的一个中心点。

通过检验所有的中心点与非中心点组成的对,算法将选择最能提高聚类效果的对,其中成员总是被分配到与中心点距离最短的类中。

假设类 Ki 的当前中心点是 Oi , 希望确定 Oi是否应与非中心点Oh交换 . 如果交换可以改善聚类的效果,则进行交换。

Page 16: 数据挖掘与商务智能 Data Mining & Business Intelligence

16

PAM

距离代价的变化是指所有对象到其类中心点的距离之和的变化

这里使用 Cjih表示中心点 Oi与非中心点 Oh交换后,对象 Oj到中心点距离代价的变化

总代价定义如下:

n

jjihih CTC

1

Page 17: 数据挖掘与商务智能 Data Mining & Business Intelligence

17

PAM( 计算代价要考虑的四种情况 )

第一种情况: Oj当前隶属于中心点对象 Oi 。如果 Oi被 Oh所代替作为中心点,且 Oj离一个 Om最近, i≠m ,那么 Oj被重新分配给 Om

第二种情况: Oj当前隶属于中心点对象 Oi。如果 Oi被Oh代替作为一个中心点,且 Oj离 Oh最近,那么 Oj被重新分配给 Oh

Page 18: 数据挖掘与商务智能 Data Mining & Business Intelligence

18

PAM( 计算代价要考虑的四种情况 )

第三种情况: Oj当前隶属于中心点 Om, m≠i 。如果 Oi被 Oh代替作为一个中心点,而 Oj依然离 Om最近,那么对象的隶属不发生变化

第四种情况: Oj当前隶属于中心点 Om, m≠i 。如果 Oi被 Oh代替作为一个中心点,且 Oj离 Oh最近,那么 Oi被重新分配给 Oh

Page 19: 数据挖掘与商务智能 Data Mining & Business Intelligence

19

PAM

输入:簇的数目 k 和包含 n 个对象的数据库。 输出: k 个簇的集合 方法: ( 1 ) 任意选择 k 个对象作为初始的代表对象(簇中心

点) ( 2 ) repeat ( 3 ) 将每个剩余对象指派到最近的代表对象所代表

的簇 ( 4 ) 随机地选择一个非代表对象 Orandom ( 5 ) 计算用 Orandom交换代表对象 Oi的总代价 S ( 6 ) if S < 0, then用 Orandom替换 Oi ,形成

新的 k 个代表对象的集合 ( 7 ) UNTIL不发生变化

Page 20: 数据挖掘与商务智能 Data Mining & Business Intelligence

20

PAM

假如空间中的五个点{ A 、B、C、D、E}如图 1 所示,各点之间的距离关系如表 1 所示,根据所给的数据对其运行 PAM算法实现划分聚类(设 k=2)。 样本点间距离如下表所示 :

样本点 A B C D E

A 0 1 2 2 3

B 1 0 2 4 3

C 2 2 0 1 5

D 2 4 1 0 3

E 3 3 5 3 0 E

D

C

B

A

3

2

2

E

D

C

B

A

起始中心点样本点

Page 21: 数据挖掘与商务智能 Data Mining & Business Intelligence

21

PAM

第一步 建立阶段:假如从 5 个对象中随机抽取的 2 个中心点为{A, B},则样本被划分为 {A、 C 、 D}和 {B、 E}

第二步 交换阶段:假定中心点 A 、 B 分别被非中心点C 、 D 、 E 替换,根据 PAM算法需要计算下列代价 TCAC、 TCAD、 TCAE、 TCBC、 TCBD、 TCBE。 以 TCAC为例说明计算过程

a) 当 A 被 C 替换以后, A 不再是一个中心点,因为 A 离 B 比 A离 C 近, A 被分配到 B 中心点代表的簇, CAAC=d(A,B)-

d(A,A)=1

b) B 是一个中心点,当 A 被 C 替换以后, B 不受影响, CBAC=0

样本点 A B C D E

A 0 1 2 2 3

B 1 0 2 4 3

C 2 2 0 1 5

D 2 4 1 0 3

E 3 3 5 3 0

Page 22: 数据挖掘与商务智能 Data Mining & Business Intelligence

22

PAMa) b) c) C 原先属于 A 中心点所在的簇,当 A 被C 替换以后, C 是新中心点,符合 PAM算法代价函数的第二种情况CCAC=d(C,C)-d(C,A)=0-2=-2

d) D 原先属于 A 中心点所在的簇,当 A 被C 替换以后,离 D 最近的中心点是 C ,根据 PAM算法代价函数的第二种情况CDAC=d(D,C)-d(D,A)=1-2=-1

e) E 原先属于 B 中心点所在的簇,当 A 被C 替换以后,离 E 最近的中心仍然是 B ,根据 PAM算法代价函数的第三种情况CEAC=0

因此, TCAC=CAAC+ CBAC+ CcAC+ CDAC+ CEAC =1+0-2-1+0=-2。

样本点 A B C D E

A 0 1 2 2 3

B 1 0 2 4 3

C 2 2 0 1 5

D 2 4 1 0 3

E 3 3 5 3 0

Page 23: 数据挖掘与商务智能 Data Mining & Business Intelligence

23

PAM 在上述代价计算完毕后,我们要选取一个最小的代价,显然有多种替换可以选择,我们选择第一个最小代价的替换(也就是 C 替换 A ),根据图 5-4( a )所示,样本点被划分为{ B、 A 、 E}和 {C、 D}两个簇。图 5-4( b )和图 5-4( c )分别表示了 D 替换 A , E 替换 A 的情况和相应的代价

(a) C替换 A, TCAC=-2 (b) D替换 A, TCAD=-2 (c) E替换 A, TCAE=-1

图 5-4 替换中心点 A 图 5-5( a )、( b )、( c )分别表示了用 C 、 D 、 E 替换 B 的情况和相应的代价。

• C 替换 B, TCBC=-2 (b) D替换 B, TCBD=-2 (c) E替换 B, TCBE=-2图 5-5 替换中心点 B

通过上述计算,已经完成了第一次迭代。在下一迭代中,将用其他的非中心点{A、 D 、 E}替换中心点 {B、 C},找出具有最小代价的替换。一直重复上述过程,直到代价不再减小为止。

3

1

1

E

D

C

B

A

3

1

1

E

D

C

B

A

3

1

2

E

D

C

B

A

3

1

1

E

D

C

B

A

3

1

1

E

D

C

B

A

1 2

2

E

D

C

B

A

Page 24: 数据挖掘与商务智能 Data Mining & Business Intelligence

24

K-medoids

优点 对属性类型没有局限性 通过簇内主要点的位置来确定选择中心点,对孤立点和噪声数据的敏感性小

不足 处理时间要比 k-mean 更长 用户事先指定所需聚类簇个数 k

发现的聚类与输入数据的顺序无关

Page 25: 数据挖掘与商务智能 Data Mining & Business Intelligence

25

CLARANS

PAM算法中,每一次迭代都需要确定出 k(n-k)个交换对,对于交换对 i , h 需要计算 TCih。在计算TCih过程中,需要计算 n-k个非中心点的代价,所以每次迭代的复杂度是 k(n-k)2

由于迭代的次数可能很多, PAM算法的复杂性很高,所以不适合大型数据库

CLARANS ( Clustering Large Application based upon RANdomized Search ,大型数据库中的划分聚类)算法是由 PAM算法改进后得到的一种算法,适合大型数据库

Page 26: 数据挖掘与商务智能 Data Mining & Business Intelligence

26

CLARANS

算法思想 CLARANS 方法在搜索的每一步都以某种随机方式进行采样,其聚类过程可描述成一个图的搜索,图中的每个节点是一个潜在的解,即 k 个中心点的集合

在替换一个中心对象后所获得的新第一就称为当前聚类的邻居,随机产生的聚类邻居数由用户限制

若发现一个更好的邻居 ( 具有较低的方差 ) , CLARANS 算法就移动到这一邻居节点然后再开始重新搜索 , 否则当前节点就形成了一个局部最优

若发现一个局部最优, CLARANS 方法就随机选择节点重新开始搜索新的局部最优

Page 27: 数据挖掘与商务智能 Data Mining & Business Intelligence

27

CLARANS

给定 n 个对象,描述发现 k 个中心点的过程可以抽象的看成一个图的搜索,在该图中, Gn,k定义的节点可以用一个 k 个对象的集合{Om1,Om2,… Omk}来表示,即 Om1,Om2,…Omk实际是选择的中心点

若两个节点的集合之间只有一个对象不同,这两个节点就是邻居节点(由弧线连接)

两个节点 S1={Om1,Om2,… Omk}, S2={On1,On2,… Onk}是邻居,当且仅当 S1和 S2交集由 k-1个元素。每一个节点有 k(n-k)个邻居。

因为一个节点有 k 个中心点组成,则每个节点对应着一个聚类,于是每个节点可以赋予一个代价。

若 Oi与 Oh属于不同的邻居 S1和 S2,两个邻居的代价差与 PAM算法中的代价相同,即表示中心点 Oi与非中心点 Oh交换后的 TCih 。

Page 28: 数据挖掘与商务智能 Data Mining & Business Intelligence

28

CLARANS

1. 输入参数 numlocal和maxneighbor, numlocal 表示抽样的次数, maxneighbor 表示一个节点可以与任意特定邻居进行比较的数目令:i =1, i 用来表示已经选样的次数, mincost 为最小代价,初始时设为大数

2. 将 current 设置当前节点为 Gn,k中的任意一个节点3. 令 j =1( j 用来表示已经与 current 进行比较的邻居的个数) 4. 考虑当前点的一个随机的邻居 S ,并计算两个节点的代价差5. 如果 S 的代价较低,则 current:=S ,转到步骤 3 6. 否则 , 令 j=j+1 。如果 j≤maxneighbor, 则转到步骤 4 7. 否则 , 当 j>maxneighbor, 当前节点为本次选样最小代价节点 . 如果其代价小于 mincost, 令mincost 为当前节点的代价, bestnode 为当前的节点

8. 令 i= i+1 ,如果 i>numlocal, 输出 bestnode ,运算中止 . 否则,转到步骤 2

Page 29: 数据挖掘与商务智能 Data Mining & Business Intelligence

29

CLARANS

步骤( 3 )到步骤( 6 )搜索节点的代价逐步降低。但若当前的节点已于节点的邻居的最大数比较过而且仍是最低的代价,则认为是当前节点是局部最小的。然后再步骤( 7 )中,将这个局部最小于目前得到的最小代价比较,两者值小的存入 mincost。 CLARANS 算法然后再重复搜索其他的局部最小者,一直到 i=numlocal 为止( numlocal

为抽样次数) 优点

不用限制在局部区域搜索只检查节点的邻居的样本,效率高

Page 30: 数据挖掘与商务智能 Data Mining & Business Intelligence

30

基于划分的聚类 特点

k 事先定好 创建一个初始划分,再采用迭代的重定位技术 不必确定距离矩阵 比系统聚类法运算量小,适用于处理庞大的样本数据 适用于发现球状类

缺陷 不同的初始值,结果可能不同 有些 k 均值算法的结果与数据输入顺序有关,如在线 k均值算法

容易陷入局部极小值

Page 31: 数据挖掘与商务智能 Data Mining & Business Intelligence

31

基于层次的聚类 层次方法( hierachical methods )

层次方法创建给定数据对象集的层次分解。根据层次的分解的形成方式,层次的方法可以分类为凝聚的或分裂的方法

凝聚法,也称自底向上的方法,开始将每个对象形成单独的组,然后逐次合并相近的对象或组,直到所有的组合并为一个(层次的最顶层),或者满足某个终止条件

分裂法,也称自顶向下的方法,开始将所有的对象置于一个簇中,每次迭代,簇分裂为更小的簇,直到最终每个对象在一个簇中,或者满足某个终止条件

Page 32: 数据挖掘与商务智能 Data Mining & Business Intelligence

32

基于层次的聚类 比较常用的算法

DIANA ( Divisive ANAlysis) : 分裂层次聚类算法 AGENES ( AGglomerative NESting): 凝聚层次聚类算法 BIRCH : 利用层次方法的平衡迭代规约和聚类 < 数据挖掘 候选十八大算法之一 >

Page 33: 数据挖掘与商务智能 Data Mining & Business Intelligence

33

凝聚和分裂层次聚类

对数据对象 {a,b,c,d,e}的凝聚和分裂层次聚类

Page 34: 数据挖掘与商务智能 Data Mining & Business Intelligence

34

凝聚和分裂层次聚类

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

凝聚层次聚类 分裂层次聚类

Page 35: 数据挖掘与商务智能 Data Mining & Business Intelligence

35

凝聚和分裂层次聚类 在凝聚或者分裂层次聚类方法中,用户可以定义希望得到的簇数目作为一个终止条件

通常,使用一种称作树状图( dendrogram )的树形结构表示层次聚类的过程

Page 36: 数据挖掘与商务智能 Data Mining & Business Intelligence

36

最小距离

单链接( single-link )方法,其每个簇可以用簇中所有对象代表,簇间的相似度用属于不同簇中最近的数据点对之间的相似度来度量

也称为最短距离法,定义簇的邻近度为取自不同簇的所有点对的俩个最近的点之间的邻近度

设 表示样本 和 之间的距离, 表示类 和 之间距离

ijd ( )iX ijD( )jX iG

jG

( ) ( ),

mini i j j

ij ijX D X D

D d

Page 37: 数据挖掘与商务智能 Data Mining & Business Intelligence

37

最大距离 全链

取自不同簇中的俩个最远的点之间邻近度作为簇的邻近度,或者使用图的术语,不同的结点子集中俩个结点之间的最长边

jjii GXGXijij dD

)()( ,

max

••

• •

••

Page 38: 数据挖掘与商务智能 Data Mining & Business Intelligence

38

平均距离 组平均( average linkage method )类间所有样本点的平均距离 该法利用了所有样本的信息,被认为是较好的系统聚类法

•••

•••

Page 39: 数据挖掘与商务智能 Data Mining & Business Intelligence

39

算法 当算法使用最小距离 dmin ( Ci , Cj)衡量簇间距离时,有时

称它为最近邻聚类算法 如果当最近的簇之间的距离超过某个任意的阈值是聚类过程就会终止,则成其为单连接算法

使用最小距离度量的凝聚层次聚类算法也成为最小生成树算法

当算法使用最大距离 dmax ( Ci , Cj)衡量簇间距离时,有时称它为最远邻聚类算法( farthest-neighbor clustering algorithm )

如果当最近的簇之间的最大距离超过某个任意的阈值是聚类过程就会终止,则成其为全连接算法( complete-linkage algorithm )

Page 40: 数据挖掘与商务智能 Data Mining & Business Intelligence

40

单连接算法 先将五个样本都分别看成是一个簇,最靠近的两个簇是 3 和4 ,因为他们具有最小的簇间距离 D ( 3 , 4 ) =5.0

合并簇 3 和 4 ,得到新簇集合 1,2,( 34) ,5更新距离矩阵 D(1,(34)) = min(D(1,3),D(1,4)) = min(20.6, 22.4) = 20.6

D(2,(34)) = min(D(2,3),D(2,4)) = min(14.1, 11.2) = 11.2

Page 41: 数据挖掘与商务智能 Data Mining & Business Intelligence

41

单连接算法 D(5,(34)) = min(D(3,5),D(4,5)) = min(25.0, 25.5) = 25.0

原有簇 1,2,5间的距离不变,故在四个簇 1,2,(34),5中,最靠近的两个簇是 1 和 5 ,它们具有最小簇间距离 D ( 1,5 )= 7.07

Page 42: 数据挖掘与商务智能 Data Mining & Business Intelligence

42

BIRCH

问题:大数据集I/O开销

BIRCH一次扫描处理噪音评估时间 / 空间效率BIRCH/CLARANS性能比较

Page 43: 数据挖掘与商务智能 Data Mining & Business Intelligence

43

算法必备知识 簇内 :R 和 D 反映了质心周围簇的紧凑程度 tightness

X0:中心点 R :点到中心点的平均距离 D :簇内的平均距离(成对)

10

Ni

iX

XN��������������

��������������

2 11 2( 0)

( )

Ni

iX X

RN

����������������������������

2 11 1 2

( )( )

1

N Ni j

i jX X

DN N

����������������������������

Page 44: 数据挖掘与商务智能 Data Mining & Business Intelligence

44

算法必备知识 簇间: closeness

X01 , X02 :中心点 D0:质心点欧几里德距离 D1:质心点曼哈顿距离

12 2

1 20 (( 0 0 ) )D X X ����������������������������

( ) ( )1 2 1 2

1

1 | 0 0 | | 0 0 |d

i i

i

D X X X X

��������������������������������������������������������

Page 45: 数据挖掘与商务智能 Data Mining & Business Intelligence

45

算法必备知识 D2:平均聚类间距离 D3:平均聚类内距离 D4:变化引导的增量距离

Page 46: 数据挖掘与商务智能 Data Mining & Business Intelligence

46

聚类特征向量 聚类特征 CF(Clustering Feature) :是一个三维向量,汇总了对象簇的信息给定簇中 n 个 d 为对象或点 {Xi} ,则该簇的 CF定义如

CF = <n, LS, SS> n :簇中点的数目 LS: n 个点的线性和 (即 ) SS:数据点的平方和 (即 )

Page 47: 数据挖掘与商务智能 Data Mining & Business Intelligence

47

CF

迭加性 假定有两个不相交的簇 C1和 C2,分别具有聚类特征CF1和 CF2,那么由 C1和 C2合并而成的簇的聚类特征就是 CF1+CF2

CF树 高度平衡 平衡因子 B :非叶节点可以拥有的孩子数 L :叶子节点最多拥有 L 个元组阈值 T :叶子节点中的子聚类的最大直径(半径) P :一个节点的空间

Page 48: 数据挖掘与商务智能 Data Mining & Business Intelligence

48

BIRCH

Page 49: 数据挖掘与商务智能 Data Mining & Business Intelligence

49

BIRCH

Page 50: 数据挖掘与商务智能 Data Mining & Business Intelligence

50

插入 CF树 从根节点开始,自上而下选择最近的孩子节点 到达叶子节点后,检查最近的元组 Li能否吸收 Ent

是,更新 CF值否,是否可以添加一个新的元组

是,添加一个新的元组 否则,分裂最远的一对元组,作为种子,按最近距离重新分配其它元组

更新每个非叶节点的 CF信息,如果分裂节点,在父节点中插入新的元组,检查分裂,直到 root

合并:在某个非叶子节点 Nj处停止分裂,发现 Nj中最近的两个元组,合并

Page 51: 数据挖掘与商务智能 Data Mining & Business Intelligence

51

BIRCH

处理方案第一种:将阈值定为所有叶条目的“最近邻居对”之间距离的平均值,根据这个平均值得出的新的阈值,相似的俩个叶条目将合并成一个

第二种:孤立点处理。当孤立点分配 R 字节的空间,孤立点是那些密度较低的叶条目。对整体而言,这些孤立点是不重要的。当通过插入旧叶条目来重建 CF树时,新的 CF树从俩个方面减少树的大小。首先通过增加阈值,其次若磁盘空间溢出,通过吸收孤立点,直到磁盘空间不溢出为止

Page 52: 数据挖掘与商务智能 Data Mining & Business Intelligence

52

BIRCH 算法 BIRCH算法: 采用多阶段聚类技术,对数据集合进行单遍扫描后生成初步

簇,再经过一遍或多遍扫描改进聚类质量, CF树的重建类似于 B +树构建中的节点插入和节点分裂 。

算法优点: 对大型数据库的高效性和可扩展性 支持增量聚类 复杂度为 O (n)

算法缺点: CF树对节点中包含项的数目有限制,这可能导致节点并未

对应实际数据集的一个自然簇。 不适合发现非球形的簇。

Page 53: 数据挖掘与商务智能 Data Mining & Business Intelligence

53

基于密度的聚类方法 基于密度的聚类方法将簇看作数据空间中由低密度区域分隔开的高密度对象区域。

主要思想: 只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类,即对给定类中的每个数据点,在一个给定范围的区域中必须至少包含某个数目的点。

基于密度的聚类方法可以用来过滤噪声孤立点数据,发现任意形状的簇。 DBSCAN :基于高密度连通区域聚类 OPTICS :通过点排序识别聚类结构

Page 54: 数据挖掘与商务智能 Data Mining & Business Intelligence

54

DBSCAN

基于密度的簇是密度相连的点的集合 主要思想

寻找被低密度区域分离的高密度区域只要临近区域的密度(单位大小上对象或数据点的数目)超过某个阈值,就继续聚类

Page 55: 数据挖掘与商务智能 Data Mining & Business Intelligence

55

DBSCAN

两个参数: Eps: 邻域的最大半径 MinPts: 一个核心对象以 Eps为半径的邻域内的最小顶点数

MinPts = 5

Eps = 1 cm

p

q

Page 56: 数据挖掘与商务智能 Data Mining & Business Intelligence

56

DBSCAN

密度可达的( Density-reachable )如果存在一个对象链 p1, …, pn, p1 = q, pn = p , pi+1 是从 pi关于 Eps和 MinPts 直接密度可达的,则对象 p 是从对象 q 关于 Eps和 MinPts 密度可达的

密度可达性是直接 密度可达性的传递闭包, 这种关系是非对称的。 只有核心对象之间是 相互可达的。

p

qp1

Page 57: 数据挖掘与商务智能 Data Mining & Business Intelligence

57

DBSCAN

密度相连的( Density-connected )如果对象集合 D 中存在一个对象 o ,使得对象 p 和 q是从 o 关于 Eps 和 MinPts密度可达的,那么对象p 和 q 是关于 Eps 和 MinPts密度相连的

密度相连性是一个

对称的关系p q

o

Page 58: 数据挖掘与商务智能 Data Mining & Business Intelligence

58

DBSCAN

DBSCAN ( Density-Based Spatial Clustering of

Applications with Noise) 该算法将具有足够高密度的区域划分为簇,并可以在带有

“噪音”的空间数据库中发现任意形状的聚类 不包含在任何簇中的对象被认为是“噪音” 定义簇为密度相连的点的最大集合 一个基于密度的簇是基于密度可达性的最大的密度相连的

对象

Page 59: 数据挖掘与商务智能 Data Mining & Business Intelligence

59

DBSCAN

密度 = 制定半径 (Eps) 内点的个数 如果一个对象的 Eps 邻域至少包含最小数目

MinPts 个对象,则称该对象为核心对象( Core point )集群内有多个核心对象

边界点( Border point )的 Eps 邻域有少于MinPts 个对象 , 但它的邻域中有核心对象

噪声点( Noise point )是除核心对象和边界点之外的点

Page 60: 数据挖掘与商务智能 Data Mining & Business Intelligence

60

DBSCAN

Page 61: 数据挖掘与商务智能 Data Mining & Business Intelligence

61

DBSCAN

Page 62: 数据挖掘与商务智能 Data Mining & Business Intelligence

62

DBSCAN

Page 63: 数据挖掘与商务智能 Data Mining & Business Intelligence

63

DBSCAN

Page 64: 数据挖掘与商务智能 Data Mining & Business Intelligence

64

DBSCAN :核心对象、边界点、噪声点

Original Points Point types: core, border and noise

Eps = 10, MinPts = 4

Page 65: 数据挖掘与商务智能 Data Mining & Business Intelligence

65

DBSCAN :任意形状聚类

Original Points Clusters

• 抗噪声• 能处理各种形状和大小集群

Page 66: 数据挖掘与商务智能 Data Mining & Business Intelligence

66

DBSCAN: 参数敏感

Page 67: 数据挖掘与商务智能 Data Mining & Business Intelligence

67

DBSCAN: 算法

选任意节点 p 对于参数 Eps 和 MinPts,检索所有关于 p密度可达的顶点

如果 p 是核心对象 , 一个簇形成 如果 p 是边界点 , 没有有关于 p 密度可达的顶点,扫描下一个节点

继续算法直到所有节点扫描一遍

Page 68: 数据挖掘与商务智能 Data Mining & Business Intelligence

68

OPTICS

在前面介绍的 DBSCAN 算法中 需要用户手动设置输入,并且聚类的类簇结果对这两个参数的取值非常敏感

为了克服 DBSCAN 算法这一缺点,提出了 OPTICS 算法。 OPTICS 并不显示的产生结果类簇,而是为聚类分析生成一个增广的簇排序(比如,以可达距离为纵轴,样本点输出次序为横轴的坐标图),这个排序代表了各样本点基于密度的聚类结构。它包含的信息等价于从一个广泛的参数设置所获得的基于密度的聚类,换句话说,从这个排序中可以得到基于任何参数 E和 minPts的 DBSCAN 算法的聚类结果。

Page 69: 数据挖掘与商务智能 Data Mining & Business Intelligence

69

OPTICS

对象 p 的核心距离:使 p 成为核心对象的最小 Ɛ’。如果 p 不是核心对象,那么 p 的核心距离没有任何意义。

可达距离:对象 q 到对象 p 的可达距离是指 p 的核心距离和 p 与 q 之间欧几里得距离之间的较大值。如果 p 不是核心对象, p 和 q 之间的可达距离没有意义。

Page 70: 数据挖掘与商务智能 Data Mining & Business Intelligence

70

OPTICS

OPTICS算法生成一个有序对象列表,每个对象拥有两个属性,核心距离和可达距离。利用这个列表,可以获得任何领域半径小于的聚类。

Page 71: 数据挖掘与商务智能 Data Mining & Business Intelligence

71

OPTICS :通过点排序识别聚类结构

对于真实的,高维的数据集合而言,参数的设置通常是依靠经验,难以确定。

绝大多数算法对参数值是非常敏感的:设置的细微不同可能导致差别很大的聚类结果。

OPTICS算法通过对象排序识别聚类结构。 OPTICS没有显式地产生一个数据集合簇,它为自动和交互的聚类分析计算一个簇排序。

这个次序代表了数据的基于密度的聚类结构。

Page 72: 数据挖掘与商务智能 Data Mining & Business Intelligence

72

基于密度的聚类方法

主要特征:发现任意形状的聚类处理噪声(孤立点数据)一次扫描需要密度参数作为终止条件

Page 73: 数据挖掘与商务智能 Data Mining & Business Intelligence

73

基于图论的聚类算法 目前有关图论的理论研究已经非常深入,并出现了很多性能优异的算法,而且图具有很多优良特性,用图论来解决聚类问题是一种有效方法 MST_based Clustering: 基于最小生成树的聚类 CHAMELEON: (变色龙)一个利用动态模型的层次聚类算法

图的基本构成:节点表示数据项边表示一个节点 v 在另一个节点 u 的最相似点中,其权重表示数据项间的相似度

Page 74: 数据挖掘与商务智能 Data Mining & Business Intelligence

74

稀疏图 稀疏图:只保留对象中与其最近邻之间的连接

稀疏化方法: 断开相似度低于指定阈值的边 保留连接到点的 K个近邻边 (后面用到的 K邻近图 )

优点: 压缩数据量,节省了存储空间 在密集和稀疏区域的数据项都同样能建模 更好的聚类(断开了与较远对象的连接) 可使用图划分算法

Page 75: 数据挖掘与商务智能 Data Mining & Business Intelligence

75

基本 MST_based Clustering 它是除了 K均值之外的另一个分裂层次聚类技术,从邻近图的最小生成树开始,可看作用稀疏化找出簇的应用。

它是根据 MST中边的权值大小 , 断开权值大的边形成一个森林 ,森林中每棵树就是一个聚类 . 算法时间复杂度为 o (mlogn) (m 为边数 , n 为顶点数 ) , 能够处理任意形状和高维数据聚类问题

Page 76: 数据挖掘与商务智能 Data Mining & Business Intelligence

76

最小生成树算法

克鲁斯卡尔算法时间复杂度: ( e为边的个数)

普里姆算法时间复杂度: ( n为结点个数)

破圈法 2nO

eeO log

Page 77: 数据挖掘与商务智能 Data Mining & Business Intelligence

77

最小生成树聚类算法

输入:数据库中数据项 输出:经过聚类所得簇

构造顶点的 K-邻近相异度图 计算图的最小生成树 repeat 断开对应于最大相异度的边,创建新簇 until 只剩下单个簇

Page 78: 数据挖掘与商务智能 Data Mining & Business Intelligence

78

评价

优点: 简单易实现 能够处理任意形状和高维数据聚类问题 .

缺点: 这个算法不能处理任意密度的情况,并且参数的设定也有一定的难度

Page 79: 数据挖掘与商务智能 Data Mining & Business Intelligence

79

MST改进一

根据数据的最近邻原理 ,即一个对象与其最近邻对象趋向于在同一个类中 , 从最小生成树中的一个边开始 , 通过一个控制参数 , 逐步合并该边连接的两个部分(两点之间的互联性还具有传递性,这样将可以互联的所有点聚在一起即成为一个簇)

方法类似与基于密度的 DBSCAN算法,根据点间的可达性聚类

Page 80: 数据挖掘与商务智能 Data Mining & Business Intelligence

80

MST改进二

利用基本最小生成树聚类算法,清除相对较大的边得到森林,对森林中的每棵树构造邻接矩阵,以邻接矩阵中度最大的节点作为簇的中心,根据各个结点距中心的距离按最小距离归类,完成聚类

Page 81: 数据挖掘与商务智能 Data Mining & Business Intelligence

81

改进评价 优点:

解决了基本算法的问题,它可得到任意形状、任意密度的类

对于高维数据集 , 只要计算出相似度矩阵就能用本算法进行求解 , 该算法还有良好的扩展性

与输入顺序没有关系 , 能发现离群点等优良特性 .

缺点:生成 MST的时间复杂度成为算法效率的瓶颈

Page 82: 数据挖掘与商务智能 Data Mining & Business Intelligence

82

Chameleon

一个利用动态模型的层次聚类算法 基于动态模型的合并过程有利于自然的和同构的聚类的发现,只要定义了相似度函数就可以用所有类型的数据

通过一个图划分算法将数据对象聚类为大量相对较小的子聚类,然后利用一个凝聚的层次聚类算法通过反复的合并子类来找到真正的结果簇。

既考虑了互联性又考虑了簇间的接近性,特别是簇内部的特征来确定相似的子簇,这样它就不依赖于一个静态的用户提供的模型,能够自动地适应被合并的内部特征

Page 83: 数据挖掘与商务智能 Data Mining & Business Intelligence

83

Chameleon 基本步骤 Chameleon算法基于通常采用的 K-最邻近图方法描述他的对象

Page 84: 数据挖掘与商务智能 Data Mining & Business Intelligence

84

Chameleon——比较 以往算法的不足:

只处理符合某静态模型的簇 忽略了不同簇间的信息

忽略互联性:只考虑簇间距离较近数据对的多少

忽略接近性:只考虑簇间数据的最近距离

变色龙算法发现了这样的局限性,它同时考虑互联性和接近性,使得聚类效果大大提高

Page 85: 数据挖掘与商务智能 Data Mining & Business Intelligence

85

相对互连性( RI) 相对互联性函数:

EC( Ci, Cj):连接簇 Ci和 Cj的所有边的权重 EC( Ci):把簇 Ci划分为两个大致相等部分的最小等分线切断的所有边的权重和。

相对互连性能处理簇间形状不同和互连程度不同的问题。

jCiC

jCiC

ji

ECEC

ECCCRI

21

,,

Page 86: 数据挖掘与商务智能 Data Mining & Business Intelligence

86

相对接近性( RC) 相对接近性函数:

:连接簇 Ci和 Cj的边的平均权重。 :把簇 Ci划分为两个大致相等部分的最小等分线切断的所有边的平均权重

jCEC

ji

j

iCEC

ji

i

jCiCEC

ji

SCC

CS

CC

C

SCCRC

,

,

Page 87: 数据挖掘与商务智能 Data Mining & Business Intelligence

87

聚类—— Chameleon两阶段算法

第一阶段:用图形划分算法把 K-最邻近图使用划分算法将其划分为较小的相对独立的子簇;

第二阶段:用一个凝聚的层次聚类算法反复合并子类找到真正的结果簇

Page 88: 数据挖掘与商务智能 Data Mining & Business Intelligence

88

第一阶段:得子簇 运用 hMetis算法

hMetis算法根据最小化截断的边的权重和来分割K-最邻近图

hMetis多层超图二分算法:提供高质量快速的划分

概化过程:将原始图通过概化操作产出一系列逐步缩小的概图初始分割过程:应用超图分割算法对最小的概图进行分割反概化和精化过程:最小概图的二分反向逐层映射回原图,并在 每一层进行精化操作,不断提高分割质量

Page 89: 数据挖掘与商务智能 Data Mining & Business Intelligence

89

第二阶段:合并子簇

用户指定阈值 (TRI和 TRC) 访问每个簇,计算它与临近簇的 RI和 RC。 合并 RI和 RC分别超过 TRI和 TRC的簇对。若满足条件的临近簇多于一个,合并具有最高绝对互连性的簇。

重复上两步,直到没有可合并的簇。 函数定义

度量函数: F( Ci, Cj)=RI( Ci, Cj)× RC( Ci, Cj)α

(选择函数值最大的两个簇 ) α>1,更重视相对近似性 α<1,更重视相对互连性 选择使该函数值最大的簇对合并。

Page 90: 数据挖掘与商务智能 Data Mining & Business Intelligence

90

算法 输入:数据库中数据项 输出:经过聚类所得簇

构造 K-最邻近图使用多层图划分算法划分图(使用 hMetis算法)

Repeat 根据相对互联性和接近性合并簇Until 不再有可以合并的簇

Page 91: 数据挖掘与商务智能 Data Mining & Business Intelligence

91

实验结果对比

Chameleon 算法聚类结果 CURE 算法聚类结果

Page 92: 数据挖掘与商务智能 Data Mining & Business Intelligence

92

Chameleon总结 有效的聚类空间数据,即使存在噪声点和离群点,并且簇具有不同形状、大小、密度

问题: k-最近邻居图中 k 值的选取。 用户指定方式中阈值的选取。 使用稀疏化和图划分算法的到的对象组群必须是子簇,否则第二阶段将导致错误,因它不会将已经错误的放到一起的对象分开(对于高维数据时常发生)

在最坏情况下,高维数据的处理代价可能需要O(n2) 的时间。

Page 93: 数据挖掘与商务智能 Data Mining & Business Intelligence

93

模糊聚类 硬聚类

对象只能被划分到一个簇中,即使它到两个质心距离相等或接近。

模糊聚类(软聚类)对象不被明确的划分给某个簇,而是给对象赋予一个权值,指明它属于某个簇的程度。

对象可以以 0 和 1 之间的某个隶属度属于一个簇。

Page 94: 数据挖掘与商务智能 Data Mining & Business Intelligence

94

基于网格的聚类

聚类分析的算法有很多,其中一大类的传统算法是基于距离的,这种基于距离的缺点在于只能发现球状的簇、处理大数据集和高维数据集时不够有效,另一方面它能发现的聚类个数常常依赖于用户参数的指定,这对用户来说经常是很困难的。

基于网格 (dding-based)指将对象空间量化为有限数目的单元,形成一个网格结构,所有聚类都在这个网格结构上进行。

Page 95: 数据挖掘与商务智能 Data Mining & Business Intelligence

95

基于网格的聚类 基本思想是将每个属性的可能值分割成许多相邻的区间,创建网格单元的集合(对于的讨论我们假设属性值是序数的、区间的或者连续的)。

每个对象落入一个网格单元,网格单元对应的属性区间包含该对象的值。

优点是它的处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。

Page 96: 数据挖掘与商务智能 Data Mining & Business Intelligence

96

STING: 统计信息网格 STING是一种基于网格的多分辨率聚类技术,它将空间区域划分为矩形单元。针对不同级别的分辨率,通常存在多个级别的矩形单元,

这些单元形成了一个层次结构:高层的每个单元被划分为多个低一层的单元。

关于每个网格单元属性的统计信息(例如平均值、最大值和最小值)被预先计算和存储。这些统计信息用于回答查询。

Page 97: 数据挖掘与商务智能 Data Mining & Business Intelligence

97

STING: 统计信息网格

网格中常用参数 count- 网格中对象数目 mean- 网格中所有值的平均值 stdev- 网格中属性值的标准偏差 min- 网格中属性值的最小值 max- 网格中属性值的最大值 distribution- 网格中属性值符合的分布类型。如正态分布、均匀分布、指数分布或者 none(分布类型未知)

Page 98: 数据挖掘与商务智能 Data Mining & Business Intelligence

98

STING: 统计信息网格

STING 聚类的层次结构

Page 99: 数据挖掘与商务智能 Data Mining & Business Intelligence

99

STING: 统计信息网格 当数据加载到数据库时。最底层的单元参数直接由数据计算,若分布类型事先知道,可以用户直接指定,而较高层的分布类型可以基于它对应的低层单元多数的分布类型,用一个阈值过滤过程的合取来计算,若低层分布彼此不同,则高层分布设置为 none。

高层单元的统计参数可以很容易的从低层单元的参数计算得到。

Page 100: 数据挖掘与商务智能 Data Mining & Business Intelligence

100

STING: 统计信息网格

统计处理步骤: 使用自顶向下的方法回答空间数据的查询 从一个预先选择的层次开始-通常包含少量的单元,为当前层的每个单元计算置信区间

不相关的单元不再考虑 当检查完当前层,接着检查下一个低层次 重复这个过程直到达到底层

Page 101: 数据挖掘与商务智能 Data Mining & Business Intelligence

101

STING: 统计信息网格 查找加利福尼亚州地区的房屋以得到房产相关方面年龄数据。约束条件:单元地区至少有 100栋房屋;70%的房屋其价格在 $2000到 $30000之间

查询语言( sql语言) SELECT RANGE(age)

FROM house-map

WHERE price RANGE (2000,30000)

WITH PERCENT (0.7, 1)

AND AREA (100, +)

AND LOCATION California

Page 102: 数据挖掘与商务智能 Data Mining & Business Intelligence

102

STING: 统计信息网格

算法步骤:1 从一个层次开始2 对于这一层次的每个单元格,我们计算查询相关的属性值3 从计算的属性值及其约束条件中,我们将每一个单元格标

注成相关或者不相关4 如果这一层是底层,则转到步骤 6 ,否则就行步骤 55 我们由层次结构转到下一层依照步骤 2 进行计算6 查询结果满足,转到步骤 8 ,否则转到步骤 77 恢复数据到相关的单元格进一步处理以得到满意结果,转

到步骤 88 停止

Page 103: 数据挖掘与商务智能 Data Mining & Business Intelligence

103

STING: 统计信息网格

Page 104: 数据挖掘与商务智能 Data Mining & Business Intelligence

104

STING: 统计信息网格

优点如下: 计算是独立于查询的; 有利于并行处理和增量更新; 效率很高。

STING算法扫描数据库一次来计算单元的统计信息,因此产生聚类的时间复杂度是 o(n),其中 n 是对象的数目。在层次结构建立后,查询处理时间是,这里 g是最低层网格单元的数目 o(g),通常远小于 n 。

Page 105: 数据挖掘与商务智能 Data Mining & Business Intelligence

105

STING: 统计信息网格

缺点如下: 如果粒度比较细,处理的代价会显著增加;但是,如果网

格结构最低层的粒度太粗,将会降低聚类分析的质量; 在构建一个父亲单元时没有考虑孩子单元和其相邻单元之

间的关系,因此,结果簇的形状是 isothetic,即所有的聚类边界或者是水平的,或者是竖直的,没有斜的分界

线。 尽管该技术有快速的处理速度,但可能降低簇的质量和精确性

Page 106: 数据挖掘与商务智能 Data Mining & Business Intelligence

106

基于模型的聚类

基于模型的方法试图优化给定数据和某数学模型之间的拟合。

通常基于这样的假设:数据根据潜在的一系列概率分布生成。

两种方案:统计学方案: EM和 COBWEB

神经网络方案: SOM

Page 107: 数据挖掘与商务智能 Data Mining & Business Intelligence

107

基于模型的聚类

基于统计模型:通常一种方便而有效的做法是,假定数据是由一个统计过程产生的,并通过找出最佳拟合数据的统计模型来描述数据,其中统计模型用分布和该分布的一组参数描述

基于模型的算法通过构建反映数据点空间分布的密度函数或其他来定位聚类

它的某些算法基于标准的统计数字自动决定聚类的数目,考虑噪声数据和孤立点,从而产生健壮的聚类

Page 108: 数据挖掘与商务智能 Data Mining & Business Intelligence

108

EM:最大似然估计混合模型参数

期望最大化算法是一种流行的迭代求精算法。它可以看作是 k均值算法的一种扩展,不过 EM不把每一个对象指派到特定的簇,而是根据一个代表隶属度概率的权重将每个对象指派到簇,即簇间没有严格的边界

假定数据是从 k 个概率分布而来,每个簇用一个概率分布描述。

目标:得到概率分布的参数 算法:期望最大化 输出:概率分布参数,数据分配到聚类

Page 109: 数据挖掘与商务智能 Data Mining & Business Intelligence

109

混合模型

混合模型:使用若干统计分布对数据建模,每个分布对应于一个簇,而每个分布的参数提供对应簇的描述

将数据看作从不同的概率分布得到观测值的集合。概率分布可以是任何分布,但通常是多元正态的,因为这种类型的分布已被人们完全理解,容易从数学上进行处理,并已经证明在许多情况下都恩能够产生好的结果

Page 110: 数据挖掘与商务智能 Data Mining & Business Intelligence

110

混合模型 假定有 k 个簇, m 个对象。则,第 j 个簇的参数为 j = (j, j)

选取第 j 个分布产生一个对象的概率是 wj ,其中w1 + …+ wk = 1

第 i 个对象来自第 j 个分布的概率是 则第 i 个对象出现在第 j 个簇中的概率是 则某个对象 x 出现的概率是

k

jjjj xpwxprob

1

)|()|(

)|( jij xp

)|( jijj xpw

Page 111: 数据挖掘与商务智能 Data Mining & Business Intelligence

111

混合模型

m

i

k

jjijj

m

ii xpwxprobXprob

1 11

)|()|()|(

如果对象以独立的方式产生则数据集X的概率为:

-10 -5 0 5 10

0.0

0.0

50

.10

0.1

5

| | | ||||||||||||||||||||||||||||||||||||| |||||||||||| |||||| || || |||||||||| |||||||| |||| ||| | | | | | |||||||||| ||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||

Page 112: 数据挖掘与商务智能 Data Mining & Business Intelligence

112

示例:

2

2

2

)(

2

1)|(

x

i exprob

)2,4()2,4( 21

8

)4(

8

)4( 22

24

1

24

1)|(

xx

eexprob

)2,4()2,4( 21

Page 113: 数据挖掘与商务智能 Data Mining & Business Intelligence

113

最大化参数估计 最大似然估计

如果我们有从某个分布的出的一组数据,但不知道分布的参数,则可以选择能最大化的参数。

也就是最大化

m

j

x j

eXprob1

2

)(2

2

2

1)|(

m

i

i mmx

Xprob1

2

2

log2log5.02

)()|(log

Page 114: 数据挖掘与商务智能 Data Mining & Business Intelligence

114

EM:使用最大似然估计混合模型参数

选择模型参数的初始值重复以下两个步骤 Expectation step: 对每个对象,计算它们属于各个分布的概率,即 prob(xi|i)

Maximation step: 根据上步得出的概率,计算能够最大化似然 函数的新的参数估计

直到参数不再改变

Page 115: 数据挖掘与商务智能 Data Mining & Business Intelligence

115

EM:使用最大似然估计混合模型参数 期望步对应于将每个对象以某一概率指派到每个簇

(分布)中 最大化步对应选取分布的所有参数以及权值参数来最

大化似然(参数一般由最大似然估计推导出来的公式进行计算) 对于单个正态分布参数最大似然估计就是分布中对象的均值

混合分布和 EM算法背景下,均值计算需要修改以说明每个对象以一定的概率属于某分布

Page 116: 数据挖掘与商务智能 Data Mining & Business Intelligence

116

示例

Page 117: 数据挖掘与商务智能 Data Mining & Business Intelligence

117

示例

Page 118: 数据挖掘与商务智能 Data Mining & Business Intelligence

118

示例

Page 119: 数据挖掘与商务智能 Data Mining & Business Intelligence

119

示例

Page 120: 数据挖掘与商务智能 Data Mining & Business Intelligence

120

示例

Page 121: 数据挖掘与商务智能 Data Mining & Business Intelligence

121

示例

Page 122: 数据挖掘与商务智能 Data Mining & Business Intelligence

122

算法评价 比 K 均值更加具有普遍性 聚类由几个参数就能表示(用模型刻画簇) 当簇只包含少量数据时,不能很好的处理 在估计簇的个数,或者说是选择适当模型方面存在问题

Page 123: 数据挖掘与商务智能 Data Mining & Business Intelligence

123

概念聚类 概念聚类(一种机器学习聚类方法)

概念具有可解释性给定一组未标记对象,产生对象的分类模式与传统聚类不同的是不仅确定对象分组外,而且找出每组对象的特征描述

概念聚类是一个两步的过程:首先聚类然后给出特征描述

聚类质量不再只是个体对象的函数,而且加入了如导出概念描述的一般性和简单性等因素

Page 124: 数据挖掘与商务智能 Data Mining & Business Intelligence

124

COBWEB

COBWEB (Fisher’87) 一种流行的简单的增量的概念聚类方法输入对象用分类属性 -值对描述以分类树的形式创建层次聚类树中的每个节点代表一个概念,并且包含这个概念的概率描述

Page 125: 数据挖掘与商务智能 Data Mining & Business Intelligence

125

分类树

Page 126: 数据挖掘与商务智能 Data Mining & Business Intelligence

126

决策树

age?

overcast

student? credit rating?

<=30 >40

no yes no

yes

31..40

yes

fairexcellentyesno

Page 127: 数据挖掘与商务智能 Data Mining & Business Intelligence

127

区别 分类树:

分类树标记节点。每个节点对应一个概念,包含该概念的概率描述,汇总分类在该节点下的对象

概率描述包含概念的概率和一个条件概率p(Ai=vij|ck) ,其中 Ai=vij是一个属性 ---

值对(第 i个属性取它第 j个值的概率) 决策树

决策树标记每个边,节点采用逻辑描述。

Page 128: 数据挖掘与商务智能 Data Mining & Business Intelligence

128

分类效用( category utility ) 采用启发式分类度量——分类效用来指导树的创建

属性值的概率: p(Ai=vij) 表示此属性某个值出现的概率,越大,表示这个值越能影响预测

类内相似性: p(Ai=vij|ck) 该值越大,表示共享该属性 ---值对的类成员的比例越大,就更加可预测该对是属于类成员的

类间相异性: p(ck|Ai=vij) 该值越大,共享该属性 ---值对的其他类类成员就越少,就更加可预测该对是属于类成员的

Page 129: 数据挖掘与商务智能 Data Mining & Business Intelligence

129

分类效用( category utility )

能够正确猜测属性值的期望数目

未知划分时正确猜测的期望数目

Page 130: 数据挖掘与商务智能 Data Mining & Business Intelligence

130

COBWEB

将对象增量地加入到分类树中。 COBWEB 算法沿着一条适当的路径向下,修改计数,寻找可以分类该对象的最好节点。

也计算为给定对象创建一个新的节点所产生的分类效用。 它与基于现存节点的计算相比较。根据产生最高分类效用的划分,对象被置于一个已存在的类,或者为它创建一个新类。

可以自动修正划分中类的数目。 它不需要用户提供这样的输入参数。

Page 131: 数据挖掘与商务智能 Data Mining & Business Intelligence

131

COBWEB

在一个对象进入时,有四种选择将对象置于最好的分类中加入一个新分类,包含此对象将两个现有分类合并,并把对象加入将现有分类分裂,并加入对象

以上前两种操作对于输入顺序比较敏感,而后两个则是针对这个问题附加的两个操作

选择最大化 category utility 的操作执行

Page 132: 数据挖掘与商务智能 Data Mining & Business Intelligence

132

算法评价 基于概率模型,灵活性较强 处理多属性数据 自动修正划分中类的数目 不学要用户提供这样的输入参数 假定属性的概率分布相互独立,由于属性之间常常存在相关,实际上往往不成立

复杂度不仅依赖属性数目,更依赖于每个属性值的数目

不适用于大型数据

Page 133: 数据挖掘与商务智能 Data Mining & Business Intelligence

133

数据挖掘与商务智能Data Mining & Business Intelligence

西安电子科技大学 软件学院主讲人:黄健斌

聚类技术的商务应用案例

Page 134: 数据挖掘与商务智能 Data Mining & Business Intelligence

134

聚类分析的基本原理 聚类分析又称群分析,它是研究(样品或指标)分类问题的一种多元统计方法,所谓类,通俗地说,就是指相似元素的集合。

( 1 )样品聚类 : 样品聚类在统计学中又称为 Q 型聚类。用 SPSS 的术语来说就是对事件 (Cases)进行聚类,或是说对观测量进行聚类。它是根据被观测的 对象的各种特征,即反映被观测对象的特征的各变量值进行分类。

Page 135: 数据挖掘与商务智能 Data Mining & Business Intelligence

135

聚类分析的基本原理 ( 2 )变量聚类 :

变量聚类在统计学又称为 R 型聚类。反映同一事物特点的变量有很多,我们往往根据所研究的问题选择部分变量对事物的某一方面进行 研究。由于人类对客观事物的认识是有限的,往往难以找出彼此独立的有代表性的变量,而影响对问题的进一步认识和研究。例如在回归 分析中,由于自变量的共线性导致偏回归系数不能真正反映自变量对 因变量的影响等。因此往往先要进行变量聚类,找出彼此独立且有代 表性的自变量,而又不丢失大部分信息。

值得提出的是将聚类分析和其它方法联合起来使用,如判别分析、主成分分析、回归分析等往往效果更好。

Page 136: 数据挖掘与商务智能 Data Mining & Business Intelligence

136

常用聚类算法 K 均值( K-means) 算法 两步聚类 层次聚类 其他

Page 137: 数据挖掘与商务智能 Data Mining & Business Intelligence

137

聚类的典型应用 模式识别 空间数据分析

在 GIS 中,通过聚类发现特征空间来建立主题索引; 在空间数据挖掘中,检测并解释空间中的簇;

图象处理 经济学 (尤其是市场研究方面) WWW 文档分类;分析 WEB 日志数据来发现相似的访问模式 Cluster analysis of data

Customer segmentation

Fraud detection

Missing value prediction

Page 138: 数据挖掘与商务智能 Data Mining & Business Intelligence

138

快速聚类法的 SPSS 操作详解 K-均值聚类法又叫快速聚类法,可以用于大量数据进行

聚类分析的情形。它是一种非分层的聚类方法。这种方法占用内存少、计算量、 处理速度快,特别适合大样本的聚类分析。它的基本操作步骤如下: 1 、指定聚类数目 k ,应由用户指定需要聚成多少类,最终也只

能输出关于它的唯一解。这点不同于层次聚类。 2 、确定 k 个初始类的中心。两种方式:一种是用户指定方式,二是根据数据本身结构的中心初步确定每个类别的原始中心点。

3 、根据距离最近原则进行分类。逐一计算每一记录到各个中心点的距离,把各个记录按照距离最近的原则归入各个类别,并计算新形成类 别的中心点

4 、按照新的中心位置,重新计算每一记录距离新的类别中心点的距离,并重新进行归类。

5 、重复步骤 4 ,直到达到一定的收敛标准。 这种方法也常称为逐步聚类分析,即先把被聚对象进行初

始分类, 然后逐步调整,得到最终分类。

Page 139: 数据挖掘与商务智能 Data Mining & Business Intelligence

139

SPSS 在聚类分析中的应用 Step01 :选定对话框

打开 SPSS 软件,选择菜单栏中的【 File( 文件 ) →】 【 Open( 打开 ) →】 【 Data( 数据 )】命令,弹出【 Open Data( 打开数据 )】对话框。

Step02 :选定打开文件类型在【 Files of type( 文件类型 )】下拉列表框中指定打开 Excel 文件类型。接着,选择 iris.xls文件。最后单击【 Open( 打开 )】按钮。

Page 140: 数据挖掘与商务智能 Data Mining & Business Intelligence

140

SPSS 在聚类分析中的应用

Step03 :设置变量名称 弹出的对话框中的【 Read variable names from the fi rst row of

date( 从第一行数据读取变量名 )】复选框表示 SPSS将 Excel工作表的第一行设定为 SPSS 的变量名称,【 Range( 范围 )】文本框表示选定 Excel 文件导入 SPSS 的数据范围。这里,保持系统默认选项。

Page 141: 数据挖掘与商务智能 Data Mining & Business Intelligence

141

SPSS 在聚类分析中的应用

Step04 :完成操作 最后,单击【 OK( 确定 )】按钮,数据即可导入成功。此时, SPSS 的数据浏览窗口中会出现相关的数据内容。

Page 142: 数据挖掘与商务智能 Data Mining & Business Intelligence

142

Step05 :打开对话框 选择菜单栏中的【 Analyze (分析) →】 【 Classify (分

类) → 】 【 K-Means Cluster( K 均值聚类)】命令,弹出【 K-Means Cluster Analysis( K 均值聚类分析)】对话框,这是快速聚类分析的主操作窗口。

SPSS 在聚类分析中的应用

Page 143: 数据挖掘与商务智能 Data Mining & Business Intelligence

143

SPSS 在聚类分析中的应用 Step06 :选择聚类分析变量

在【 K-Means Cluster Analysis ( K 均值聚类分析)】对话框左侧的候选变量列表框中选择进行聚类分析的变量,将其添加至【 Variables (变量)】列表框中。同时可以选择一个标识变量移入【 Label Cases by (个案标记依据)】列表框中。

Step07 :确定分类个数在【 Number of Clusters (聚类数)】列表框中,可以输入确定的聚类分析数目,用户可以根据需要自行修改调整。系统默认的聚类数为 2 。

Page 144: 数据挖掘与商务智能 Data Mining & Business Intelligence

144

SPSS 在聚类分析中的应用

Step08 :选择聚类方法在【 Method (方法)】下拉列表框中可以选择聚类方法。系统默认值选择【 Iterative and classify (迭代与分类)】项。

Iterate and classify :选择初始类中心,在迭代过程中不断更新聚类中心。把观测量分派到与之最近的以类中心为标志的类中去。

Classify only :只使用初始类中心对观测量进行分类,聚类中心始终不变。

Page 145: 数据挖掘与商务智能 Data Mining & Business Intelligence

145

SPSS 在聚类分析中的应用

Step09 :聚类中心的输入与输出 在主对话框中,【 Cluster Centers (聚类中心)】选项组表示输入和输出聚类中心。用户可以指定外部文件或数据集作为初始聚类中心点,也可以将聚类分析的聚类中心结果输出到指定文件或数据集 中。

Read initial :要求使用指定数据文件中的观测量或建立数据集作为初始类中心。

Write final as File :要求把聚类结果中的各类中心数据保存到指定的文件或数据集中。

Page 146: 数据挖掘与商务智能 Data Mining & Business Intelligence

146

SPSS 在聚类分析中的应用 Step10 :输出聚类结果 在 主 对 话 框 中 单 击【 Save (保存)】按钮,弹出【 Save New Variables (保存新变量)】对话框,它用于选择保存新变量。

Page 147: 数据挖掘与商务智能 Data Mining & Business Intelligence

147

SPSS 在聚类分析中的应用

聚类结果

Page 148: 数据挖掘与商务智能 Data Mining & Business Intelligence

148

SPSS 在聚类分析中的应用

聚类结果

Page 149: 数据挖掘与商务智能 Data Mining & Business Intelligence

149