116
22/6/8 高高高高高高 高高高 1 知知知知 知知知知 ) 知知知 知知知 高高高高高高高高高高高高 知知知知 Clustering Analysis

知识发现(数据挖掘 ) 第五章

  • Upload
    ossie

  • View
    151

  • Download
    0

Embed Size (px)

DESCRIPTION

知识发现(数据挖掘 ) 第五章. 史忠植 中国科学院计算技术研究所. 聚类分析 Clustering Analysis. 内容提要. 一、概述 二、相似性度量 三、 划分方法 四、 层次聚类方法 五、 基于密度的聚类 六、 基于网格方法 七、 基于模型方法 八、 蚁群聚类方法 十、粒度计算 十一、实例分析与计算机实现. 概 述. 无监督学习不要求对数据进行事先标定,在数据的分类结构未知时,按照事物的某些属性,把事物聚集成类,使类间的相似性尽量小,类内相似性尽量大。利用无监督学习期望能够发现数据集中自身隐藏的内蕴结构信息。 - PowerPoint PPT Presentation

Citation preview

Page 1: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 1

知识发现(数据挖掘 )

第五章

史忠植 中国科学院计算技术研究所

聚类分析 Clustering Analysis

Page 2: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 2

内容提要一、概述二、相似性度量三、划分方法四、层次聚类方法五、基于密度的聚类六、基于网格方法七、基于模型方法八、蚁群聚类方法十、粒度计算十一、实例分析与计算机实现

Page 3: 知识发现(数据挖掘 ) 第五章

概 述 无监督学习不要求对数据进行事先标定,在数据的分类结构未知时,按照

事物的某些属性,把事物聚集成类,使类间的相似性尽量小,类内相似性尽量大。利用无监督学习期望能够发现数据集中自身隐藏的内蕴结构信息。

无监督学习也称聚类分析。 无监督学习源于许多研究领域,受到很多应用需求的推动。例如,

在复杂网络分析中,人们希望发现具有内在紧密联系的社团 在图像分析中,人们希望将图像分割成具有类似性质的区域 在文本处理中,人们希望发现具有相同主题的文本子集 在有损编码技术中,人们希望找到信息损失最小的编码 在顾客行为分析中,人们希望发现消费方式类似的顾客群,以便制订有针

对性的客户管理方式和提高营销效率。这些情况都可以在适当的条件下归为聚类分析。

Page 4: 知识发现(数据挖掘 ) 第五章

概 述 “ 物以类聚,人以群分”。 一般的聚类算法是先选择若干个模式点作为聚类的中心。

每一中心代表一个类别,按照某种相似性度量方法(如最小距离方法)将各模式归于各聚类中心所代表的类别,形成初始分类。然后由聚类准则判断初始分类是否合理,如果不合理就修改分类,如此反复迭代运算,直到合理为止。与监督学习不同,无监督法是边学习边分类,通过学习找到相同的类别,然后将该类与其它类区分开。

Page 5: 知识发现(数据挖掘 ) 第五章

聚类分析 聚类分析 (cluster analysis) 是将样品个体或指标变量按其

具有的特性进行分类的一种统计分析方法。o 对样品进行聚类,称为样品 (Q型 ) 聚类分析。其目的是

将分类不明确的样品按性质相似程度分成若干组,从而发现同类样品的共性和不同类样品间的差异。

o 对指标进行聚类,称为指标( R 型)聚类分析。其目的是将分类不明确的指标按性质相似程度分成若干组,从而在尽量不损失信息的条件下,用一组少量的指标来代替原来的多个指标(主成分分析?因子分析?)

Page 6: 知识发现(数据挖掘 ) 第五章

典型的数据聚类基本步骤如下: (1) 对数据集进行表示和预处理,包括数据清洗、特

征选择或特征抽取; (2) 给定数据之间的相似度或相异度及其定义方法; (3) 根据相似度,对数据进行划分,即聚类; (4) 对聚类结果进行评估。

聚类分析

Page 7: 知识发现(数据挖掘 ) 第五章

相似性度量

如何刻画样品 / (指标)变量间的亲疏关系或相似程度?

样品相似性的度量

变量相似性的度量

Page 8: 知识发现(数据挖掘 ) 第五章

相似系数度量 相似系数体现对象间的相似程度,反映样本之间相对于某些属性的

相似程度。确定相似系数有很多方法,这里列出一些常用的方法,可以根据实际问题选择使用。

设 为被分类对象的全体,以 表示每一对象 的特征数据。令 xi, xjO, rij是 xi和 xj 之间的相似系数,满足以下条件:

rij=1 xi= xj

xi, xj, rij [0,1]

xi, xj, rij= rji

Page 9: 知识发现(数据挖掘 ) 第五章

相似系数度量1. 数量积法

.

1

; 1

1

m

kjkik

ij jixxM

ji

