机器学习实战笔记-10-K均值聚类

K-均值聚类

  1. 优点:易实现。缺点:可能收敛到局部最小值,大规模数据集上收敛较慢;适用于数值型数据。

  2. K-均值聚类(找到给定数据集的k个簇) 算法流程 伪代码:

    创建k个点作为起始质心(经常是随机选择)
    当任意一个点的簇分配结果发生改变时
      对数据集中的每个数据点
        对每个质心
          计算质心到数据点的间距
        将数据点分配到距其最近的簇
      对每个簇,计算簇中所有点的均值并将均值作为质心
  3. 评价指标:误差(实质上是数据点到簇质心的距离的平方值之和,SSE,Sum of Squared
    Error),以上K-均值算法的问题在于:会收敛于局部最小值而非全局最小值。

  4. 二分K-均值算法,伪代码:
    python 将所有点看成一个簇(m个样本中所有特征的均值组成的向量) 当簇数目小于K时 对每一个簇 计算总误差 在给定的簇上面进行K-均值聚类(k=2) 计算将该簇二分之后的总误差 如果该总误差小于当前最小的误差,则将该总误差记为当前最小的误差 选择使得误差最小的那个簇进行划分操作
  5. 另一种二分-K均值算法,伪代码
    python 将所有点看成一个簇(m个样本中所有特征的均值组成的向量) 当簇数目小于K时 对每一个簇 计算总误差 如果该总误差大于当前最大的误差,则将该总误差记为当前最大的误差 找到具有最大误差的簇进行K-均值聚类(k=2) 选择使得误差最小的那个簇进行划分操作

猜你喜欢

转载自www.cnblogs.com/charleechan/p/11434778.html