层次聚类算法(Hierarchical Clustering Algorithm)

层次聚类算法(Hierarchical Clustering Algorithm)是一种常用的无监督学习算法,用于将数据集划分成多个不同层次的簇。与K均值聚类不同,层次聚类不需要预先指定聚类数量,而是通过计算样本之间的相似度或距离来构建一个层次结构。下面将详细介绍层次聚类算法的基本思想、原理以及Python代码实现。

基本思想

层次聚类算法的基本思想是将数据集构建成一个层次结构,其中每个样本最初表示为一个单独的簇,然后通过计算样本之间的相似度或距离来逐渐将簇合并成更大的簇。整个过程可以表示为一棵树形结构,称为聚类树或者树状图。通过该树状图,我们可以选择合适的切割点来确定最终的聚类结果。

原理

层次聚类算法通常有两种主要的方法:凝聚(自底向上)和分裂(自顶向下)。

凝聚层次聚类(Agglomerative Hierarchical Clustering)

凝聚层次聚类从每个样本作为一个单独的簇开始,然后在每个步骤中合并最相似的簇,直到达到所需的聚类数或者只剩下一个簇。该算法的主要步骤如下:

  1. 初始化:将每个样本视为一个簇。
  2. 计算相似度/距离:根据某种相似度或距离度量方法计算任意两个样本之间的相似度或距离。
  3. 合并:合并相似度/距离最小的簇,形成新的簇。
  4. 更新相似度/距离矩阵:根据实际合并情况更新相似度/距离矩阵。
  5. 重复:重复步骤3和4,直到只剩下一个簇或达到所需的聚类数。
分裂层次聚类(Divisive Hierarchical Clustering)

分裂层次聚类从所有样本作为一个簇开始,然后在每个步骤中选择一个簇并将其分裂成更小的簇,直到达到所需的聚类数或者每个簇包含一个样本。该算法的主要步骤如下:

  1. 初始化:将所有样本视为一个簇。
  2. 计算相似度/距离:根据某种相似度或距离度量方法计算任意两个样本之间的相似度或距离。
  3. 选择簇:选择一个需要分裂的簇,通常是其中包含样本数最多的簇。
  4. 分裂:将选择的簇分裂成更小的簇,形成新的簇。
  5. 更新相似度/距离矩阵:根据实际分裂情况更新相似度/距离矩阵。
  6. 重复:重复步骤3~5,直到达到所需的聚类数或每个簇只包含一个样本。

Python代码实现

下面是一个使用凝聚层次聚类算法进行聚类的Python代码实现示例:

import numpy as np
from scipy.cluster.hierarchy import linkage, dendrogram

# 生成样本数据
np.random.seed(0)
X = np.random.randn(100, 2)

# 使用凝聚层次聚类算法进行聚类
Z = linkage(X, method='average', metric='euclidean')

# 可视化聚类结果的树状图(聚类图)
dendrogram(Z)

# 输出最终的聚类结果
clusters = np.array([i for i in range(1, len(X) + 1)])
print("簇标签:")
print(clusters)

总结

层次聚类算法是一种常用的无监督学习算法,通过构建一个层次结构来划分数据集。凝聚层次聚类将样本逐渐合并成更大的簇,而分裂层次聚类则是将整个数据集分裂成更小的簇。这两种方法都可以根据实际问题选择合适的算法来进行聚类。

如果你想更深入地了解人工智能的其他方面,比如机器学习、深度学习、自然语言处理等等,也可以点击这个链接,我按照如下图所示的学习路线为大家整理了100多G的学习资源,基本涵盖了人工智能学习的所有内容,包括了目前人工智能领域最新顶会论文合集和丰富详细的项目实战资料,可以帮助你入门和进阶。

链接: 人工智能交流群【最新顶会与项目实战】(点击跳转)

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RRRRRoyal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值