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. 一直循环,直到均值向量没有更新
    
  • 相关阅读:
    Goflyway
    amd 阉割理论
    wget命令下载页面里所有资源文件
    linux fpcup-Lazarus_fpcupdeluxe TEncoding 乱码
    Error: (lazbuild) 不能加载包 fpcupdeluxe 手工干预卸载问题模块
    集合 数据 指针方法操作集合
    cmake windows pthread
    4 bit all 15
    Parser b2c
    Offline Explorer 规则
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12769740.html
Copyright © 2011-2022 走看看