zoukankan      html  css  js  c++  java
  • K-means聚类算法

    聚类概念

    在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质和规律。此类学习任务中研究最多的是聚类。

    聚类视图将数据中的样本分为若干个不相交的子集,每个子集称为一个簇。每个簇有各自的性质。

    聚类既能作为一个单独过程,用于寻找数据内在的分布结构,也可以作为分类等其他学习任务的前驱过程。先聚类得到有多少个类型,再将这些类型用以分类。

    性能度量

    聚类性能度量大致有两类,一类是将聚类结果与某个“参考模型”比较,有一个外部指标;另一类直接考察聚类结果,不参考外部指标。

    是否与外部指标的分类相似,有一些指标FM指数、Rand指数。

    或者使用簇直接的距离来度量。闵可夫斯基距离。距离越大,相似度越小。

    k均值算法

    西瓜书聚类9.4.1

    E越小,簇内样本相似度越高。E等于x与簇内均值差平方。

    k均值算法采用贪心策略,迭代优化近似求解最小E。

    流程
    1.从样本集D中随机选取K个样本作为初始均值向量{u1,u2,...,uk}
    2.repeat
    3.令Ci = 空   Ci表示簇
    4. for j = 1 : m do  m个样本
    5. 计算样本xj与各个均值向量的距离
    6. 根据距离最近的均值向量,确定xj的簇标记
    7. 将样本加入相应的簇
    8. end
    9. for i = 1 : k do k个簇
    10. 计算新均值向量,等于所有簇内向量平均u'
    11. ifu' != 原来的u,就替换为u'
    12. 一直循环,直到均值向量没有更新
    
  • 相关阅读:
    前端资料
    贪心
    二叉树的最大深度
    最长回文子串
    动态规划-tsp
    动态规划
    spfa与SLF和LLL(复习)
    动态规划之最长 公共子序列和上升子序列
    最近最远距离之暴力优化
    基于Element-UI封装的季度插件
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12769740.html
Copyright © 2011-2022 走看看