文章目录
- 层次聚类
- 聚合式聚类
- 簇间距离的计算
- 单链接(single-linkage)
- 全链接(complete-linkage)
- 平均链接(average-linkage)
- 三种距离方式的比较
- 分拆式聚类
- 层次聚类算法总结
层次聚类
- 层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构,
- 数据集的划分可采用“自底向上(合并)”的聚合策略,也可采用“自顶向下(拆分)”的分析策略。依据采用的策略可以将层次聚类方法分为:
- 聚合式聚类(agglomerative clustering)
- 分拆式聚类(divisive clustering)
- 两种方法均是启发式的策略,没有去优化一个明确的目标函数来实现聚类,很难严格评价聚类的效果。
- 层次聚类得到的结果是 "树状图"
根据不同虚线的位置,可以得到不同数量的聚类
聚合式聚类
- 在开始时把每个样本都每个样本都当成一簇,然后在每一次迭代中将最相似的(距离最近)的两个簇合并,直到把所有簇合并为包含所有样本的一簇
流程:
- 将每个样本看做一个簇:
- 初始化可供合并的簇集:
- 计算出簇间距离矩阵
- 重复迭代如下步骤直至没有可供合并的簇:
- 选择两个最相似的簇进行合并:
- 创建新簇
- 从 中取出已合并的和:
- 如果,那么增加一个可合并集
- 对于每个 ,更新簇间距离矩阵
簇间距离的计算
单链接(single-linkage)
也称为最近邻距离,即簇 和簇之间的距离定义为两簇之间最近的成员之间的距离:
全链接(complete-linkage)
也称为最远邻距离,即簇G和簇H之间的距离定义为两簇之间最远的成员之间的距离。
平均链接(average-linkage)
- 表示两簇之间所有成员对的平均距离
- 和
三种距离方式的比较
- 单链接(single-linkage)
- 只需要考虑两簇之间有成员对距离足够近就将两簇合并,而并没有考虑其他簇内其他成员的距离。因此单连接法形成的簇很有可能违背紧致性特征,即簇内成员应该尽可能相似
- 全连接法(complete-linkage):
- 只有两簇的联合的成员间的距离相对较小时,才将两簇合并,因此完整连接法倾向于生成紧致簇
- 均连接法(average-linkage)
- 介于单连接和全连接之间的方法
- 易于生成相对紧致的簇同时簇间距离较远。
分拆式聚类
分拆聚类将所有样本集合看作一簇,以自上而下的方式,递归地将现有的簇分拆为两个子簇。
利用不同的启发式方法进行分拆方式的选择:
- 二分K-means聚类
- 选择半径最大的簇,对该簇进行K(2)-means聚类分为两个子簇
- 重复此过程直到到达想要的簇个数
- 最小生成树法
- 将每个样本看作一个图节点,将样本间距离看作节点边的权重,根据此图建立最小生成树。
- 从权重最大处将该簇分拆为两簇,然后重复此过程直到达到想要的簇个数。实际上,该方法得到的聚类结果和单连接的聚合聚类得到的结果一致。
层次聚类算法总结
- 层次聚类一次性地得到了整个聚类的过程,想要分多少个簇都可以直接根据“树状图”来得到结果,改变簇的数目不再需要再次计算数据点的归属类别;
- 单连接和全连接代表了簇间距离度量的两个极端,它们对离群点或噪声数据过分敏感
- 平均连接时一种计算量大,而且错分在层次聚类中时不可修正的,一旦某个样本被分到某个聚类中,则该样本永远停留在该聚类中。
- 层次聚类的缺点是:
- 计算量大
- 而且错分在聚合式聚类中是不可修正的,一旦某个样本被分到某个聚类中,则该样本永远停留在该聚类中。