传统无监督聚类算法在划分数据时并不需要任何数据属性,但在实际应用中,存在少量带有独立类标签或成对约束的监督信息的数据样本,学者们致力于将这些为数不多的监督信息运用于聚类,以得到更优的聚类结果,从而提出 了半监督聚类。
1.无监督聚类
先说无监督聚类,如图 1-2 所示,现有的无监督聚类算法按照度量数据样本间相似度的方式, 以及聚类过程中数据样本之间的关系被划分为五大类,即基于划分方法的聚类、 基于层次方法的聚类、基于密度方法的聚类、基于网格方法的聚类、基于模型方 法的聚类[7]。所谓基于划分方法的聚类(基于划分方法的聚类算法在处理非标准正态分布和非均匀数据集时,聚类效果会比较差。)是指:在对数据对象进行聚类之前,需要创建 k 个划分个数,即提前设定好 k 个簇数。k 均值(k-means)聚类算法[8-10]、 PAM(Partitioning Around Melodies)聚类算法[11]、k 中心点(k-mediods)聚类 算法[12,13]等等聚类算法都是相对经典的划分聚类算法;基于层次聚类方法是采用 “自底而上”的聚合策略或者“自顶向下”的拆分策略,试图在不同层次上对数 据样本集进行划分,从而形成树形的聚类结构。AGNES 聚类算法[14]采用的是“自 底而上”的聚类策略,DIANA 聚类算法[15]采用的另一种“自顶而下”的拆分策 略;基于密度的聚类算法,本质上来说就是定义一种密度的概念来进行聚类,而 密度定义的本质来自于数据样本集的数据点与点之间的距离。这类算法不仅能改 善基于距离的算法只能发现球形、凸形的簇类的缺陷,可以发现任意形状的聚类, 并且对噪声数据样本点不敏感。具有代表性的密度聚类有 DBSCAN[16]高密度连 通区域聚类、OPTICS 点排序识别聚类结构聚类[17,18]、DENCLUE[19,20]密度分布函 数聚类算法等;基于网格的聚类方法是将空间量划分为一定数目的单元,使之形 成一个网格结构,所有数据样本对象都在此网格上进行聚类。这种网格聚类方法 速度快,算法复杂度相对较低,改善了划分聚类、层次聚类等相关算法复杂度高的问题。相关的网格聚类算法有 STING 统计信息网络聚类算法[21]、WaveCluster 利用小波变换聚类算法[22,23];统计学方法 COBWEB[24,25]、神经网络方法 SOMs[26,27] 都归属于基于模型的聚类算法。
2.半监督聚类
再说半监督聚类,半监督聚类是结合半监督学习与聚类分析而提出的新的学习方法,目前半监督聚类中常见的先验知识表现为反映样本间相似关系的约束条件,约束条件主要有两大类方法:基于约束的方法和基于距离的方法。前者将约束作为聚类目标的一部分直接作用于聚类算法,并且依靠用户提供的标号或约束来指导算法,产生更合适的数据划分;后者是使用一种自适应距离度量,该度量已经被训练,以满足监督数据中的标号或根据约束构造某种距离度量并以此为基础运行各种聚类算法。大致来看,半监督聚类方法分为三种不同的类型:基于约束方法的半监督聚类[28-30],基于距离方法的半监督聚类[31,32],以及基于距离和约束混合方法的半监督聚类算法 [33,34]。
2.1基于约束方法的半监督聚类
- Cop-Kmeans算法
Wagstaff等[28]将成对约束的思想运用到传统K-means 算法中,提出了Cop-Kmeans算法。Cop-Kmeans算法的基本 聚类思想与K-means相同,只是在数据分配过程中要求数据 对象必须满足Must-link(ML)约束和Cannot-Link(CL)约束 条件(ML代表被选中的两个点一定是属于同一类,而CL代 表被选