zoukankan      html  css  js  c++  java
  • 机器学习实战笔记-10-K均值聚类

    K-均值聚类

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

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

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

    4. 二分K-均值算法,伪代码:

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

      将所有点看成一个簇(m个样本中所有特征的均值组成的向量)
      当簇数目小于K时
        对每一个簇
          计算总误差
          如果该总误差大于当前最大的误差,则将该总误差记为当前最大的误差
        找到具有最大误差的簇进行K-均值聚类(k=2)
      选择使得误差最小的那个簇进行划分操作
      
  • 相关阅读:
    hdoj 5311 Hidden String(KMP)
    hdoj 1532 Drainage Ditches(最大网络流)
    ubuntu中php+mysql环境搭建
    android:clipToPadding 和 android:clipChildren
    Js实现动画框架
    JavaScript初步认识
    JavaScript鼠标进入与退出监听动画
    Android框架集合
    Android 6.0(Android M)动态授权
    Android应用申请ROOT权限
  • 原文地址:https://www.cnblogs.com/charleechan/p/11434778.html
Copyright © 2011-2022 走看看