1. 基本概念

1) 什么是聚类问题

聚类是指根据数据本身的特征,将样本按照相似度划分为不同的类簇,从而揭示样本之间内在的性质以及相互之间的联系规律。聚类属于无监督学习。

2)好的聚类算法有哪些特征?

  • 良好的可伸缩性。不仅能在小数据集上拥有良好性能,得到较好聚类结果,而且在处理大数据集同时同样有较好的表现。
  • 处理不同类型数据的能力。不仅能够对数值型的数据进行聚类,也能够对诸如图像、文档、序列等复杂数据进行聚类,甚至在多种类型的混合数据集中有良好的表现。
  • 对样本顺序的不敏感性。良好的聚类算法应当不受输入数据顺序的影响,任意顺序数据输入都能够得到相同的聚类结果。
  • 约束条件下的表现。实际应用场景中,聚类算法需要收到应用北京的约束。
  • 易解释性和易用性。不是所有的聚类分析使用这都是数据分析专家,对于用户来说,聚类分析算法应该方便使用,且聚类得到的结果容易解释。

3)轮廓系数

好的聚类:内密外疏,同一个聚类内部的样本要足够密集,不同聚类之间样本要足够疏远。

轮廓系数计算规则:针对样本空间中的一个特定样本,计算它与所在聚类其它样本的平均距离a,以及该样本与距离最近的另一个聚类中所有样本的平均距离b,该样本的轮廓系数为(b-a)/max(a, b),将整个样本空间中所有样本的轮廓系数取算数平均值,作为聚类划分的性能指标s。

轮廓系数的区间为:[-1, 1]。 -1代表分类效果差,1代表分类效果好。0代表聚类重叠,没有很好的划分聚类。

2. K-Means聚类

1)什么是K-Means聚类

K均值聚类算法是一种常用的聚类算法,简单高效,其步骤为:

  • 第一步:随机选择K个样本作为K个聚类中心,计算每个样本到各个聚类中心的欧式距离,将该样本分配到与之距离最近的距离中心所在的类别中。
  • 第二步:根据第一步所得到的聚类划分,分别计算每个聚类的几何中心,将几何中心作为新的聚类中心,重复第一步,知道计算所得几何中心与聚类中心接近重合为止。

聚类算法的性能评价指标_机器学习

2)K-Means的特点

①优点

  • 原理简单,实现方便,收敛速度快;
  • 聚类效果较优;
  • 模型的可解释性强;

②缺点

  • 需要事先知道聚类数量;
  • 聚类初始中心的选择对聚类结果有影响;
  • 采用的是迭代的方法,只能得到局部最优解;
  • 对于噪音和异常点比较敏感。

3. 均值漂移

1)均值漂移

均值漂移是一种基于聚类中心的聚类算法。核心思想是:在数据集中选定一个点,然后以这个点为圆心,r为半径,画一个圆(二维是一个圆,这里可以推广为高维圆),求出这个点到所有点的向量的平均值,而圆心与向量均值的和为新的圆心,然后迭代此过程,直到满足一点的条件结束。

聚类算法的性能评价指标_聚类算法的性能评价指标_02

在实际计算时,首先选择一个中心点,然后计算该中心点一定范围之内所有点到中心点的距离向量的平均值,计算该平均值得到一个偏移均值,然后将中心点移动到偏移均值位置,通过这种不断重复的移动,可以使中心点逐步逼近到最佳位置。这种思想类似于梯度下降方法,通过不断的往梯度下降的方向移动,可以到达梯度上的局部最优解或全局最优解。

2)均值漂移算法特点

①优点

  • 聚类数量不必已知;
  • 聚类中心不依懒于初始值选取,聚类划分结果较为稳定。

②缺点

  • 样本空间服从某种概率分布规则,否则算法准确性会大打折扣

4. 噪声密度

1) 什么是噪声密度?(DBSCAN)

噪声密度简写为(DBSCAN)随机选择一个样本作为圆心,以事先给定的半径做圆,凡被该圆圈中的样本都被划分为与圆心样本同处一个聚类,再以这些被圈中的样本做圆心,以事先给定的半径继续做圆,不断加入新的样本,扩大聚类的规模,直到再无新的样本加入为止,即完成一个聚类的划分。以同样的方法,在其余样本中继续划分新的聚类,知道样本空间被耗尽为止,即完成整个聚类划分过程。

聚类算法的性能评价指标_聚类算法的性能评价指标_03

2)DBSCAN算法的特点

  1. 事先给定的半径会影响最后的聚类效果,可以借助轮廓系数选择较优的方案。
  2. 根据聚类的形成过程,把样本细分为以下三类:
    外周样本:被其它样本聚集到某个聚类中,但无法再引入新样本的样本。
    孤立样本:聚类中的样本数低于所设定的下限,则不称其为聚类,反之称其为孤立样本。
    核心样本:除了外周样本和孤立样本以外的样本。

①优点

  • 不用人为提前确定聚类类别数K;
  • 聚类速度快;
  • 能够有效的处理噪声点(无法划分到某个聚类中的点);
  • 能够应对任意形状的聚类;

②缺点

  • 当数据量过大时,要求较大的内存支持I/O消耗大;
  • 当空间聚类的密度不均匀、聚类间距差别很大时、聚类效果有偏差;
  • 调参相对复杂;

5.凝聚层次

1)什么是凝聚层次

凝聚层次算法,首先将每个样本看做独立的聚类,如果聚类数大于预期,则从每个样本出发凝聚离它最近的样本,将样本凝聚所形成的团块作为新的聚类,再不断扩大聚类规模的同时,减少聚类的总数,知道聚类数减少到预期值为止,这里的关键问题是如何计算聚类之间的距离。

根据距离不同定义,将凝聚层次算法分为三种:

  • ward:默认选项,挑选两个簇来合并,使得所有簇中的方差增加最小。这通常会得到大小差不多相等的簇。
  • average链接:将簇中所有点之间平均距离最小的两个簇合并。
  • complete链接:称为最大链接,将簇中点之间最大距离最小的两个簇合并。

ward适用于大多数数据集。如果簇中的成员个数非常不同,那么average或complete可能效果更好。

2)凝聚层次特点

①优点

  • 没有聚类中心,不依懒于中心点的选择;
  • 对于中心不明显的样本聚类性更稳定;

②缺点

  • 事先给定期望划分的聚类数(k),进行指标优化;