机器学习 聚类分析常见算法

聚类分析

不存在完美的聚类分析
一致、缩放、灵活

K-means

  • 流程

    • 选择K个点作为初始质心
    • repeat
      • 将每个点指派到最近的质心,形成K个簇
      • 重新计算每个簇的质心
    • until 簇不发生变化或达到最大迭代次数
  • 应用

    • 通过控制k值控制图像压缩程度

DBScan(带噪声的密度聚类算法)

  • 流程
    • DBScan需要二个参数: 扫描半径 (eps) 和 最小包含点数(minPts) 。 任选一个未被访问(unvisited)的点开始,找出与其距离在eps之内(包括eps)的所有附近点。
    • 如果 附近点的数量 ≥ minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问(visited)。 然后递归,以相同的方法处理该簇内所有未被标记为已访问(visited)的点,从而对簇进行扩展。
    • 如果 附近点的数量 < minPts,则该点暂时被标记作为噪声点。
    • 如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。

MeanShift(均值漂移算法),基于密度分布的聚类算法

  • 求解一个向量,使得圆心一直往数据集密度最大的方向移动。说的再简单一点,就是每次迭代的时候,都是找到圆里面点的平均位置作为新的圆心位置。
  • 也可压缩图像,但与kmeans不同,不需指定聚类参数,模型会根据kernel的幅度值,自动计算并完成聚类,但慢,大数据量不适用
    ​​​​

Agnes

AGNES(AGglomerative NESting)算法是凝聚的层次聚类方法。AGNES最初将每个对象作为一个簇,然后这些簇根据某些准则被一步一步地合并。