美文网首页
聚类算法 - 凝聚层次聚类

聚类算法 - 凝聚层次聚类

作者: dora_yip | 来源:发表于2021-02-28 17:26 被阅读0次

    一、定义

    层次聚类就是通过对数据集按照某种方法进行层次分解,直到满足某种条件为止。按照分类原理的不同,可以分为凝聚和分裂两种方法。

    层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足为止。具体又可分为凝聚分裂的两种方案:

    1、凝聚

    凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。.


    image.gif

    2、分裂

    分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。


    image.png

    本篇主要讨论凝聚的层次聚类。

    二、凝聚层次聚类算法步骤

    第一步,将训练样本集中的每个数据点都当做一个聚类
    第二步,计算每两个聚类之间的距离,将距离最近的或最相似的两个聚类进行合并,如同下图中的p1和p2、p5和p6
    第三步,重复上述步骤,依旧计算每个聚类的距离,当然这次因为已经有聚合起来的簇了因此距离的计算方式有多种:【单链】簇内的最近的点的距离、【全链】簇内的最远的点的距离、【组平均】簇的平均距离、簇的相似度等
    第四步,直到得到的当前聚类数是合并前聚类数的10%,即90%的聚类都被合并了;当然还可以设置其他终止条件,这样设置是为了防止过度合并,此时需要几个簇,那么就可以用一条横线去截取分出的簇,如下图分出3类、4类、5类的横线截止

    image.png

    ps:距离在通常的情况下可以计算欧几里得距离,就是普通的直线距离,还可以计算余弦相似度
    具体的动画效果可以参考视频,这是---->传送门

    三、优点与缺点

    1、优点

    1)距离和规则的相似度容易定义,限制少
    2)不像kmeans,不需要预先制定聚类数
    3)可以发现类的层次关系

    2、缺点

    1)计算复杂度太高
    2)奇异值也能产生很大影响
    3)由于根据距离来聚合数据,算法很可能聚类成链状

    相关文章

      网友评论

          本文标题:聚类算法 - 凝聚层次聚类

          本文链接:https://www.haomeiwen.com/subject/xhmrfltx.html