r

)(max1

m

kjkik

jixxM

其中, M 为正数,满足

Page 10: 知识发现(数据挖掘 ) 第五章

相似系数度量2 、夹角余弦两变量 Xi与 Xj看作 p维空间的两个向量,这两个向量间的夹角余弦可用下式进行计算

显然,∣ cos ij ∣ 1 。

1

2 2

1 1

cos

( )( )

p

ik jkk

ij p p

ik jkk k

X X

X X

Page 11: 知识发现(数据挖掘 ) 第五章

相似系数度量3.相关系数相关系数经常用来度量变量间的相似性。变量 Xi与 Xj 的相关系数定义为

显然也有,∣ rij ∣ 1 。

1

2 2

1 1

( )( )

( ) ( )

p

ik i jk jk

ij p p

ik i jk jk k

X X X Xr

X X X X

Page 12: 知识发现(数据挖掘 ) 第五章

相似系数度量4.最大最小法

)(

)(

1

1

m

kjkik

m

kjkik

ij

xx

xxr

5.算术平均最小法

)(

)(2

1

1

m

kjkik

m

kjkik

ij

xx

xxr

Page 13: 知识发现(数据挖掘 ) 第五章

相似系数度量6.几何平均最小法

7.绝对值指数法

)(

1

1

m

kjkik

m

kjkik

ij

xx

xxr

1

||

m

kjkik xx

ij er

Page 14: 知识发现(数据挖掘 ) 第五章

相似系数度量8.指数相似系数法

9.绝对值倒数法

1

1

)( 22

m

k

sxx

ijk

jkik

em

r

||

1

1

ji

xx

M

ji

rm

kjkik

ij

Page 15: 知识发现(数据挖掘 ) 第五章

相似系数度量10.绝对值减数法

12. 贴近度法

||11

m

kjkikij xxcr

11.非参数法

13. 专家打分法

Page 16: 知识发现(数据挖掘 ) 第五章

划分方法

划分聚类方法 (partitioning method, PAM) 是给定一个有 n个对象或元组的的数据库构建 k个划分的方法。每个划分为一个类(或簇),并且kn。每个类至少包含一个对象,每个对象必须属于而且只能属于一个类 ( 模糊划分计算除外 ) 。所形成的聚类将使得一个客观划分标准最优化,从而使得一个聚类中对象是“相似”的,而不同聚类中的对象是“不相似”的

Page 17: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 K均值法是麦奎因( MacQueen, 1967 )提出的,这种

算法的基本思想是将每一个样品分配给最近中心(均值)的类中,具体的算法至少包括以下三个步骤:

(1)从 n 个数据对象随机选取 k 个对象作为初始簇中心。 (2) 计算每个簇的平均值,并用该平均值代表相应的簇。 (3) 计算每个对象与这些中心对象的距离,并根据最小距

离重新对相应对象进行划分。 (4)转步骤 (2) ,重新计算每个 ( 自变化 )簇的平均值。这

个过程不断重复直到某个准则函数不再明显变化或者聚类的对象不再变化为止。

Page 18: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 【例】假定我们对 A、 B、 C、 D四个样品分别测量两个变量和得到结果见表。

试将以上的样品聚成两类。

样品 变量

1X 2X

A 5 3 B -1 1 C 1 -2 D -3 -2

样品测量结果

Page 19: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 第一步:按要求取 K=2 ,为了实施均值法聚类,我们将这些样品随意分成两类,比如( A、B )和( C、D ),然后计算这两个聚类的中心坐标,见下表所示。

中心坐标是通过原始数据计算得来的,比如( A 、 B )类的, 等等。

中心坐标 聚类

1X 2X

(A、B) 2 2 (C、D) -1 -2

1

5 ( 1)2

2X

Page 20: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 第二步:计算某个样品到各类中心的欧氏平方距离,然后将该样品分配给最近的一类。对于样品有变动的类,重新计算它们的中心坐标,为下一步聚类做准备。先计算 A 到两个类的平方距离:

由于 A 到( A、 B )的距离小于到( C、 D )的距离,因此 A 不用重新分配。计算 B 到两类的平方距离:

10)23()25())(,( 222 ABAd

61)23()15())(,( 222 CDAd

10)21()21())(,( 222 ABBd

9)21()11())(,( 222 CDBd

Page 21: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 由于 B 到( A、 B )的距离大于到( C、 D )的距离,因此 B 要分配给( C、 D )类,得到新的聚类是( A )和( B、 C、 D )。更新中心坐标如下表所示。

中心坐标 聚类

1X 2X

(A) 5 3 (B、C、D) -1 -1

更新后的中心坐标

Page 22: 知识发现(数据挖掘 ) 第五章

K 均值聚类分析 第三步:再次检查每个样品,以决定是否需要重新分类。

计算各样品到各中心的距离平方,结果见下表。

到现在为止,每个样品都已经分配给距离中心最近的类,因此聚类过程到此结束。最终得到 K=2 的聚类结果是 A独自成一类, B、 C、 D 聚成一类。

样品到中心的距离平方 聚类 A B C D

(A) 0 40 41 89 (B、C、D) 52 4 5 5

Page 23: 知识发现(数据挖掘 ) 第五章

距离选择的原则 一般说来,同一批数据采用不同的距离公式,会得到不同的分类结果。产生不同结果的原因,主要是由于不同的距离公式的侧重点和实际意义都有不同。因此我们在进行聚类分析时,应注意距离公式的选择。通常选择距离公式应注意遵循以下的基本原则: ( 1 )要考虑所选择的距离公式在实际应用中有明确的意义。如欧氏

距离就有非常明确的空间距离概念。马氏距离有消除量纲影响的作用。 ( 2 )要综合考虑对样本观测数据的预处理和将要采用的聚类分析方

法。如在进行聚类分析之前已经对变量作了标准化处理,则通常就可采用欧氏距离。

( 3 )要考虑研究对象的特点和计算量的大小。样品间距离公式的选择是一个比较复杂且带有一定主观性的问题,我们应根据研究对象的特点不同做出具体分折。实际中,聚类分析前不妨试探性地多选择几个距离公式分别进行聚类,然后对聚类分析的结果进行对比分析,以确定最合适的距离测度方法。

Page 24: 知识发现(数据挖掘 ) 第五章

层次聚类方法( hierarchical method )

定义:对给定的数据进行层次的分解: 分类: 凝聚方法( agglomerative )(自底向上)

思想:一开始将每个对象作为单独的一组,然后根据同类相近,异类相异的原则,合并对象,直到所有的组合并成一个,或达到一个终止条件为止。

分裂方法( divisive )(自顶向下)思想:一开始将所有的对象置于一类,在迭代的每一步中,一个类不断地分为更小的类,直到每个对象在单独的一个类中,或达到一个终止条件。

Page 25: 知识发现(数据挖掘 ) 第五章

层次聚类方法( hierarchical method )

特点: 类的个数不需事先定好 需确定距离矩阵 运算量要大,适用于处理小样本数据

Page 26: 知识发现(数据挖掘 ) 第五章

层次聚类方法广泛采用的类间距离: 最小距离法( single linkage method )

极小异常值在实际中不多出现,避免极大值的影响

Page 27: 知识发现(数据挖掘 ) 第五章

最短距离法1. 最短距离法定义类与之间的距离为两类最近样品的距离,即为

设类与合并成一个新类记为,则任一类与的距离为

ijGXGX

ij dDjjii

,

min

,min

i k j rkr ij

X G X GD d

, ,min{ min , min }

i k j p i k j qij ij

X G X G x G x Gd d

min{ , }kp kqD D

Page 28: 知识发现(数据挖掘 ) 第五章

最短距离法 最短距离法进行聚类分析的步骤如下:( 1 )定义样品之间距离,计算样品的两两距离,得一距离

阵记为 D ( 0 ) ,开始每个样品自成一类,显然这时 Dij =

dij 。( 2 )找出距离最小元素,设为 Dpq ,则将 Gp和Gq 合并成一个 新类,记为 Gr ,即 Gr = {Gp,Gq}。( 3 )按( 5.12 )计算新类与其它类的距离。

( 4 )重复( 2 )、( 3 )两步,直到所有元素。并成一类为 止。如果某一步距离最小的元素不止一个,则对应这些 最小元素的类可以同时合并。

Page 29: 知识发现(数据挖掘 ) 第五章

最短距离法 【例】设有六个样品,每个只测量一个指标,分别是

1, 2, 5, 7, 9, 10 ,试用最短距离法将它们分类。( 1 )样品采用绝对值距离,计算样品间的距离阵 D ( 0 ) ,见表

G1 G2 G3 G4 G5 G6

G1 0

G2 1 0

G3 4 3 0

G4 6 5 2 0

G5 8 7 4 2 0

G6 9 8 5 3 1 0

Page 30: 知识发现(数据挖掘 ) 第五章

最短距离法( 2) D ( 0 )中最小的元素是 D12= D56= 1 ,于是将 G1和 G2 合并成 G7, G5和 G6 合并成 G8 ,并利用式计算新类与其它类的距离 D ( 1 ) ,见下表:

G7 G3 G4 G8

G7 0

G3 3 0

G4 5 2 0

G8 7 4 2 0

Page 31: 知识发现(数据挖掘 ) 第五章

最短距离法

( 3 )在 D ( 1 )中最小值是 D34= D48= 2 ,由于 G4与 G3 合并,又与 G8 合并,因此 G3、 G4、 G8 合并成一个新类 G9 ,其与其它类的距离 D ( 2 ) ,见下表:

G7 G9

G7 0

G9 3 0

Page 32: 知识发现(数据挖掘 ) 第五章

最短距离法

( 4 )最后将 G7和 G9 合并成 G10 ,这时所有的六个样品聚为一类,其过程终止。上述聚类的可视化过程见下图所示,横坐标的刻度表示并类的距离。这里我们应该注意,聚类的个数要以实际情况所定,其详细内容将在后面讨论。

图 最短距离聚类法的过程

Page 33: 知识发现(数据挖掘 ) 第五章

最大距离法 最大距离法( complete linkage method )

可能被极大值扭曲,删除这些值之后再聚类

Page 34: 知识发现(数据挖掘 ) 第五章

最大距离法2. 最长距离法 定义类 iG 与 jG 之间的距离为两类最远样品的距离,即

,max

i p j qpq ij

X G X GD d

最长距离法与最短距离法的并类步骤完全一样,也是将各样品先自成一类,然后将距离最小的两类合并。将类

pG 与 qG 合并为 rG ,则任一类 kG 与 rG 的类间距离公

式为

Page 35: 知识发现(数据挖掘 ) 第五章

最大距离法

再找距离最小两类并类,直至所有的样品全归为一类为止。可以看出最长距离法与最短距离法只有两点不同: 一是类与类之间的距离定义不同; 另一是计算新类与其它类的距离所用的公式不同。

,max

i k j rkr ij

X G X GD d

, ,max{ max , max }

i k j pj i k j qij ij

X G X G x G x Gd d

max{ , }kp kqD D

Page 36: 知识发现(数据挖掘 ) 第五章

类平均距离法 类平均距离法( average linkage method )类

间所有样本点的平均距离 该法利用了所有样本的信息,被认为是较好的系统

聚类法

Page 37: 知识发现(数据挖掘 ) 第五章

中间距离法3. 中间距离法最短、最长距离定义表示都是极端情况,我们定义类间距离可以既不采用两类之间最近的距离也不采用两类之间最远的距离,而是采用介于两者之间的距离,称为中间距离法。中间距离将类 Gp与 Gq 类合并为类 Gr ,则任意的类 Gk和 Gr 的距离公式为

(1/ 4 0) 设 Dkq> Dkp ,如果采用最短距离法,则 Dkr = Dkp ,如果采用最长距离法,则 Dkr = Dkq 。如图 5.2 所示, (5.15) 式就是取它们(最长距离与最短距离)的中间一点作为计算 Dkr 的根据。

2222

2

1

2

1pqkqkpkr DDDD

Page 38: 知识发现(数据挖掘 ) 第五章

中间距离法 特别当 = 1/ 4 ,它表示取中间点算距离,公式为

222

4

1

2

1

2

1pqkpkpkr DDDD

图 中间距离法

Page 39: 知识发现(数据挖掘 ) 第五章

重心法 重心法( centroid hierarchical method )

类的重心之间的距离 对异常值不敏感,结果更稳定

Page 40: 知识发现(数据挖掘 ) 第五章

重心法4. 重心法 重心法定义类间距离为两类重心(各类样品的均值)的距离。重心指标对类有很好的代表性,但利用各样本的信息不充分。 设

pG 与 qG 分别有样品 pn , qn 个,其重心分别为pX 和 qX ,

则pG 与 qG 之间的距离定义为 pX 和 qX 之间的距离,这里

我们用欧氏距离来表示,即

2 ( ) ( )pq p q p qD X X X X

Page 41: 知识发现(数据挖掘 ) 第五章

重心法

设将pG 和 qG 合并为 rG ,则 rG 内样品个数为 qpr nnn ,

它的重心是 )(1

qqppr

r XnXnn

X ,类 kG 的重心是 kX ,

那么依据(5.17)式它与新类 rG 的距离为

2 2 2 22

p q p qkr kp kq pq

r r r

n n n nD D D D

n n n

这里我们应该注意,实际上(5.18)式表示的类 kG 与新类 rG的距离为:

Page 42: 知识发现(数据挖掘 ) 第五章

重心法2 ( ) ( )kr k r k rD X X X X

1 1[ ( )] [ ( )]k p p q q k p p q q

r r

X n X n X X n X n Xn n

2 22

2 2

1( 2 )

p qk k k p k q

r r

p p p p q p q q q qr

n nX X X X X X

n n

n X X n n X X n X Xn

Page 43: 知识发现(数据挖掘 ) 第五章

重心法 利用

1( )k k p k k q k k

r

X X n X X n X Xn

代入上式,有

2 ( 2 )

( 2 )

( 2 )

pkr k k k p p p

r

qk k k q q q

r

p qp p p q q q

r

nD X X X X X X

n

nX X X X X X

n

n nX X X X X X

n

2 2 22

p q p qkp kq pq

r r r

n n n nD D D

n n n

Page 44: 知识发现(数据挖掘 ) 第五章

重心法 【例】针对例 5.1 的数据,试用重心法将它们聚类。( 1 )样品采用欧氏距离,计算样品间的平方距离阵 D2

( 0 ),见下表所示。

G1 G2 G3 G4 G5 G6

G1 0

G2 1 0

G3 16 9 0

G4 36 25 4 0

G5 64 49 16 4 0

G6 81 64 25 9 1 0

Page 45: 知识发现(数据挖掘 ) 第五章

重心法( 2) D2

( 0 )中最小的元素是 D212= D2

56= 1 ,于是将 G1和G2 合并成 G7,G5和G6 合并成 G8 ,并计算新类与其它类的距离得到距离阵 D2

( 1 ) ,见表

其中,其它结果类似可以求得

G1 G2 G3 G4

G1 0

G2 12.25 0

G3 30.25 4 0

G4 64 20.25 6.25 0

2 2 2 237 31 32 12

1 1 1 1

2 2 2 21 1 1 1

16 9 1 12.252 2 2 2

D D D D

Page 46: 知识发现(数据挖掘 ) 第五章

重心法( 3 )在 D2

( 1 )中最小值是 D234= 4 ,那么 G3与 G4 合并一个新类

G9 ,其与与其它类的距离 D2( 2 ) ,见表:

G7 G9 G8

G7 0

G9 20.25 0

G8 64 12.5 0

Page 47: 知识发现(数据挖掘 ) 第五章

重心法( 4 )在中最小值是= 12.5 ,那么与合并一个新类,其与与其它类的距离,见表:

G7 G10

G7 0

G10 39.0625 0

Page 48: 知识发现(数据挖掘 ) 第五章

重心法( 5 )最后将 G7和 G10 合并成 G11 ,这时所有的六个样品聚为一类,

其过程终止。上述重心法聚类的可视化过程见下图所示,横坐标的刻度表示并类的距离。

图 重心聚类法的过程

Page 49: 知识发现(数据挖掘 ) 第五章

离差平方和法 离差平方和法( ward method )

D2=WM-WK-WL

对异常值很敏感;对较大的类倾向产生较大的距离,从而不易合并,较符合实际需要。

LKLKM

kLKL XXXX

n

nnD 2

Cluster K

Cluster LCluster M

Page 50: 知识发现(数据挖掘 ) 第五章

类平均法5.类平均法 类平均法定义类间距离平方为这两类元素两两之间距离平方的

平均数,即为 2 21

i p j j

pq ijX G X Gp q

D dn n

设聚类的某一步将 pG 和 qG 合并为 rG ,则任一类类 kG 与 rG 的

距离为: 2 21

i k j r

kr ijX G X Gk r

D dn n

2 21( )

i k j p i k j q

ij ijX G X G X G X Gk r

d dn n

2 2p qkp kq

r r

n nD D

n n

类平均法的聚类过程与上述方法完全类似,这里就不在详述了。

Page 51: 知识发现(数据挖掘 ) 第五章

类平均法6. 可变类平均法由于类平均法中没有反映出 Gp和 Gq 之间的距离 Dpq 的影响,因此将类平均法进一步推广,如果将 Gp和 Gq 合并为新类Gr ,类 Gk 与新并类 Gr 的距离公式为:

其中是可变的且 <1 ,称这种系统聚类法为可变类平均法。

2 2 2 2(1 )( )p qkr kp kq pq

r r

n nD D D D

n n

Page 52: 知识发现(数据挖掘 ) 第五章

可变法7.可变法 针对于中间法而言,如果将中间法的前两项的系数也依赖于 ,那么,如果将 pG 和 qG 合并为新类 rG ,类 kG 与新

并类 rG 的距离公式为:

2 2 2 21( )

2kr kp kq pqD D D D

其中 是可变的,且 1 。显然在可变类平均法中取

1

2p q

r r

n n

n n ,即为可变法。可变类平均法与可变法的分类

效果与 的选择关系很大,在实际应用中 常取负值。

Page 53: 知识发现(数据挖掘 ) 第五章

离差平方和法8. 离差平方和法该方法是 Ward 提出来的,所以又称为 Ward 法。该方法的基本思想来自于方差分析,如果分类正确,同类样品的离差平方和应当较小,类与类的离差平方和较大。具体做法是先将 n 个样品各自成一类,然后每次缩小一类,每缩小一类,离差平方和就要增大,选择使方差增加最小的两类合并,直到所有的样品归为一类为止。设将 n 个样品分成 k类 G1, G2,…, Gk ,用 Xit 表示 Gt

中的第 I 个样品, nt 表示 Gt 中样品的个数, 是 Gt 的重心,则 Gt 的样品离差平方和为

1

( ) ( )tn

t it t it tt

S X X X X

tX

Page 54: 知识发现(数据挖掘 ) 第五章

离差平方和法 如果 pG 和 qG 合并为新类 rG 类内离差平方和分别为

1

( ) ( )pn

p ip p ip pi

S X X X X

1

( ) ( )qn

q iq q iq qi

S X X X X

1

( ) ( )rn

r ir r ir ri

S X X X X

Page 55: 知识发现(数据挖掘 ) 第五章

离差平方和法

这种系统聚类法称为离差平方和法或 Ward 方法。下面论证离差平方和法的距离递推式。

它们反映了各自类内样品的分散程度,如果 pG 和 qG 这两类

相距较近,则合并后所增加的离散平方和 r p qS S S 应较

小;否则,应较大。于是定义 pG 和 qG 之间的平方距离为: 2pq r p qD S S S

其中 r p qG G G ,可以证明类间距离的递推公式为

2 2 2 2k p k q kkr kp kq pq

r k r k r k

n n n n nD D D D

n n n n n n

Page 56: 知识发现(数据挖掘 ) 第五章

离差平方和法 由于

1

( ) ( )rn

r ir r ir ri

S X X X X

1

( ) ( )rn

ir p p r ir p p ri

X X X X X X X X

1 1

1 1

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

r r

r r

n n

ir p ir p ir p p ri i

n n

p r ir p p r p ri i

X X X X X X X X

X X X X X X X X

1 1

1

( ) ( ) ( ) ( )

2( ) ( ) ( ) ( )

p q

r

n n

ip p ip p iq p iq pi i

n

p r ir p r p r p ri

X X X X X X X X

X X X X n X X X X

Page 57: 知识发现(数据挖掘 ) 第五章

离差平方和法1

( ) ( )

( ) ( )

qn

p iq q q p iq q q pi

r p r p r

S X X X X X X X X

n X X X X

1

( ) ( ) ( ) ( )

( ) ( )

qn

p iq q iq q q p q p qi

p p q q p p q qr p p

r r

S X X X X n X X X X

n X n X n X n Xn X X

n n

2

( ) ( ) ( ) ( )pp q q p q p q p q p q

r

nS S n X X X X X X X X

n

( ) ( ) ( ) ( )q pp q q p q p q p q p q

r

n nS S n X X X X X X X X

n

Page 58: 知识发现(数据挖掘 ) 第五章

离差平方和法 从而,由式知

2 ( ) ( )q ppq p q p q

r

n nD X X X X

n

那么,可以得到离差平方和法的平方距离的递推公式为:

2 ( ) ( )r kkr r k r k

r k

n nD X X X X

n n

2

( ) ( )

( ) ( ) ( ) ( )

pr kk p k p

r k r

q p qk q k q p q p q

r r

nn nX X X X

n n n

n n nX X X X X X X X

n n

Page 59: 知识发现(数据挖掘 ) 第五章

离差平方和法( ) ( )

( ) ( )

( ) ( )

k p k pk p k p

r k p k

k q k qk q k q

r k q k

p qkp q p q

r k r

n n n nX X X X

n n n n

n n n nX X X X

n n n n

n nnX X X X

n n n

2 2 2k p k q kkp kq pq

r k r k r k

n n n n nD D D

n n n n n n

Page 60: 知识发现(数据挖掘 ) 第五章

类间距离的统一性 上述八种系统聚类法的步骤完全一样,只是距离的递推公

式不同。兰斯( Lance )和威廉姆斯( Williams )于1967年给出了一个统一的公式。

其中 ap、 aq 、 、 是参数,不同的系统聚类法,它们取不同的数,详见表 5.8 。

这里应该注意,不同的聚类方法结果不一定完全相同,一般只是大致相似。如果有很大的差异,则应该仔细考查,找到问题所在;另外,可将聚类结果与实际问题对照,看哪一个结果更符合经验。

2 2 2 2 2 2kr p kp q kq pq kp kqD D D D D D

Page 61: 知识发现(数据挖掘 ) 第五章

系统聚类法参数表方 法 p

q

最短距离法 1/2 1/2 0 -1/2

最长距离法 1/2 1/2 0 1/2

中间距离法 1/2 1/2 -1/4 0

重心法 p rn n q rn n

p q 0

类平均法 p rn n q rn n

0 0

可变类平均

(1 ) p rn n (1 ) q rn n ( 1) 0

可变法 (1 ) / 2 (1 ) / 2 ( 1) 0

离差平方和

( ) ( )p k r kn n n n ( ) ( )q k r kn n n n ( )k k rn n n 0

Page 62: 知识发现(数据挖掘 ) 第五章

层次聚类方法

层次的方法缺陷一旦一个步骤(合并或分裂)完成,就不能被撤销或修正,因此产生了改进的层次聚类方法,如

BIRCH(balanced iterative reducing and clustering using hierarchies) 算法

CURE(clustering using representatives) 算法 ROCK(robua clustering using links) 算法等

Page 63: 知识发现(数据挖掘 ) 第五章

BIRCH 算法

通过引入了聚类特征和聚类特征树概念, Zhang 等人提出BIRCH 算法 [Zhang et al. 1996] 。聚类特征是一个包含关于簇的二元组,给出对象子聚类的信息汇总描述。如果某个子聚类中有 N个 d维的点或对象,则该子聚类的定义为CF=(N, LS, SS) ,其中, N 是子类中点的个数, LS是 N个点的线性和, SS 是点的平方和。聚类特征树中所存储的是关于聚类的信息,这些信息是计算聚类和有效利用存储的关键度量。每个叶节点包含一个或多个子聚类,每个子聚类中包含一个或多个对象。一个聚类特征树有两个参数:分支因子 B和阈值 T ,分支因子 B 定义了每个非叶节点后代的最大数目,阈值参数 T 给出了存储在树的叶子节点中的子聚类的最大直径。 BIRCH 算法主要包括扫描数据库和聚类两个阶段。

Page 64: 知识发现(数据挖掘 ) 第五章

BIRCH 算法

(1)扫描数据库,建立一个初始存放于内存的聚类特征树,可以看作数据的多层压缩,试图保留数据内在的聚类结构。一个对象被插入到距其最近的叶节点 ( 子聚类 ) 中时,如果在插入对象后,存储在叶节点中的子聚类的直径大于阈值,那么该叶节点被分裂,也可能有其他节点被分裂。新对象插入后,关于该对象的信息向根节点传递。通过修改阈值,聚类特征树的大小可以改变。如果存储聚类特征树需要的内存大于主存的大小,可以定义一个较大的阈值,并重建聚类特征树。重建过程从旧树的叶子节点建造一个新树。这样,重建树的过程不需要重读所有的对象。因此为了建树,只需读一次数据。采用一些启发式规则和方法。通过额外的数据扫描来处理孤立点和改进 CF树的质量。聚类特征树建好后,可以在阶段二被用于任何聚类算法。

Page 65: 知识发现(数据挖掘 ) 第五章

BIRCH 算法 (2)BIRCH采用某个聚类算法对聚类特征树的叶节点进

行聚类。 B1RCH 算法具有可伸缩性,算法的时间复杂度为 O(n)

( 不重建聚类特征树时 ) ,通过对数据集的首次扫描产生一个基本聚类,二次扫描进一步改进聚类质量并处理异常点。 BIRCH 算法的处理速度较快,但对非球形簇处理效果不好。

Page 66: 知识发现(数据挖掘 ) 第五章

CURE 算法 Guha 等人提出 CURE(clustering using representatives)

算法利用代表点进行聚类,解决了大多数聚类算法偏好球形和相似大小的问题,并且容易处理异常点 [Guha et al.1998] 。 CURE 算法选用数据空间中固定数目的、具有代表性的点代表簇,然后根据一个特定的分数或收缩因子向簇中心“收缩”或将其移动。如果两个簇的代表点距离最近,则将这两个簇合并。

由于每个簇有一个以上的代表点,使 CURE 算法可以适应非球形的几何形状,而且簇的收缩或凝聚可以控制异常点的影响,因此 CURE 算法对异常点的处理更健壮。对于大型数据库, CURE 算法有良好的伸缩性,不会降低聚类的质量

Page 67: 知识发现(数据挖掘 ) 第五章

CURE 算法 (1)从源数据集中抽取一个随机样本 S ,包含 s 个对象。 (2) 将样本 S 分为 p 个划分,每个划分大小为 s/ p 。 (3) 将每个划分局部聚类成 s/ pq 聚类,其中 q>l 。 (4) 通过随机采样消除异常数据,若一个簇增长太慢,

就删除该簇。 (5) 对局部的簇进行再聚类,落在每个新形成的聚类中

的代表点,则根据用户定义的收缩因子 a收缩或向簇中心移动。这些点将用于代表并描绘出聚类的边界。

(6) 对簇中的数据标记上相应簇标记。 CURE 算法的时间复杂度为 O(n) ,最大问题是无法处理

分类属性。

Page 68: 知识发现(数据挖掘 ) 第五章

ROCK 算法 Guha等人于 1999年提出了一个面向分类属性数据的聚类算法 ROCK [Guha et al. 2000] 。其突出贡献是采用公共近邻(链接)数的全局信息作为评价数据点间相关性的度量标准,而不是传统的基于两点间距离的局部度量函数。

算法 11.5 ROCK 算法 Procedure cluster(S,k) (1) begin (2) link: = compute_links(S) (3) for each s∈S do (4) q[s]: = build_local_heap(link,s) (5) Q: = build_global_heap(S,q)

Page 69: 知识发现(数据挖掘 ) 第五章

ROCK 算法 (6) while size(Q)>k do { (7) u: = extract_max(Q) (8) v: = max(q[u]) (9) delete(Q,v) (10) w: = merge(u,v) (11) for each x ∈ q[u] ∪ q[v] { (12) link[x,w]:=link[x,u] + link[x,v] (13) delete(q[x],u); delete(q[x],v) (14) insert(q[x],w,g(x,w));insert(q[w],x,g(x,w)) (15) update(Q,x,q[x]) (16) }

Page 70: 知识发现(数据挖掘 ) 第五章

ROCK 算法 (17) insert(Q,w,q[w]) (18) deallocate(q[u]); deallocate(q[v]) (19) } (20) end 注意到算法中有两种队列,全局队列 Q 和普通队列 q[i] 。

算法中 compute_links(S) 是预处理计算公共点的数量。

Page 71: 知识发现(数据挖掘 ) 第五章

ROCK 算法 procedure compute_links(S) begin Compute inlist[i] for every point I in S Set link[I,j] to be zero for all i,j for i: = 1 to n do { N: = inlist[i]; for j: = 1 to |N|-1 do for l: = j+1 to |N| do link[ N[j], N[l] ]: = link[ N[j], N[l] ] + 1 } end

Page 72: 知识发现(数据挖掘 ) 第五章

ROCK 算法

在以往的算法中,两个对象之间的距离或相似性只与这两个对象本身有关,而与其他对象无关。 ROCK 算法将这一局部运算扩展成一种全局运算,在计算两个对象之间的距离或相似性时,不仅考虑两个对象本身,还考虑周围邻居的影响,增强了算法的抗噪声能力。为了能够处理大规模的数据, ROCK 也采用随机抽样的方法。

Page 73: 知识发现(数据挖掘 ) 第五章

基于密度的方法( density-based method )

主要有 DBSCAN, OPTICS 法 思想:

只要临近区域的密度超过一定的阈值,就继续聚类 特点:

可以过滤噪声和孤立点 outlier ,发现任意形状的类

Page 74: 知识发现(数据挖掘 ) 第五章

基于密度的方法( density-based method )

以空间中的一点为中心,单位体积内点的个数称为该点的密度。基于密度的聚类( density-basedclustering )根据空间密度的差别,把具有相似密度的相邻的点作为一个聚类。密度聚类只要邻近区域的密度( 对象或数据点的数目 )超过某个阈值,就能够继续聚类。

也就是说,对给定类中的每个数据点,在一个给定的区域内必须至少包含某个数目的点。这样,密度聚类方法就可以用来过滤“噪声”异常点数据,发现任意形状的簇。

在密度聚类算法中,有基于高密度连接区域的 DBSCAN(Density-based Spatial Clustedng ofApplication with Noise) 算法、通过对象排序识别聚类结构的 OPTICS(Ordering Points To Identify the Clustering Structure) 算法和基于密度分布函数聚类的DENCLUE(DENsity. based CLUstEring) 算法。

Page 75: 知识发现(数据挖掘 ) 第五章

DBSCAN 算法

DBSCAN 通过不断生长足够高密度区域来进行聚类,它能从含有噪声的空间数据库中发现任意形状的聚类。 DBSCAN 方法将一个聚类定义为一组“密度相连”的点集。 DBSCAN 的基本思想涉及的一些概念如下:

(1) 对象的一邻域:给定对象的半径内的区域。 (2)核心点:一个对象的一邻域至少包含最小数目

(MinPts) 个对象,则称该对象为核心点。 (3) 直接密度可达:给定一组对象集合 D ,如果 p 是在

q的一邻域内,而 q 是一个核心点,则称对象 p从对象 q出发是直接密度可达的。

Page 76: 知识发现(数据挖掘 ) 第五章

DBSCAN 算法

(4) 密度可达:如果存在一个对象链 p1, p2,, pm ,其中 p1=p ,且 pm=q ,对于 pl∈D, (1≤i≤n), pi+1 是从p1关于和MinPts 直接密度可达的,则对象 p 是从对象 q关于和MinPts 密度可达的。

(5) 密度相连:如果对象集合 D 中存在一个对象 o ,使得对象 p和 q 是从 o关于和MinPts 密度可达的,则对象p和 q 是关于和MinPts 密度相连的。

(6) 边界点:非核心点,是从某一核心点直接密度可达的。

(7)噪声:聚类结束时,不属于任何簇的点。

Page 77: 知识发现(数据挖掘 ) 第五章

DBSCAN 算法

DBSCAN 算法首先需要用户给定聚类对象的半径一邻域和

一邻域中最小包含的对象数 MinPts ,然后算法检查某个对象—邻域中的对象数,如果对象数大于 MinPts ,该对象就是核心对象,就构建以该对象为核心的新簇。然后,反复寻找从这些核心对象出发在一邻域内的对象,这个寻找过程可能会合并一些簇,直到没有新的对象可以添加到任何簇中为止。一个基于密度的簇是基于密度可达性的最大的密度相连对象的集合。不包含在任何簇中的对象被认为是“噪声”。

Page 78: 知识发现(数据挖掘 ) 第五章

基于网格的方法( grid-based method )

网格聚类方法是将对象空间量化为有限数目的单元,形成一个网格结构,所有的聚类操作都在这个网格结构 ( 即量化的空间 )上进行。这种方法的主要优点是处理速度快,其处理时间独立于数据对象的数目,只与量化空间中每一维上的单元数目有关。

在网格聚类方法中有利用存储在网格单元中的统计信息进行聚类的STING(STatistical INformation Grid-based method) 算法、用小波转换方法进行聚类的 WaveCluster 方法和在高维数据空问基于网格和密度的CLIQUE(Clustering InQUEst) 聚类方法。

STING 算法是一种基于网格的多分辨率聚类技术,它将空间区域划分为矩形单元。针对不同级别的分辨率,通常存在多个级别的矩形单元,这些单元形成了一个层次结构:高层的每个单元被划分为多个低一层的单元。关于每个网格单元属性的统计信息(用于回答查询)被预先计算和存储

Page 79: 知识发现(数据挖掘 ) 第五章

STING 算法 (1) 在层次结构中选定一层作为查询处理的开始点;

(2) 对前层次的每个网格单元,计算出反映该单元与给定查询的关联程度的置信度区间; (3) 从上面计算的置信度区间中标识每个网格单元是否与给定查询相关; (4) 如果当前层是底层,则执行步骤 (6) ,否则执行步骤 (5); (5) 处理层次结构中的下一层,对于形成高层的相关网格单元执行步骤 (2); (6) 如果查询要求被满足,则执行步骤 (8) ;否则,执行步骤 (7); (7) 检索和进一步的处理落在相关单元中的数据,返回满足查询要求的结果。执行步骤 (9); (8) 寻找相关网格的区域,返回满足查询要求的相关单元的区域。执行步骤 (9); (9) 算法结束。

Page 80: 知识发现(数据挖掘 ) 第五章

基于模型方法(model-based method )

基于模型的聚类方法为每一个簇假定了一个模型,寻找数据对给定模型的最佳拟合,它试图优化给定的数据和某些数学模型之间的适应性,基于模型的方法经常假设数据是根据潜在的概率分布生成的,算法主要有统计学和神经网络两种。

1987年 Fisher 提出了 COBWEB 算法 [Fisher, 1987] 。 COBWEB是一种流行的简单增量概念聚类算法,它的输入对象用分类属性一值对来描述, COBWEB 以一个分类树的形式创建层次聚类。分类树与判定树不同。分类树中的每个节点对应一个概念,包含该概念的一个概率描述,概述被分在该节点下的对象。概率描述包括概念的概率和形如P(Ai=Vij|Ck) 的条件概率,这里 Ai=Vij 是属性一值对, Ck 是概念类 ( 计数被累计并存储在每个计算概率的节点 ) 。这就与判定树不同,判定树标记分支而非节点,而且采用逻辑描述符,而不是概率描述符。在分类树某个层次上的兄弟节点形成了一个划分。为了用分类树对一个对象进行分类,采用了一个部分匹配函数来沿着“最佳”匹配节点的路径在树中向下移动。

Page 81: 知识发现(数据挖掘 ) 第五章

COBWEB 方法(model-based method )

COBWEB采用分类效用作为启发式评估度量来帮助进行树的构造。分类效用定义如下

这里 n 是在树的某个层次上形成一个划分 {Cl, C2,, Cn} 的节点、概念或类别的数目。其中:

(1)概率 P(Ai=Vij|Ck) 表示类内相似性。该值越大,共享该属性一值对的类成员比例就越大,更能预见该属性一值对是类成员。

(2)概率 P(Ck|Ai=Vij) 表示类间相异性。该值越大,在对照类中的对象共享该属性一值对就越少,更能预见该属性一值对是类成员。

2 2

1 i j( )[ ( ) ( ) ]

n

k i ij k i ijk i jP C P A V |C P A V

n

Page 82: 知识发现(数据挖掘 ) 第五章

AutoClass 方法 AutoClass 是一种基于贝叶斯理论的数据聚类算法 [Cheeseman et al.1996] , 通过对数据进行处理 , 计算出每条数据属于每个类别的概率值 , 将数据进行聚类。 AutoClass 能对复杂数据进行精确的自动聚类,可以事先设定好类别数目让AutoClass 自动寻找 , 在寻找结束后 , 能够得到每一条数据分别属于每一类别的几率。 AutoClass的程序是由 Cheeseman和 Stutz在 1995年开发出来的。

Page 83: 知识发现(数据挖掘 ) 第五章

AutoClass 方法 AutoClass 具有以下的优点 : (1) 聚类的数据不需要预先给定数据的类别 , 但是定义了

每个数据成员。 (2) 可以处理连续型或是离散型数据 .在 AutoClass中 ,

每一组数据都以一个向量来表示 , 其中每个分量分别代表不同的属性 , 这些属性数据可以是连续型或是离散型。

(3) AutoClass 要求将资料存成 Data File(存数据文件 )与Header File(描述数据的文件 )两部分 , 如此可以让使用者自由搭配 Data File 和 Header File 而节省输入数据的时间 .

(4) 可以处理缺值数据。当一组数据中的某些属性值有缺漏时 , AutoClass仍可将此组数据进行聚类。

Page 84: 知识发现(数据挖掘 ) 第五章

AutoClass 方法 AutoClass 也存在以下缺点 : (1) AutoClass概率模型的前提是各属性相互独立,而这个假设在许多领域中是不成立的。

(2)AutoClass 不是一个完全自动化的聚类算法 , 需要主观地决定数据的适当群数范围 , 而此问题却是聚类的一大难题。

(3) 使用 AutoClass 处理数据时 , 必须不断地重复假设与测试 , 并结合专业知识与程序 , 才能得到良好的结果 , 因而要花费大量的时间。

(4)没有提供一个先验标准来预测一组数据是否能够聚类 , 因而带有一定的臆断性。没有提供一个后验方法来评估分类的结果是否可以信赖。

Page 85: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 85

蚁群聚类方法 群体智能这个概念来自对蜜蜂和蚂蚁可以进行直接通信或者间接通信( 通过改变局部环境 ) 的主体,这组主体能够合作进行分布问题求解 。

任何启发于群居性昆虫群体和其它动物群体的集体行为而设计的算法和分布式问题解决装置都称为群体智能。

群体智能在没有集中控制并且不提供全局模型的前提下,为寻找复杂的分布式问题的解决方案提供了基础。

Page 86: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 86

群体智能的特点

分布式:能够适应当前网络环境下的工作状态 ;

鲁棒性:没有中心的控制与数据,个体的故障不影响整个问题的求解 ;

扩充性:个体的增加,系统的通信开销增加小 ;

简单性:个体简单,实现也比较简单。

Page 87: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 87

蚁群算法 蚁群寻食行为研究,相对应组合优化算法和通信网络

路由控制算法; 群体分工和任务分配行为研究,相对应多主体分工协

作算法; 巢穴组织和自组织行为及群体分类行为研究,相对应

数据分析和图的分割算法; 建巢和自装配行为研究,相对应模拟建巢算法; 群体合作搬运行为研究,相对应机器人合作搬运算法

Page 88: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 88

蚁群算法所需解决的关键问题 蚁群算法 效率与理论; 由于没有标准的测试集,除了寻食模型,蚁卵聚类、

蚁群分工和蚁巢自装配等模型都只处于证实阶段 理论和实验 ;

一个多主体自组织模型实验和测试平台 ; 对于追求效率的实际问题,如何既保持群体智能系统

的灵活性和鲁棒性等自组织特征又能保证系统的高效率也是一个关键问题 ;

群体智能与分布式智能的智能主体研究相结合,将产生新的智能主体协作、建模等算法和机制,提出网络和网格环境的自适应多智能主体系统 。

Page 89: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 89

蚂蚁寻找最短路径原理

A )蚁群到达决策点。 B )一些蚂蚁选择上方路径,一些蚂蚁选择下方路径。选择是随机的。

