一、聚类任务
在无监督学习中研究最多、应用最广的是“聚类”(clustering)。
无监督学习(unsupervised learning):
训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。
聚类的目标:是将样本集 D 划分为若干互不相交的子集,即样本“簇”(cluster)。
每个簇可能对应于一些潜在的概念(类别),这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。
聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。例如,商业应用中需对新用户的类型进行判别,但定义“用户类型”对商家来说可能不太容易,此时往往可先对用户数据进行聚类,根据聚类结果将每个簇定义为一个类,然后再基于这些类训练分类模型,用于判别新用户的类型。
二、聚类的性能度量
聚类性能度量亦称聚类 “有效性指标”(validity index)。
性能度量技能用于来评估其好坏,也可直接将其作为聚类过程的优化目标。
那么什么样的聚类结果比较好呢 ?
直观上看,我们希望同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。
即聚类结果的 “簇内相似度”(intra-cluster similarity) 高且 “簇间相似度”(inter-cluster similarity) 低。
聚类性能度量大致有两类:
外部指标 (external index):将聚类结果与某个“参考模型”(reference model)进行比较。
内部指标 (internalindex):直接考察聚类结果。
2.1 外部指标
对数据集 D=(x1,x2,…,xm},假定
通过聚类给出的簇划分为C={C1,C2,…,Ck},
参考模型给出的簇划分为C*={C1*,C2*,…,Cs*}
相应地,令入 λ 与 λ* 分别表示与 C 和 C* 对应的簇标记向量。
我们将样本两两配对考虑,定义
集合 SS 包含了在 C 中隶属于相同簇且在 C* 中也隶属于相同簇的样本对
集合 SD 包含了在 C 中隶属于相同簇但在 C* 中隶属于不同簇的样本对….
由于每个样本对 (xi,xj)(i<j) 仅能出现在一个集合中,因此有a+b + c + d = m(m-1) / 2成立。
基于式(9.1)~(9.4)可导出下面这些常用的聚类性能度量外部指标:
(1)Jaccard系数(Jaccard Coeficient,简称JC)
(2)FM指数(Fowlkes and Mallows Index,简称FMT)
(3)Rand 指数(Rand Index,简称РI)
上述性能度量的结果值均在 [0,1] 区间,值越大越好。
2.2 内部指标
考虑聚类结果的簇划分 C,定义
其中 dist 用于计算两个样本之间的距离;μ 代表簇 C 的中心点。
avg( C ) 对应于簇C内样本间的平均距离
diam( C ) 对应于簇C内样本间的最远距离
dmin(Ci,Cj) 对应于簇Ci与簇Cj最近样本间的距离
dcen(Ci,Cj) 对应于簇Ci与簇Cj中心点间的距离.
基于式(9.8)~(9.11)可导出下面这些常用的聚类性能度量内部指标:
(1)DB指数 (Davies-Bouldin Index,简称DBI)
(2)Dunn指数 (Dunn Index,简称DI)
显然,DBI的值越小越好