划分聚类
K-means 聚类: k-Means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法, 或者成为其他聚类算法的基础。k-means 对初值敏感,可以使用 k-mediods聚类(k-中值聚类),选择较好的聚类初值:k-means++算法, 不同与K-Means算法随机选择聚类中心,K-Means++算法按距离加权来初始化聚类中心。 这样初始化的各个聚类中心不一定是距离最远(因为是每次是以概率的来选聚类中心),但肯定不近。
总结:
优点:
是解决聚类问题的一种经典算法,简单、快速。
对处理大数据集,该算法保持可伸缩性和高效率。
当簇近似为高斯分布时,它的效果较好。
缺点:
必须事先给出K值,而且对初值敏感,对于不同的初值可能产生不同的结果
不适合发现非凸形状的簇或者大小差别很大的簇
层次聚类:
1. 凝聚的层次聚类
一种自底向上的策略,首先将每个对象作为一个簇,然 后合并这些原子簇为越来越大的簇,直到某个终结条件 被满足。AGNES (AGglomerative NESting)算法最初将每个对 象作为一个簇,然后这些簇根据某些准则被一步步 地合并。两个簇间的距离由这两个不同簇中距离最 近的数据点对的相似度来确定;聚类的合并过程反 复进行直到所有的对象最终满足簇数目。
2. 分裂的层次聚类分裂的层次聚类
采用自顶向下的策略,它首先将所有对象臵于一个簇中, 然后逐渐细分为越来越小的簇,直到达到了某个终结条件。DIANA (DIvisive ANAlysis)算法是上述过程的反过程,属于分裂的层次聚类,首先将所有的对象初始化到一个簇中,然后根据一些原则(比如最大的欧式距离),将该簇分类。直到到达用户指定的簇数目或者两个簇之间的距离超过了某个阈值。
密度聚类:
密度聚类方法的指导思想是,只要样本点的密度 大于某阈值,则将该样本添加到最近的簇中。例如DBSCAN算法。
谱聚类:
谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量 进行聚类,从而达到对样本数据聚类的目的。