十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)


目录

系列文章目录

一、非监督学习

(一)、定义

(二)、训练流程

(三)、基本算法分类

 二、层次聚类 (Hierarchical Clustering)

(一)、定义

(二)、基本概念

(三)、训练过程

(四)、特点

(五)、适用场景

(六)、扩展和变体

三、总结


一、非监督学习

(一)、定义

        非监督学习是一种机器学习方法,它处理的是没有标签的数据集。与监督学习不同,非监督学习算法不需要知道数据的正确分类或目标值。它的目标是通过数据内部的结构和模式来推断出有意义的信息,如数据的分布、聚类、降维或异常检测等。

(二)、训练流程

        非监督学习的训练流程通常包含以下几个步骤:

  1. 数据准备:收集和预处理数据,可能包括数据清洗、缺失值处理、数据标准化或归一化等。

  2. 模型选择:根据问题的性质选择合适的非监督学习算法。

  3. 参数初始化:初始化模型的参数,这一步对于某些算法至关重要,如K-means聚类。

  4. 模型训练:使用无标签数据训练模型,寻找数据中的结构或模式。这一过程可能涉及到迭代优化,直到满足某个停止准则,如收敛或达到预定的迭代次数。

  5. 结果评估:评估模型的结果,这通常比监督学习更具有挑战性,因为没有明确的“正确答案”。评估可能基于内在指标(如聚类的紧凑度和分离度)或外在指标(如与已知分类的比较)。

  6. 应用模型:使用训练好的模型对新数据进行分析或预测,如对新数据进行聚类或降维。

(三)、基本算法分类

        非监督学习算法可以大致分为以下几类:

  1. 聚类算法:用于将数据点分组到不同的簇中,常见的算法有K-means、层次聚类、DBSCAN、Gaussian Mixture Models等。

  2. 降维算法:用于减少数据的维度,同时尽可能保留数据的结构信息,常见的算法有PCA(主成分分析)、t-SNE(t-分布随机邻域嵌入)、自编码器等。

  3. 关联规则学习:用于发现数据集中项之间的关系,如Apriori算法和Eclat算法。

  4. 异常检测算法:用于识别数据集中的异常点或离群点,如Isolation Forest、Local Outlier Factor等。

  5. 自组织映射(SOM):一种神经网络模型,用于数据可视化和聚类,可以将高维数据映射到低维空间中。

  6. 生成模型:如变分自编码器(VAE)和生成对抗网络(GAN),它们可以生成类似训练数据的新样本。

        非监督学习在很多场景中都有广泛应用,如客户细分、图像识别、自然语言处理、生物信息学和推荐系统等。由于其灵活性和在处理大量未标注数据时的优势,非监督学习是数据科学和人工智能领域的重要组成部分。


 二、层次聚类 (Hierarchical Clustering)

(一)、定义

层次聚类(Hierarchical Clustering)是一种无监督学习的聚类算法,用于发现数据集中的自然分组或聚类。不同于k-means等迭代型聚类算法,层次聚类构建了一个聚类的层次结构,这个结构通常表现为一棵树,称为聚类树或树状图(dendrogram)。层次聚类可以分为两种主要类型:凝聚式(Agglomerative)和分裂式(Divisive)。

(二)、基本概念

  • 凝聚式层次聚类:从最底层开始,每个样本被视为一个单独的聚类。算法随后计算每对聚类之间的相似度,并将距离最近的两个聚类合并。这一过程重复进行,直到所有样本被合并到一个单一的聚类,或者达到预设的停止条件。
  • 分裂式层次聚类:相反,从顶层开始,所有样本被视为一个整体聚类。算法将这个聚类逐步分割成更小的聚类,直到每个样本成为一个独立的聚类,或者达到另一个预设的停止条件。

