聚类算法(二)--层次聚类法

本文详细介绍了层次聚类法,包括其基本原理、距离计算方法、优缺点,以及在R语言中的实现。层次聚类通过自底向上的聚合策略形成树形结构,距离计算涉及单链接、全链接和均链接等多种方法。该算法具有灵活性,但计算量大,且结果受距离计算方法影响。在R语言中,hclust函数可用于层次聚类,并通过plot和rect.hclust函数可视化结果。
摘要由CSDN通过智能技术生成

本文主要介绍层次聚类法的基本原理、距离计算方法、算法的优缺点,以及R语言实战。

一、概述

层次聚类(Hierarchical Clustering)试图在不同层次上对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略和“自顶向下”的分裂策略。分裂方法一个很大的问题是如何把一个大簇分成几个较小的簇。N个对象的集合可以划分成两个互斥的 2n11 种方法,当n很大时,计算量是非常大的,因此分裂方法通常采用启发式方法进行划分,但是导致结果不准确,而且为了效率,分裂方法不对已经做出的划分决策回溯。由于这些原因,聚合方法一般比分裂方法用的多。本文也将主要介绍聚合层次聚类。
AGNES(AGglomerative NESting)是一种采用自底向上聚合的层次聚类算法。其原理为:开始将每个样本看作一个初始聚类簇,然后将距离最近的两类合并成一个新类,计算新类与其他类的距离;重复进行最近两个类的合并,直至所有的样本都聚成一个类

二、距离计算

从上述算法原理中可以看出算法的关键在于如何计算聚类簇之间的距离。给定聚类簇 Ci Cj ,有以下几种常用的方法计算距离:
这里写图片描述
其中,最小距离由两个簇的最近样本决定,最大距离由两个簇的最远样本决定,平均距离由两个簇的所有样本共同决定。当簇类间距离由最小距离、最大距离和平均距离计算时,AGNES算法被相应的称为“单链接”、“全链接”和“均链接”算法。
除此之外,还有中间距离法、重心法、离差平方和法(Ward方法)等距
离计算方法,在此不一一展开。

三、优缺点

1.优点

  • 可以通过设置不同的相关参数值,得到不同粒度上的多层次聚类结构;
  • 不需要事先设定好类的个数,常常可以用作其他聚类算法的前期探索。

2.缺点

  • 计算量比较大,因为要每次都要计算多个cluster内所有数据点的两两距离;
  • 层次聚类过程最明显的特点就是不可逆性,由于对象在合并或分裂之后,下一次聚类会在前一次聚类基础之上继续进行合并或分裂,也就是说,一旦聚类结果形成,想要再重新合并来优化聚类的性能是不可能的;
  • 聚类结果过度依赖于建模过程中距离计算方法的选择,也就是说,不同的距离计算方法会造成结果的极大差异性,往往需要多次试探,选择最优结果。

四、实例

1.R语言函数介绍

在R语言中, hclus() 函数提供层次聚类的计算,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值