机器学习7. 常用聚类方法

  • 目录:

    • K-means
    • GMM
    • MeanShift
    • 层次聚类
  • K-means:

    • 确定聚类个数,随机选择K个点作为初始聚类中心
    • 计算各样本到K个聚类中心的距离,将该样本归为距离最近的一类。距离可用欧氏距离J=k=1Kj=1n(xiuk2)J=\sum_{k=1}^{K}{\sum_{j=1}^{n}{(||x_i-u_k||^2)}}
    • 对每个类别内部的样本,使用其均值作为新的聚类中心。反复迭代上述过程。
  • GMM:

    • 确定聚类个数,随机初始化分布的均值和协方差(也可使用其他聚类算法作为初始值)
    • 对混合概率分布做极大似然估计,在这部分需要使用EM算法。参数估计过程请见EM算法专辑。
    • 对每个样本xx,使用其后验概率最大的一类作为聚类结果。
  • MeanShift:【参数,半价r的大小】

    • 该方法是一种基于滑动窗口和质心的聚类算法
    • 对于高维空间上的一个点,计算在半价rr一定下,高维球包含的样本集合ShS_h
    • 对以上样本集合ShS_h计算均值偏移向量MhM_h
      Mh=1KxiSh(xix)M_h=\frac{1}{K}\sum_{{x_i}\in{S_h}}{(x_i-x)}
    • 将当前质心移动上述距离,得到新的聚类中心
    • 特点:
      1. 无需提前决定聚类个数,因为聚类中心最终会聚集到一起
      2. 可以多聚类中心并行计算
      3. 半价大小会极大影响模型性能

机器学习7. 常用聚类方法

  • 层次聚类
    • 自底向上建立聚类结果,每次寻找样本空间中距离最小的两个样本聚为一类,聚类中心就是他们的均值。删掉聚类的样本,更新聚类中心后放到数据集里面。
    • 聚类的过程其实就是样本减少的过程。直到所有样本归为一类,结束算法。然后人为的选择想要使用的聚类个数(就是右图横着切一刀,你想要几个聚类个数就切几根线。)
      机器学习7. 常用聚类方法