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)
      选择使得误差最小的那个簇进行划分操作
      
  • 相关阅读:
    ORA-12543: TNS:destination host unreachable
    Visual Studio 2008 连接云端 visualstudio.com
    将博客搬至CSDN
    Shiro 系列笔记(一)
    Centos 6.7 安装jdk
    Centos service启动失败原因--权限问题
    form表单提交的ajax形式
    slf4j与mybatis结合显示sql
    Docker 部署 redis教程,附带部分小建议,防止踩坑
    Android中的EditText默认时不弹出软键盘的方法
  • 原文地址:https://www.cnblogs.com/charleechan/p/11434778.html
Copyright © 2011-2022 走看看