聚类模型
1、层次聚类
2、原型聚类-K-means
3、模型聚类-GMM
4、EM算法-LDA主题模型
5、密度聚类-DBSCAN
6、图聚类-谱聚类
一、层次聚类
一、聚类理论
一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成 c c 类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,类间对象尽可能不相似。因此,吾师言:聚类中两个关键的问题是:何为类?何为类内相似,类间不相似?以下所有的聚类模型皆从这两点出发。
由于缺少样本标签,我们很难定义类和相似性,比如下面的问题:
按照颜色聚类可以分类三类,按照形状聚类可以分类两类,关键问题在于如何定义类,定义相似性。所以吾师还言:聚类一般不是一个任务的最终目标,而是一个预处理的过程。
聚类的评价指标有两种:
1)内部指标,指导思想是类内紧致性和类间分离性,比如Xie-Beni指标,DB指标
2)外部指标,假设数据集有标注,按有监督学习的评价指标进行评价
可以看出,外部指标有很大的问题,那就是聚类学到的数据规律不一定是标签,这对聚类算法的评价是不可靠的,但是对于只看结果,不评价模型的好坏是可以的,当然拿聚类的结果与有监督学习的结果对比是“无赖”的。
二、层次聚类
层次聚类的类表示可以看作是基于样本的, 表示属于第 i i 的样本集合,即 作为第 i i 类的类表示。类相似性度量可以用“欧式距离”。层次聚类分为两种,一种是自底向上的凝聚层次聚类,一种是自顶向下的分裂层次聚类。两者的区别在于前者一开始将每一个样本看作一类,通过不断的合并最相似的两个簇,直到 类;后者一开始将所有样本看作一类,通过最小化损失(类紧致)分裂为 c c 类。
凝聚层次聚类:
输入:样本数据 ,相似性度量函数 s s ,聚类簇数
输出: k k 类样本