初识分级聚类算法

  首先介绍一下聚类算法。先来一段维基百科上扒下来的介绍:聚类分析(英语:Cluster analysis,亦称为群集分析)是对于统计数据分析的一门技术,在许多领域受到广泛应用,包括机器学习,数据挖掘,模式识别,图像分析以及生物信息。聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有相似的一些属性,常见的包括在坐标系中更加短的空间距离等。

  接着介绍今天需要讲述的聚类算法:分级聚类算法。接着再来一段摘抄,这段来自集体智慧编程。分级聚类通过连续不断的将最为相似的群组两两合并,来构造出一个群组的层级结构。其中的每个群组都是从一个简单元素开始的。在每次迭代的过程中,分级聚类算法会计算每两个群组间的距离,并将最近的两个群组合并成一个新的群组。这个过程一直重复下去,知道只剩下一个群组为止。

  接下来,以一维数据的形式讲述这个算法。以2、5、6、7、8、23为例子。如图下图所示:

《初识分级聚类算法》

《初识分级聚类算法》

《初识分级聚类算法》

《初识分级聚类算法》

《初识分级聚类算法》

  根据上面算法的执行流程,我们可以发现,这个算法有点类似于哈夫曼树的构造:

    1,查找节点集合中,距离最近的两个节点。

    2,将找到的两个节点合并为一个节点,添加到节点集合中,并将先前的两个节点从节点集合中移除。

    3,重复第一步和第二步,直到节点集合中只剩下一个节点。

  根据上述算法,我们可以得到一颗聚类二叉树。

  当使用上述算法的时候,距离是作为分类的基础。在一维情况下,我们使用简单的欧几里的距离能完成操作。当数据呈现多维的时候,欧几里的距离就显得力不从心。下文将讲解一些“距离”。

  首先是欧几里的距离。计算公式如下: 《初识分级聚类算法》。当数据是二维时,计算公式即为两点之间的直线距离,这个距离计算公式相对比较简单。

  接着是皮尔逊相关度。皮尔逊相关度计算公式即为概率论中的相关系数的计算公式: 《初识分级聚类算法》

    原文作者:聚类算法
    原文地址: https://blog.csdn.net/ghostlv/article/details/44647033
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