(三)、训练过程

  1. 初始化

    • 将数据集中的每个对象视为一个单独的聚类,形成初始的n个聚类(n为数据点的数量)。
  2. 计算距离矩阵

    • 构建一个距离矩阵,记录所有聚类两两之间的距离。距离可以由不同的度量方式定义,如欧氏距离、曼哈顿距离等。
    • 通常,距离矩阵是基于聚类内部成员的点到点距离计算的。常用的方法有:
      • 单连接(Single Linkage):两个聚类间的距离定义为它们所有成员间的最小距离。
      • 完全连接(Complete Linkage):两个聚类间的距离定义为它们所有成员间的最大距离。
      • 平均连接(Average Linkage):两个聚类间的距离定义为它们所有成员间距离的平均值。
      • UPGMA(Unweighted Pair Group Method with Arithmetic Mean):类似于平均连接,但在构建树状图时考虑到聚类的大小。
      • WPGMA(Weighted Pair Group Method with Arithmetic Mean):在UPGMA的基础上,根据聚类大小加权平均距离。
  3. 合并聚类

    • 找到距离矩阵中距离最小的两个聚类,并将它们合并为一个新的聚类。
    • 更新距离矩阵,移除已被合并的聚类,用新聚类替换,并重新计算新聚类与其他聚类之间的距离。
  4. 重复合并

    • 重复步骤3,直到所有数据点被合并成一个聚类或达到预定的聚类数目。
    • 每一次合并后,都会在树状图中添加一个节点,表示两个聚类的合并。
  5. 构建树状图

    • 随着聚类的不断合并,可以构建出一个树状图,其中的叶节点对应原始数据点,而内部节点表示聚类的合并事件。
  6. 确定聚类数目

    • 树状图的截断决定了最终的聚类数目。通常,可以通过观察树状图的形态、设定距离阈值或采用统计方法(如Gap Statistic)来确定合理的聚类数目。
    • 截断树状图可以得到不同层次的聚类结果,提供层次结构的信息。

(四)、特点

  • 可视化:层次聚类的结果可以用树状图直观地表示,便于理解和解释。
  • 灵活性:用户可以在不同的层次上决定聚类的数量,而不必在算法开始前指定。
  • 稳定性:一旦聚类树建立,就不会因为随机初始化而改变,这使得结果更加可靠。
  • 局限性:处理大规模数据集时效率较低,因为它涉及到大量的距离计算和存储。

(五)、适用场景

  • 生物信息学:基因表达数据的聚类分析。
  • 市场细分:消费者行为数据的分群。
  • 图像分析:图像分割和特征提取。
  • 文档分类:文本数据的主题分类。

(六)、扩展和变体

  • Divisive Hierarchical Clustering:与凝聚式相反,从一个包含所有数据点的大聚类开始,逐渐分割成更小的聚类。
  • BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies):适用于大型数据集,通过构建CF树(Clustering Feature Tree)来近似数据,减少计算距离的开销。
  • CURE (Clustering Using REpresentatives):通过选择每个聚类的多个代表性点,避免了完全连接和平均连接的缺点,提高了鲁棒性。

    层次聚类因其生成的树状图能够提供数据的层次结构信息,常用于生物信息学、文本分析等领域,特别适合于数据探索和理解数据的内在组织结构。

三、总结

    层次聚类可以与其他技术结合,例如使用不同的距离度量或链接规则(如单链、全链、平均链等)来改进聚类效果。此外,为了提高大型数据集的处理能力,可以采用近似算法或数据降维技术。在某些情况下,层次聚类也可以与其它类型的聚类算法(如k-means)结合使用,以优化最终的聚类结果。例如,可以使用层次聚类来初步确定k-means算法中k的值,或作为预处理步骤来减少k-means的迭代次数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1487240.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络八股文(三)

目录 41.为什么每次建立TCP连接时,初始化的序列号都不一样? 42.初始序列号ISN如何随机产生? 43.既然IP层会分片,为什么TCP层需要根据MSS分片呢? 44.TCP第一次握手丢失,会发生什么? 45.TCP第…

《中国数据库前世今生》观影——认识1980年起步阶段

引出 中国数据库的前世今生观影——认识1980年的起步阶段 20 世纪 60 年代国外就有了商业数据库,20 世纪 80 年代我国才有了第一批数据库专业人才。不要小看这 20 年的差距,它可能需要几代数据库人用一生去追。2024 年了,中国跨过数据库这座大…

谷粒商城实战笔记-56~57-商品服务-API-三级分类-修改-拖拽功能完成

文章目录 一,56-商品服务-API-三级分类-修改-拖拽功能完成二,57-商品服务-API-三级分类-修改-批量拖拽效果1,增加按钮2,多次拖拽一次保存完整代码 在构建商品服务API中的三级分类修改功能时,拖拽排序是一个直观且高效的…

构建Nacos高可用集群

Docker构建过程 创建Docker网络 docker network create -d bridge bdg-nacos-cluster创建MySQL容器,并初始化数据库nacos_config mkdir -p /etc/nacos-mysql/initdb cd /etc/nacos-mysql/initdbrm -f mysql-schema.sql wget http://manongbiji.oss-cn-beijing.al…

【MySQL进阶之路 | 高级篇】事务的ACID特性

1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证给已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 基本概念 事务&…

AI学习记录 - 激活函数的作用

试验,通过在线性公式加入激活函数,可以拟合复杂的情况(使用js实现) 结论:1、线性函数的叠加,无论叠加多少次,都是线性的 如下图 示例代码 线性代码,使用ykxb的方式,叠加10个函数…

