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. 一直循环,直到均值向量没有更新
    
  • 相关阅读:
    Max Sum Plus Plus HDU
    Monkey and Banana HDU
    Ignatius and the Princess IV HDU
    Extended Traffic LightOJ
    Tram POJ
    Common Subsequence HDU
    最大连续子序列 HDU
    Max Sum HDU
    畅通工程再续
    River Hopscotch POJ
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12769740.html
Copyright © 2011-2022 走看看