【深度学习基础-16】非监督学习-Hierarchical clustering 层次聚类-基本概念(上)

版权声明:本文为博主原创文章,未经允许,不得转载!欢迎留言附带链接转载! https://blog.csdn.net/qq_15698613/article/details/86519371

目录

1. 层次聚类(Hierarchical clustering)的步骤

2. 得到这个树型结构后,根据阈值进行“砍树”,也就是分类 

3.判断两个类之间的相似度有不少种方法,下面介绍三种 


1. 层次聚类(Hierarchical clustering)的步骤

      假设有N个样本

  1. (初始化)把每个样本归为1类,计算两个类之间的聚类,也就是样本与样本之间的相似度
  2. 寻找各类之间最近的两个类,把他们归为1类(类总数少了一个)
  3. 重新计算生成这个类与各个旧类之间的相似度
  4. 重复2和3直到所有样本点都归为一类

                                                

(解析:1,2,3,4,5这可以分成5类,然后计算每两个类之间的聚类,发现有10种组合

               1,2之间聚类最近,然后将1,2变成第6类,现在成为6,3,4,5,也就是剩4类,发现有6种组合

                4,5之间类最近,将4,5变成7类,现在成为6,3,7,也就是剩3类,发现剩3种组合

                6,3之间类最近,将6,3变成8类,现在成为8,7,也就是剩2类,剩1种组合)

2. 得到这个树型结构后,根据阈值进行“砍树”,也就是分类 

                              

3.判断两个类之间的相似度有不少种方法,下面介绍三种 

  • SingleLinkage:又叫做 nearest-neighbor ,就是取两个类中距离最近的两个样本的距离作为这两个集合的距离,也就是说,最近两个样本之间的距离越小,这两个类之间的相似度就越大。容易造成一种叫做 Chaining 的效果,两个 cluster 明明从“大局”上离得比较远,但是由于其中个别的点距离比较近就被合并了,并且这样合并之后 Chaining 效应会进一步扩大,最后会得到比较松散的 cluster 。      
  • CompleteLinkage:这个则完全是 Single Linkage 的反面极端,取两个集合中距离最远的两个点的距离作为两个集合的距离。其效果也是刚好相反的,限制非常大,两个 cluster 即使已经很接近了,但是只要有不配合的点存在,就顽固到底,老死不相合并,也是不太好的办法。这两种相似度的定义方法的共同问题就是指考虑了某个有特点的数据,而没有考虑类内数据的整体特点。      
  • Average-linkage:这种方法就是把两个集合中的点两两的距离全部放在一起求一个平均值,相对也能得到合适一点的结果。      
  • average-linkage的一个变种就是取两两距离的中值,与取均值相比更加能够解除个别偏离样本对结果的干扰。 

猜你喜欢

转载自blog.csdn.net/qq_15698613/article/details/86519371
今日推荐