刚看完一篇集成聚类的文章:
Combining Multiple Clusterings Using Evidence Accumulation(EAC)
做个简单的笔记,方便复习。
和一般的集成聚类不同,EAC并不直接组合不同的划分,而是由这些不同的划分得到一个邻近度矩阵(proximity matrix),之后便可在这个邻近度矩阵上运用层次聚类中的单连接(single link)或平均连接(average link)算法得到最终的划分。
(单连接算法:http://blog.csdn.net/tyh70537/article/details/76768802)
首先要想的到不同的划分(partition)有以下方法:
1,使用不同的聚类算法
2,使用相同的算法,但进行不同的初始化或使用不同的参数
3,使用不同的特征空间
假设数据集
X
包含n个样本,
相比一般层次聚类中使用的邻近度矩阵,
EAC方法集成不同的划分构建新的邻近度矩阵,新的邻近度矩阵相比直接使用原始数据构建的邻近度矩阵,更能反应样本之间的关系。
下面几张图说明用EAC集成k-means和单一的k-means算法的不同效果:
原始数据的分布情况如下:
使用单个k-means算法(k=25):
使用单个k-means算法(k=11):
EAC法(集成了30个k-means划分,每种划分的簇的数量k随机从区间
[10,30]
里选择):
可以看出,集成后的k-means算法可以识别复杂的结构。