对于聚类的了解可以从最简单最常用的k-means开始。
旧梦:常用聚类算法k-means总结zhuanlan.zhihu.com一、什么是聚类算法
聚类的目的是把长得相似的样本放在一起。常用的聚类算法类型有:划分方法(k-means),层次方法,基于密度的方法,基于网格的方法。聚类算法选取取决于数据的类型和聚类的目的。
二、各类算法基本原理及优缺点
(一)划分算法
1.算法原理
K-means聚类,原理是随机选取k个对象,实例距离哪个点近就更可能是哪一类,将每个类的中心点作为新的对象,不断迭代,直到分类完成。算法简单容易实现,但是需要预先确定k值,比较受初始值的影响,且非常受噪声和离群点的影响,最终得到的结果是局部最优。
k-means对离群点敏感,k-中心则是在k-means基础上的改进,主要是中心点的选取方面有所不同,中心点选择的是距离其他点距离之和最近的点作为中心点。改进之后减少了噪声和离群点的影响,但是计算也变得非常复杂,适合小规模数据。
(二)层次聚类算法
划分方法需要指定类的个数即k值,层次聚类则解决了这个问题。层次分析法有两种,一种是凝聚方法,一种是分裂方法。
1.层次法的原理
凝聚方法:先计算样本之间的距离。每次将距离最近的点合并到同一类。然后再计算类与类之间的距离,将距离最近的类合并为一个