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)
      选择使得误差最小的那个簇进行划分操作
      
  • 相关阅读:
    Java基础
    第11章 处理概括关系
    第10章 简化函数调用
    第9章 简化条件表达式
    第8章 重新组织数据(暂略)
    第7章 在对象之间搬移特性
    第6章 重新组织函数
    【剑指offer】57
    【每日一题-leetcode】45.跳跃游戏 ||
    【左神算法】随机+荷兰国旗优化版快排
  • 原文地址:https://www.cnblogs.com/charleechan/p/11434778.html
Copyright © 2011-2022 走看看