matlab 实现分层聚类算法,科学网—层次聚类算法 各种linkage - 郑俊娟的博文

本文介绍了层次聚类算法的三种类型:single-linkage、complete-linkage和average-linkage,以及它们在matlab中的实现。层次聚类包括凝聚法和划分法,常用于数据的自动分类,如新闻分类。在matlab中,通过pdist和linkage函数可以方便地计算距离矩阵和构建层次聚类树。
摘要由CSDN通过智能技术生成

single-linkage聚类法(也称connectedness或minimum方法):类间距离等于两类对象之间的最小距离,若用相似度衡量,则是各类中的任一对象与另一类中任一对象的最大相似度。

complete-linkage聚类法(也称diameter或maximum方法):组间距离等于两组对象之间的最大距离。

average-linkage聚类法:组间距离等于两组对象之间的平均距离。

average-link聚类的一个变种是R. D'Andrade (1978)的UCLUS方法,它使用的是median距离,在受异常数据对象的影响方面,它要比平均距离表现更佳一些.

这种层次聚类称为“凝聚"法,由于它迭代合并所有分类。也有一种“划分”层次聚类法,与“凝聚”相反,它先将所有对象放在同一类中,并不断划分成更小的类,划分法一般很少使用。

整个聚类过程其实是建立了一棵树,在建立的过程中,可以通过在第二步上设置一个阈值,当最近的两个类的距离大于这个阈值,则认为迭代可以终止。另外关键的一步就是第三步,如何判断两个类之间的相似度有不少种方法。这里介绍一下三种:

SingleLinkage:又叫做 nearest-neighbor ,就是取两个类中距离最近的两个样本的距离作为这两个集合的距离,也就是说,最近两个样本之间的距离越小,这两个类之间的相似度就越大。容易造成一种叫做 Chaining 的效果,两个 cluster 明明从“大局”上离得比较远,但是由于其中个别的点距离比较近就被合并了,并且这样合并之后 Chaining 效应会进一步扩大,最后会得到比较松散的 cluster 。

CompleteLinkage:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值