几个聚类方法简单总结

前言

对几类聚类方法的流程简单总结。

  • 各种聚类算法的系统介绍和比较
  • 聚类方法:DBSCAN算法研究(1)–DBSCAN原理、流程、参数设置、优缺点以及算法
  • DBScan的参数调节
  • k-means的原理,优缺点以及改进
  • DBSCAN聚类算法原理及其实现

1. 基于层级的聚类(如BIRCH)

  1. 自底向上开始聚类,最开始将所有的样本点视为一个类。

  2. 计算不同类之间的相似度
    -single linkage:两个类中距离最短的两个点的距离。
    -complete linkage:两个类距离最远的两个点的距离。
    -average linkage: 两个类中样本点的平均距离。

  3. 合并两个距离最短的类。

  4. 重复2,3直到所有样本点合并为一个类,或者达到结束准则条件。


2. 基于划分的方法-Kmeans

思想:族内距离尽可能近,族间距离尽可能远。

1.随机选定K个初始中心
2.计算样本点到聚类中心的距离,划入距离最短的类中。
3.重新计算聚类中心
4.如果聚类中心没有变化(或者SSE收敛),结束。

优缺点
  • 参数少
  • 收敛快,结果可解释性强
  • 对异常点敏感

3. 基于密度的聚类方法(BDSCAN)

选点邻域半径eps,选定邻域内包含的最少点数MInpts

  1. 从一个样本点开始,如果其邻域内的点不少于Minpts,将这些点划入到一个类中(密度直达
  2. 对该类中的其他点,计算邻域内点的数量,满足Minpts,划入该类(密度连接),重复2
  3. 对没有计算过的点,计算邻域内点的数量,满足Minpts,将这些点划入类中,重复2。
  4. 直达所有点都计算一遍。

参数如何确定?

Minpts:
值太小,导致大量的核心点,一般选定为ndim(数据的维度)???

eps:利用K-距离曲线

  1. 计算所有点到其他点的距离,从小到大排序,第k个距离k(k就是Mnpts的值)
  2. 讲所有k距离点排序,绘制曲线,拐点作为eps的值

需要多次试验选取较好的参数

优缺点
  • 不需要确定簇数量
  • 在密度不均匀,或者族间距离较大时,聚类效果较差

不同聚类对噪音的敏感:

  • 聚类本身是一种异常点检测的办法。
  • 层级聚类和基于划分的聚类-kmeans,要求所有点都要划分到某一个类中,因此聚类结果对噪音会比较敏感.
  • 基于密度的聚类方法,如DBSCAN,对于每一个样本点,需要检查其领域范围内最少点的数量,如果不满足最少点要求,同时不再任何核心点领域内,则认为是异常点。

你可能感兴趣的:(机器学习)