聚类分析(数据库)
时间:2022-12-31 06:30:01 | 来源:信息时代
时间:2022-12-31 06:30:01 来源:信息时代
聚类分析 : 根据最大化类内的相似性、最小化类间的相似性的原则将数据对象分组,所形成的每个分组称为簇,是一个数据对象类,用显式或隐式的方法描述它们。
给定一个数据集D,D={X1,X2,…,Xi,…,Xn},其中,Xi(1≤i≤n)是D中的一个数据对象,由d个属性值组成。Xi=(xi1,xi2,…,xij,…,xid),其中xij表示对象Xi中的属性,d是属性个数(或对象空间的维数)。
簇(cluster):数据集D分成k个簇{C1,C2,…,Ci,…,Ck}(1<=i<=k),每个簇Ci是相似对象的集合。相似对象在同一簇中,相异对象在不同簇中。Ci是D的子集,要求满足如下条件:
C1∪C2∪…∪Ck=D, 且Ci∩Cj=ф(i≠j)。
当有重叠聚类时, 允许Ci∩Cj≠ф(i≠j)。
簇Ci的特征由簇的质心和半径描述:
(1)簇的质心(centroid):是簇的中间值(middle),即对象的平均值,但并不一定是簇中的实际点。
令ni表示簇Ci中对象的数量,mi表示对应对象的均值,则簇Ci的质心centroid由下式计算得出:
(2)簇的半径(radius): 是簇中任意一点到质心之间距离的均方差的平方根(average mean squared distance),如下式:
聚类(clustering): 根据数据对象间的相似程度将数据集D划分成k簇: {C
1,C
2,…,C
k},使得每个簇中的数据对象之间尽可能的相似,而与其他簇中的数据对象尽可能的不相似(即相似对象在同一簇中,相异对象在不同簇中)的过程称为聚类。当无重叠聚类时,要求满足条件∪
i=1kC
i=D且C
i∩C
j=ф(i≠j); 当有重叠聚类时, 允许C
i∩C
j≠ф(i≠j)。
同一个簇中的对象比来自不同簇的对象更为相似的判断问题主要涉及以下两个子问题:
1. 如何度量对象之间的相似性
相似度(或相异度): 衡量两个对象之间的相似(或差异)程度。它是定义一个簇的基础,影响聚类分析过程的质量。对象间的相似度(或相异度)的量化由相似性函数或距离函数来实现。两个对象间依据距离函数计算出的值越大,则表示它们之间的相似性越小(差别越大),而相似性函数则相反。相似性函数和距离函数之间可以相互转换。设f是一个距离函数,值域在[0,1]之间,0表示两个对象相等,而1表示两个对象完全不同,其他数值则表示介于中间。它对应的相似性函数可以是: 1-f(·)或者1/(1+f(·))。在很多应用中需要f是一个度量(metric),满足以下性质:
非负性:对数据集D中的对象X
i和X
j,有f(X
i,X
j)≥0,当且仅当X
i和X
j的d个属性值对应相等时,f(X
i,X
j)=0。
对称性:对数据集D中的对象X
i和X
j,有f(X
i,X
j)=f(X
j,X
i)。
三角不等式: 即对数据集D中的对象X
i,X
j,X
k,有f(X
i,X
j)≤f(X
i,X
k)+f(X
k,X
j)。
一个函数满足三角不等式的优点是能够提高搜索效率。例如设有对象X
1,X
2,X
3,和满足三角不等式的距离函数f,如果已经知道f(X
1,X
2)+f(X
2,X
3)小于等于某个数值k,则有f(X
1,X
3)≤f(X
1,X
2)+f(X
2,X
3)≤k,故可以在不计算X
1,X
3之间距离值的情况下直接推断f(X
1,X
3)小于k。因为f(S
2,S
3)可以预先计算好,所以搜索算法可依赖中间节点X
2缩小搜索的空间。
对于相似度对称性和非负性通常成立,但通常没有与三角不等式对应的一般性质。有时相似度也可以容易地将变换成一种度量距离,如Jaccard系数。
2. 如何衡量对数据集聚类的好坏
评价聚类过程质量的另一个标准是簇间距离度量标准。常用于簇C
i和C
j间的距离度量标准是:
(1)最小距离: D
min(C
i,C
j)=min|X
i-X
j|,其中X
i∈C
i和X
j∈C
j。
(2)最大距离:D
max(C
i,C
j)=max|X
i-X
j|,其中X
i∈C
i和X
j∈C
j。
(3)中间距离:D
mean(C
i,C
j)=max|m
i-m
j|,其中m
i和m
j是C
i和C
j的质心。
(4)平均距离:D
avg(C
i,C
j)=1/(n
in
j)∑∑|X
i-X
j|,
其中X
i∈C
i和X
j∈C
j,且n
i和n
j分别是簇C
i和C
j的对象数目。
聚类分析过程包括以下几个步骤:
步骤1: 收集数据对象。
步骤2: 属性选择从原始属性中选取用于聚类的更有效的属性子集,属性抽取利用对输入属性的一次或多次转换产生新的更显著的属性。
步骤3: 计算相似度。
步骤4: 确定目标划分的簇的数目或聚类划分的某个终止条件。由聚类算法实现。
步骤5: 实施聚类分析,产生结果。
主要的聚类算法有基于划分的方法(partitioning method)、基于层次的方法(hierarchical method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)以及基于模型的方法(model-based method)等。
评价聚类算法的聚类分析能力的标准有: ①能够适用于大数据量; ②能够处理不同类型数据; ③能够发现任意形状的簇; ④能够处理高维数据; ⑤具有处理噪声的能力: ⑥聚类结果具有可解释性、可使用性等。