作者名片
🤵♂️ 个人主页:@抱抱宝
😄微信公众号:宝宝数模AI(见文末)
✍🏻作者简介:阿里云专家博主 | 持续分享机器学习、数学建模、数据分析、AI人工智能领域相关知识,和大家一起进步!
🐋 如果文章对你有帮助的话,
欢迎👍🏻点赞📂收藏 +关注
目录
在机器学习领域,聚类分析是一种重要的无监督学习方法,广泛应用于数据挖掘、图像处理、市场细分等多个领域。本文将深入探讨层次聚类算法,包括其基本介绍、算法原理以及一个完整的案例分析,帮助读者全面理解和掌握这一经典的聚类方法。
一、算法介绍
1.1 什么是层次聚类
层次聚类(Hierarchical Clustering)是一种通过构建层次结构来组织数据的聚类方法。与其他聚类算法不同,层次聚类不需要预先指定簇的数量,而是通过构建一个树状结构(树状图,Dendrogram)来展示数据的分层关系。层次聚类主要分为两类:
-
凝聚层次聚类(Agglomerative Hierarchical Clustering):自底向上,先将每个数据点视为一个单独的簇,然后逐步合并最相似的簇,直到所有数据点合并为一个簇或达到预定的簇数量。
-
分裂层次聚类(Divisive Hierarchical Clustering):自顶向下,先将所有数据点视为一个整体簇,然后逐步分裂成更小的簇,直到每个簇仅包含一个数据点或达到预定的簇数量。
二、算法原理
层次聚类的核心在于如何衡量簇与簇之间的相似性或距离,以及如何选择合适的链接方法来决定簇的合并或分裂。以下将详细介绍这些关键概念。
2.1 距离度量
在层次聚类中,常用的距离度量包括:
-
欧氏距离(Euclidean Distance):
d ( x , y ) = ∑ i = 1 n ( x i − y i ) 2 d(\mathbf{x}, \mathbf{y}) = \sqrt{\sum_{i=1}^{n}(x_i - y_i)^2} d(x,y)=i=1∑n(xi−yi)2
-
曼哈顿距离(Manhattan Distance):
d ( x , y ) = ∑ i = 1 n ∣ x i − y i ∣ d(\mathbf{x}, \mathbf{y}) = \sum_{i=1}^{n} |x_i - y_i| d(x,y)=i=1∑n<