1.1聚类任务
在“无监督学习”(unsupervesed learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据内在的性质和规律。
聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇(cluster)”。通过这样的划分,每个簇可能对应于一些潜在的概念(类别)。这些概念对聚类算法而言事先是未知的,聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。
1.2性能度量
聚类性能亦称聚类“有效性指标”(validity index)。与监督学习中的性能度量作用相似,对聚类结果,我们需要通过某种性能度量来评估其好坏;另一方面,若明确了将要使用的性能度量,则可直接将其作为聚类过程的优化目标,从而更好地得到符合要求的聚类结果。
聚类是将样本集D划分为若干互不相交的子集,即样本簇。那么,什么样的聚类结果比较好呢?
聚类结果的“簇内相似度高”且“簇间相似度低”。
聚类性能度量大致分为两类。一是将聚类结果与某个“参考模型”(reference model)进行比较,称为“外部指标”(external index);另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”(internal index)。
对数据集D={,
...
},假定通过聚类给出的簇划分为C={
,
...
},参考模型给出的簇划分为
={
,...,
}.相应地,令
与
分别表示 C 与
对应的簇标记向量。我们将样本两两配对考虑,定义
基于(9.1)~(9.4)可导出下面这些常用的聚类性能度量外部指标:
Jaccard系数:
FM指数
Rand指数
显然,上述性能度量的结果值均在[0,1]区间,值越大越好。
考虑聚类结果的簇划分C={,
,...,
},定义
1.3距离计算
对函数dist(.,.),若它是一个“距离度量”(distance measure),则需满足一些基本性质:
非负性:dist(,
)>=0;
同一性:dist(,
)=0当且仅当
=
;
对称性:dist(,
)=dist(
,
);
直递性:dist(,
)<=dist(
,
)+dist(
+
)
给定样本=(
;...;
)与
=(
;...;
),最常用的是“闵可夫斯基距离”
p=2时,闵可夫斯基距离即欧式距离
p=1时,闵可夫斯基距离即曼哈顿距离
我们常将属性划分为“连续属性”(continuous attribute)和“离散属性”(categorical attribute),前者定义域上有无穷多个可能的取值,后者在定义域上是有限个取值。在讨论距离计算时,属性上是否定义了“序”关系更为重要。例如定义域{1,2,3}的离散属性与连续属性的性质更为接近一些,能直接在属性值上计算距离:“1”与“2”比较接近、与“3”比较远,这样的属性称为“有序属性”(ordinal attribute);而定义域为{飞机,火车,轮船}这样的离散属性则不能直接在属性值上计算距离,称为“无序属性”(non-ordinal attribute)。显然,闵可夫斯基距离可用于有序距离。
对无序属性可采用VDM(Value Difference Metric).令表示属性u上取值为a的样本数,
表示在第i个样本簇中的属性u上取值为a的样本数,k为样本簇数,则属性u上两个离散值a与b之间的距离为
于是,将闵可夫斯基距离和VDM结合即可处理混合属性。假定有个有序属性、
-
个无序属性,不失一般性,令有属性排列在无属性之前,则
当样本空间中不同属性的重要性不同时,可使用“加权距离”(weighted distance)。以加权闵可夫斯基距离为例:
其中权重>=0(i=1,2,...,n)表征不同属性的重要性,通常
=1.