C )下方短路径蚂蚁到达相反方向的决策点的时间早于选择上方长路径的蚂蚁。

D )短路径上外激素以较高的速度积累。。

外激素多的短路径将吸收更多的蚂蚁,反过来,更多的蚂蚁在短路径上会留下更多的外激素,加上外激素挥发效应,最后,蚁群都选择了最短路径。

Page 90: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 90

蚁群算法

otherwise

allowedjt

t

tpk

allowedkikik

ijij

kij

0

][)]([[

][)]([

)(

τij( t )为 t时刻边 e(i,j) 上外激素的强度

可见度 ij为 1/dij

第 k个蚂蚁从城市 i到城市 j 的跃迁概率为:

Page 91: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 91

一种基于蚁群算法的 TSP问题分段蚁群算法

求解算法 相遇算法,提高了蚂蚁一次周游的质量, 然后将相遇算法与采用并行策略的分段算法

相结合,提出一种基于蚁群算法的 TSP问题分段求解算法。

实验结果表明该算法有较好的有效性。

Page 92: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 92

TSP 蚁群算法实例

ST70 ( TSPLIB ) 677.88 677.1096 CHC144 (中国 144城市) 30354.3 kroB150 (TSPLIB) 26130 26127

Page 93: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 93

蚁群聚类算法 CSI 的研究

CSI聚类算法主要步骤; 基本模型简化:概率转换公式; 实验结果 。

Page 94: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 94

基于蚁群算法的聚类算法

主要步骤:随机分布待聚类模式;每只蚂蚁计算当前对象在局部环境的群体相似度,并通过概率转换函数得到拾起或放下对象的概率,以这个概率行动;经过群体大量的相互作用,最终得到若干聚类中心;最后收集聚类结果。

Page 95: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 95

概率转换公式的简化

2

1

1 )(fk

kp p

2

2

fk

fpd

基本模型

0)(0

/1)(0)(

/1)(1

i

ii

i

of

kofofk

kof

Pd

kof

kofofk

of

Pp

i

ii

i

/1)(0

/1)(0)(1

0)(1

简化模型

Page 96: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 96

实验结果

Page 97: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 97

电信消费数据聚类分析实验结果比较

3031 2928 2625 27 232422 19 2118 1210 1516 1120 1314 5 2 0 6 7 17 8 3 9 4 10

1, 000

2, 000

3, 000

4, 000

5, 000

平均值话费总计

群体智能聚类结果图表

7 0 2 29 5 16 13 28 6 25 4 18 23 27 15 20 9 26 8 11 14 1 3 17 10 19 22 24 21 120

1, 000

2, 000

3, 000

4, 000

平均值话费总计

kmeans 30 聚类结果图表

5 15 24 13 21 17 28 9 27 11 2 6 35 4 18 25 32 34 20 33 30 10 8 1 3 16 36 290

1, 000

2, 000

3, 000

4, 000

平均值话费总计

SOM聚类结果图表

Page 98: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 98

基于群体智能的文档聚类算法 CSIM 的研究

为了处理聚类过程中出现的散点以及克服算法的一些随机因素,更是为了提高算法的效率,我们将基于群体智能的文档聚类算法与经典的 K均值算法相结合,对算法进行了改进。

混合算法的过程是这样的:首先采用基于群体智能文档聚类算法对聚类文档进行处理,得到初始的聚类中心个数和聚类中心模板,然后运用 K均值算法再次聚类。

这样,既保留了群体智能算法的自组织特征,又结合了 K均值算法的高效率,同时也克服了两种算法的弱点,如群体智能算法的随机性和 K均值算法的聚类中心个数的参数预定及输入顺序敏感。我们将算法缩写为 CSIM 。

Page 99: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 99

基于群体智能的文档聚类算法 CSIM 的研究

数据集

文档数

维数 类别 来源

D1 394 833 Gold,Coffee,Sugar

Reuters-21578

D2 323 600 GNP,Livestock,Sugar

Reuters-21578

D3 1000 496 Football FM365 网站

Page 100: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 100

基于群体智能的文档聚类算法 CSIM 的研究

数据集

聚类中心个数

CSIM 正确率

k-means正确率

CSI正确率

CSI 散点

D1 6.5 16 98.2% 97.4% 99.0% 5.6%

8 11 98.5% 97.2% 99.4% 2.1%

9 10 98.2% 95.4% 92.4% 0.9%

D2 8 10 92.5% 88.5% 94.7% 10%

这个结果达到了 SONIA 系统所用文档聚类算法的水平,而 SONIA 的算法性能明显高于 Scatter/Gather和 TFIDF 方法。

Page 101: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 101

七、粒度计算粒度计算从广义上来说是一种看待客观世界的世界观和方法论。

粒度计算的基本思想就是使用粒而不是对象为计算单元,使用粒、粒集以及粒间关系进行计算或问题求解。

Page 102: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 102

粒度计算 1997年 Lotfi A. Zadeh 提出了粒度的概念,他认为在人类认知中存

在三种概念:粒度,组织与因果关系。从直观的来讲,粒化涉及到从整体到部分的分解,而组织却是从部分到整体的集成,而因果关系涉及原因与结果之间的联系。对一个事物的粒化就是以可分辨性、相似性、邻近性与功能性集聚有关的事物。

粒度计算是信息处理的一种新的概念和计算范式,覆盖了所有有关粒度的理论、方法、技术和工具的研究,主要用于处理不确定的、模糊的、不完整的和海量的信息。粗略地讲,一方面它是模糊信息粒度理论、粗糙集理论、商空间理论、区间计算等的超集,另一方面是粒度数学的子集。具体地讲,凡是在分析问题和求解问题中,应用了分组、分类、聚类以及层次化手段的一切理论与方法均属于粒度计算的范畴。信息粒度在粒度计算,词计算,感知计算理论和精化自然语言中都有反映

Page 103: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 103

粒度计算的必要性 从哲学的角度看

Yager和 Filev指出“人类已经形成了世界就是一个粒度的观点”以及 “人们观察、度量、定义和推理的实体都是粒度” 。信息粒是一种抽象,它如同数学中的“点”、“线”、“面”一样,在人类的思维和活动中占有重要地位。

从人工智能的角度看 张钹院士指出“人类智能的公认特点,就是人们能从极不相同的粒度上观察和分析同一问题。人们不仅能在不同粒度的世界上进行问题求解,而且能够很快地从一个粒度世界跳到另一个粒度的世界,往返自如,毫无困难。这种处理不同世界的能力,正是人类问题求解的强有力的表现” 。

Page 104: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 104

粒度计算的必要性 从优化论的角度来看 粒度计算的理论与方法在观念上突破了传统优化思想的束缚,不再以数学上的精确解为目标,即:需要的是很好地理解和刻画一个问题,而不是沉溺于那些用处不大的细节信息上。粒度计算的方法不要求目标函数和约束函数的连续性与凸性,甚至有时连解析表达式都不要求,而且对计算中数据的不确定性也有很强地适应能力,计算速度也快,这些优点使粒度计算具有更广泛地应用前景,所以,粒度计算理论的研究对推动优化领域的发展极其重要。

Page 105: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 105

粒度计算的必要性 从问题求解的角度看

用粒度计算的观点来分析解决问题显得尤为重要,这样就不用局限于具体对象的细节。除此之外,将复杂问题划分为一系列更容易管理和更小的子任务,可以降低全局计算代价。

从应用技术的角度看 图像处理、语音与字符识别等,是计算机多媒体的核心技术。这些信息处理质量的好坏直接依赖于分割的方法和技术,而粒度计算的研究或许能够解决这一问题。

Page 106: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 106

粒度计算的基本问题 两大问题

粒的构造 :处理粒的形成、表示和解释 使用粒的计算:处理在问题求解中粒的运用

两个方面 从语义 上:侧重于对粒的解释 ,如为什么两个对象会在同

一个粒之中,为什么不同的粒会相关。 从算法上:如何进行粒化和如何进行基于粒的计算。对粒的

分解与合并方法的研究,是构建任何粒度体系结构的本质要求。

Page 107: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 107

粒度计算的国内外研究现状 粗糙集理论

粒:等价类,子集 粒的计算:粒之间的近似

商空间理论 粒:等价类,子集,粒之间具有拓扑关系 粒的计算:合成、分解

词计算理论 粒:词 粒的计算:模糊数学

Page 108: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 108

Page 109: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 109

商空间粒度模型张铃 , 张钹把商空间的概念通过模糊等价关系推广到模糊集合上,他们证明下面 4 种提法等价: 在论域 X 上给定一个模糊等价关系 给定 X 的商空间上的一个归一化等腰距离 给定 X 的一个分层递阶结构 给定一个 X 的模糊知识基,另一个结论是,所有模

糊粒度全体,构成一个完备半序格

Page 110: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 110

存在的问题粒的定义:子集,没有内涵,无法区分粒和

类粒的元素:粒的元素为基本对象,不能为粒粒的嵌套层次结构简单粒的功能是用于描述和近似,而对于问题求解作用不大(明显)

Page 111: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 111

相关工作 基于近似和相容关系的粒度模型

近似空间 变精度粗糙集模型 相容空间

层次和嵌套模型 由嵌套等价关系序列引导的嵌套粗糙集近似 由层次结构引导的层次粗糙集近似 由邻域系统引导的层次粗糙集近似

Page 112: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 112

相容粒度空间模型 四元组 (OS, TR, FG, NTC)

OS 表示对象集系统 TR 表示一个相容关系系统 FG 表示相容粒转换函数 NTC 表示一个嵌套相容覆盖系统

对象集系统由在相容粒度空间中处理和粒化的对象组成,它也可以看成是一个对

象域

相容关系系统是一个参数化的关系结构,它由一组相容关系组成,包括一个粒度空间所基于

的关系和参数

嵌套相容覆盖系统是一个参数化的粒度结构,其中定义了不同层次的粒和基于对象系统和相容关系系统的参数化过程。它定义了: a . 粒之间、粒集之间、对象之间以及粒和对象之间的关系; b. 粒的合成和分 解。

Page 113: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 113

相容粒

用一个三元组来描述相容粒 G=(IG, EG, FG) IG:相容粒 G的内涵,用向量表示 EG :相容粒 G的外延,用向量的集合表示 FG:内涵和外延之间的转换函数 描述了相容粒在特定环境下表现的知识,并表示在一个特定任务下相容粒中所有元素的一般性特征、规

则、共同性等包含这个粒所涵盖的对象或粒

定义了粒的内涵和外延之间的转换,可以用函数、规则、算法等形式来描述

Page 114: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 114

相容粒 粒的定义需要考虑三个基本属性:

反映粒中元素交互作用的内部属性; (EG) 揭示一个粒与其它粒交互作用的外部属性; (IG) 表示一个粒在特殊环境下存在的上下文属性。 (IG, FG)

Page 115: 知识发现(数据挖掘 ) 第五章

23/4/21 高级人工智能 史忠植 115

相容粒度空间模型的主要特点 功能特点

粒度计算的功能不仅仅在于对问题的简化和近似化,更在于以粒为单位通过粒之间的关系进行计算在某些问题的解决中不可替代的作用。

建模所基于关系的特点 相容关系

粒的定义的特点 粒度空间结构的特点

通过定义粒的三种关系:内涵关系、外延关系和复合关系,以及粒度空间的层次和嵌套结构实现了这种粒之间和粒度层次之间交互跳跃的能力。

Page 116: 知识发现(数据挖掘 ) 第五章

23/4/21 史忠植 智能科学研究进展 116

Thank You

Intelligence Sciencehttp://www.intsci.ac.cn/