假设有N个待聚类的样本,对于层次聚类来说,步骤:
1、(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度;
2、寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个);
3、重新计算新生成的这个类与各个旧类之间的相似度;
4、重复2和3直到所有样本点都归为一类,结束

     整个聚类过程其实是建立了一棵树,在建立的过程中,可以通过在第二步上设置一个阈值,当最近的两个类的距离大于这个阈值,则认为迭代可以终止。
     另外关键的一步就是第三步,如何判断两个类之间的相似度有多种方法。这里介绍一下三种:
1)SingleLinkage:又叫做 nearest-neighbor ,就是取两个类中距离最近的两个样本的距离作为这两个集合的距离,也就是说,最近两个样本之间的距离越小,这两个类之间的相似度就越大。
容易造成一种叫做 Chaining 的效果,两个 cluster 明明从“大局”上离得比较远,但是由于其中个别的点距离比较近就被合并了,并且这样合并之后 Chaining 效应会进一步扩大,最后会得到比较松散的 cluster 。
2)CompleteLinkage:这个则完全是 Single Linkage 的反面极端,取两个集合中距离最远的两个点的距离作为两个集合的距离。
其效果也是刚好相反的,限制非常大,两个 cluster 即使已经很接近了,但是只要有不配合的点存在,就顽固到底,老死不相合并,也是不太好的办法。
这两种相似度的定义方法的共同问题就是指考虑了某个有特点的数据,而没有考虑类内数据的整体特点
3)Average-linkage:这种方法就是把两个集合中的点两两的距离全部放在一起求一个平均值,相对也能得到合适一点的结果。
average-linkage的一个变种就是取两两距离的中值,与取均值相比更加能够解除个别偏离样本对结果的干扰。

机器学习(6): 层次聚类 hierarchical clustering相关推荐

  1. 机器学习算法(十二):聚类(2)层次聚类 Hierarchical Clustering

    目录 1 层次聚类 1.1 层次聚类的原理 1.2 两个组合数据点间的距离: 2 自底向上的合并算法 2.1 AGNES算法 (AGglomerative NESting) 2.1.1 原理 2.1. ...

  2. 层次聚类-Hierarchical Clustering

    一.概述 层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树,距离越小,相似度越高.在聚类树中,不同类别的原始数据 ...

  3. 聚类(2)——层次聚类 Hierarchical Clustering

    聚类系列: 聚类(序)----监督学习与无监督学习 聚类(1)----混合高斯模型 Gaussian Mixture Model 聚类(2)----层次聚类 Hierarchical Clusteri ...

  4. 机器学习笔记(九)聚类算法Birch和层次聚类Hierarchical clustering

    本篇文章我们继续介绍另一种聚类算法--Birch模型,相对于K-means和DBSCAN,Birch的应用并没有那么广泛,不过它也有一些独特的优势,Birch算法比较适合于数据量大,类别数K也比较多的 ...

  5. 层次聚类(Hierarchical Clustering)——CURE算法详解及举例

    1 CURE聚类概述 绝大多数聚类算法或者擅长处理球形和相似大小的聚类.或者在存在孤立点时变得比较脆弱.CURE采用了一种新颖的层次聚类算法.该算法选择基于质心和基于代表对象方法之间的中间策略.它不同 ...

  6. 层次聚类(Hierarchical Clustering)——BIRCH算法详解及举例

    1 BIRCH概述 BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies)的主要动机是两个方面,一是处理大数据集,二是对 ...

  7. 层次聚类python实现_Python机器学习——Agglomerative层次聚类

    层次聚类(hierarchical clustering)可在不同层次上对数据集进行划分,形成树状的聚类结构.AggregativeClustering是一种常用的层次聚类算法. 其原理是:最初将每个 ...

  8. 聚类算法 距离矩阵_机器学习基础-层次聚类

    层次聚类(Hierarchical clustering) 何时使用? 当我们希望进一步挖掘观测数据的潜在关系,可以使用层次聚类算法. 工作方式 首先我们会计算距离矩阵(distance matrix ...

  9. 机器学习实战——层次聚类算法

    机器学习实战--层次聚类算法 1 层次聚类概述 2 sklearn中的实现 1 层次聚类概述 层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构. 数据集的划分可采用"自底向上& ...

最新文章

  1. leecode---46---数组,dfs---求出数组的所有组合
  2. 云场景实践研究第85期:墨迹天气
  3. JAVA基础-面向对象07
  4. java程序员闯关题网站_Java程序员每周必逛的十大学习网站
  5. 纪念中学15-5(=10)天感想
  6. spring mvc和swagger整合
  7. 自己动手一步步安装Linux系统
  8. 超轻薄笔记本电脑软件测试,一口气测了三款轻薄本 这三个核心问题有答案了...
  9. 1、fiddler 下载、安装、配置
  10. Java开发利器Eclipse和IDEA
  11. sqlite数据库可视化工具—— DB.Browser安装说明
  12. 猿辅导(实习800/天)面试算法题详解
  13. 卡巴斯基蓝屏解决方案
  14. echarts label固定位置_echarts 饼状图调节 label和labelLine的位置
  15. VIBE 运动目标检测
  16. 【Hive】03-数据类型和文件格式
  17. 华硕ASUS Prime Z370M-PLUS II黑苹果OpenCore EFI
  18. Lab1过程及心得体会
  19. office官网用户名密码
  20. 计算机网络的产生与发展

热门文章

  1. Python数据分析:pandas玩转Excel(二)
  2. Python的类和对象
  3. python3 turtle 在哪下载安装_Python3 turtle安装和使用教程
  4. linux tasklet函数,tasklet和work_struct详解
  5. Sybase常用配置参数
  6. 查询商品列表报错This application has no explicit mapping for /error, so you are seeing this as a fallback
  7. 2017.3.12 每日小记
  8. css动态阴影,css实现动态阴影、蚀刻文本、渐变文本效果
  9. 【Level 08】U06 Good Feeling L6 A 3D experience
  10. 【英语学习】【医学】无机化学 - 化合物命名(3) - 含氧酸/无氧酸