力扣 快慢指针

1 环形链表 141. 环形链表 - 力扣(LeetCode) 定义两个指针,一快一慢。慢指针每次只移动一步,而快指针每次移动两步。初始时,慢指针和快指针都在位置 head,这样一来,如果在移动的过程中&#x…

【单片机毕业设计选题24080】-老人外出监护系统设计

系统功能: 系统上电后,OLED显示“欢迎使用智能监护系统请稍后”两秒后进入正常页面显示。 第一行显示体温和心率值。 第二行显示压力值。 第三行显示经度值。 第四行显示纬度值。 注:经纬度信息需要在室外有信号的地方才会有显示。 短按B3按键向指…

【BUG】已解决:No Python at ‘C:Users…Python Python39python. exe’

No Python at ‘C:Users…Python Python39python. exe’ 目录 No Python at ‘C:Users…Python Python39python. exe’ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班…

函数-递归调用

目录 一、基本介绍 二、递归能解决什么问题? 三、递归案例 1、打印问题 2、阶乘问题 四、递归重要规则 五、课堂练习 1、斐波那契数 2、猴子吃桃问题 3、汉诺塔 一、基本介绍 1、简单地说:递归就是函数自己调用自己,每次调用时传入…

react中配置路径别名@

1.说明 在react项目中想要使用代替“src/”需要在项目根目录下配置两个文件,craco.config.js和sconfig.json; craco.config.js配置文件是用于项目解读为“src/” jsconfig.json配置文件是用于vsCode在编辑过程是输入后可以将src下的文件目录进行自动联…

阿里云OS Copilot:解锁操作系统运维与编程的智能助手

目录 引言 OS Copilot简介 OS Copilot的环境准备 创建实验资源 安全设置 设置安全组端口 创建阿里云AccessKey 准备系统环境 OS Copilot的实操 场景一、用OS Copilot写脚本和注释代码 场景二、使用OS Copilot进行对话问答 场景三、使用OS Copilot辅助编程学习 清理…

腾讯云k8s相关

1.某个服务腾讯云内网地址? 比如:spiderflow-web正式环境:http://spiderflow-web.sd-backend:30001 试一试:

前端使用 Konva 实现可视化设计器(17)- 素材嵌套 - 生成阶段

本章主要实现素材的嵌套(生成阶段)这意味着可以拖入画布的对象,不只是图片素材,还可以是嵌套的图片和图形。在未来的章节中,应该可以实现素材成组/解散的效果。 最近难以抽出时间继续本示例更新,以至于拖到…

C语言数据结构课设:基于EasyX前端界面的飞机订票系统

数据结构课程设计说明书 学 院、系: 软件学院 专 业: 软件工程 班 级: 学 生 姓 名: 范 学 号: 设 计 题 目: 飞机订票系统 起 迄 日 期: 2024年6月18日~ 20…

兰州交通大学电子与信息工程学院师资能力提升培训班圆满结束

7月21日,兰州交通大学电子与信息工程学院携手泰迪智能科技开展的“师资能力提升培训班(兰州交通大学电子与信息工程学院专场)”圆满结束,电子与信息工程学院副院长申东、泰迪智能科技区域总监曹玉红,教学组代表杨惠及电…

今日科普:什么是脑血管畸形,该怎么治疗?

谈及脑血管疾病,人们往往存在一种误解,认为这是老年群体的专属问题。然而,事实并非如此,尤其是脑动静脉畸形(AVM)这一特殊类型,它更倾向于侵袭20至40岁的青壮年人群。那么,脑血管畸形…

Transformer是什么?如何理解Transformer?

一、Transformer是什么 Transformer是一种深度学习模型架构,最初由Google的研究团队在2017年提出。这种架构最早用于自然语言处理(NLP),但后来也在其他领域表现出色。Transformer的关键特点是其自注意力机制(Self-Att…

第20讲:EtherCAT网络基础

EtherCAT概述 一、定义 二、EtherCAT原理 1、以太网帧通过到站不停车的方式进行数据交换 (1)如图,当中走过的就是以太网帧。当它经过从站的时候不会停留,但是它会跟从站进行信息交互。 即会把从站需要发送的信息给到了以太网帧里面去,然后把从站需要的信息,从以太网帧里…

河南萌新联赛2024第(二)场:南阳理工学院

A 国际旅行Ⅰ D A*BBBB F 水灵灵的小学弟 H 狼狼的备忘录 I 重生之zbk要拿回属于他的一切 J 这是签到 ##A 国际旅行Ⅰ 链接:https://ac.nowcoder.com/acm/contest/87255/A 来源:牛客网 题目描述 很久很久以前,有 n n n 个国家,第…