【机器学习】24. 聚类-层次式 Hierarchical Clustering

1. 优势和缺点

优点:

  • 无需提前指定集群的数量
    通过对树状图进行不同层次的切割,可以得到所需数量的簇。
  • 树状图提供了一个有用的可视化-集群过程的可解释的描述
  • 树状图可能揭示一个有意义的分类

缺点:

  • 计算复杂度较大, 限制了其在大规模数据集上的应用,空间复杂度n^2 , 时间复杂度 n^3
  • not incremental 没有增量, 假设所有数据都存在
  • 噪声和离群点会对聚类结果产生较大影响

2. 两种方法

聚合式 agglomerative(bottom-up) and 分裂式divisive(top-down)

3. 三种Link

  • Single link(min)
  • Complete link(max)
  • Average link

4. 聚合式agglomerative(bottom-up) 实现

  • 计算邻近矩阵
  • 将每个数据点都视为一个簇
  • 重复过程:
    • 合并两个最近的簇
    • 更新邻近矩阵
  • 结束条件: 直到只有一个剩余的簇

5. 分裂式divisive(top-down)实现

  • 首先, 将数据点的距离关系表示为一个邻近图, 生成MST
  • 重复过程:
    • 通过切断MST中的最长边来创建新簇
    • 结束条件: 直到所有的点都被分割为单独的簇

在这里插入图片描述


http://www.niftyadmin.cn/n/5739742.html

相关文章

银行业专业人员职业资格考试《公司信贷(中级)》机考真题精选及详解

2022年银行业专业人员职业资格考试《公司信贷(中级)》机考真题精选及详解 ​ 1.[单选题]下列选项中,不属于保证担保的主要风险因素的是(  )。 A.未办理相关登记手续 B.保证手续…

无人机声学侦测算法详解!

一、算法原理 无人机在飞行过程中,其电机工作、旋翼震动以及气流扰动等都会产生一定程度的噪声。这些噪声具有独特的声学特征,如频率范围、时域和频域特性等,可以用于无人机的检测与识别。声学侦测算法利用这些特征,通过一系列步…

C# 程序暂停的两种方式

C# 程序暂停的两种方式:EventWaitHandle 与 volatile bool pause 在C#中,线程控制是多线程编程的重要组成部分,其中实现暂停的需求经常出现。本文将详细探讨使用EventWaitHandle和设置volatilebool来实现线程暂停的不同方式,它们…

[免费]基于Python的Django+Vue3在线考试系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的基于Python的DjangoVue3在线考试系统,分享下哈。 项目视频演示 【免费】基于Python的DjangoVue3在线考试系统 Python毕业设计_哔哩哔哩_bilibili 项目介绍 本论文提出并实现了一种基于Python…

高级java每日一道面试题-2024年10月28日-RabbitMQ篇-RabbitMQ的使用场景有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: RabbitMQ的使用场景有哪些? 我回答: RabbitMQ是一个开源的消息代理和队列服务器,它遵循高级消息队列协议(AMQP)。RabbitMQ的核心作用是作为应用程序之间的中介,实现异步消息传递。它…

Day 42 || 完全背包、518. 零钱兑换 II 、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)

完全背包 题目链接:卡码网第52题 思路:和之前01背包一样,但是物品可以无限放置,所以之前二维数组中的背包容量是倒序遍历的,现在可以正序遍历即可重复放入。 import java.util.Scanner; public class Main {public …

《Python编程快速上手》第一天---前三章打基础

第一章 Python基础 1、新的数学操作符 ** :指数操作 //:整除 /:除法 2、字符串连接和复制 连接:“” 例如:“Alice”“Bobby” > “AliceBobby” 复制:“*” 例如:“Alice” * 5 > “…

[linux]docker快速入门

安装 docker官网: CentOS | Docker Docs 准备工作: 准备ConstOS7的虚拟机环境账密: root/root飞书文档: Docs 卸载旧版本 // 首先如果系统中已经存在旧的Docker,则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest…