机器学习理论基础—聚类算法

news/2024/9/25 15:26:50/

机器学习理论基础—聚类算法

聚类的距离计算

聚类:物以类聚。将相似的样本聚集到一起,使得同一类簇的样本尽可能接近,不同类簇的样本尽可能远离。(无监督算法

对于距离的定义:满足下面的四个特点

  1. 非负性
  2. 同一性
  3. 对称性
  4. 传递性

在这里插入图片描述

常用的距离度量(连续/离散有序)

  • 明可夫斯基距离(Minkowski distance)
    在这里插入图片描述
  • 当p=2时退化为欧式距离(Euclidean distance)
    在这里插入图片描述
  • p = 1 退化成曼哈顿距离(Manhattan distance)只能沿着坐标轴的方向来进行计算
    在这里插入图片描述

常用的距离度量(离散无序)

使用VDM (Value Difference Metric)方法来进行度量。
在这里插入图片描述
m:特征u取值a的情况下的数量

原型聚类

常用的原型聚类算法是kmeans算法

原型(prototye)指类结构能通过一组典型的特例刻画。比如男、女类似的。给定样本集D={x1,x2,···,xm},k均值算法针对聚类所得簇划分C={C1,C2,···,Ck},求解最小化平方误差问题

在这里插入图片描述
求解改式需要考虑样本集D所有可能的划分,是一个NP-hard问题。一般来说,我们采用迭代算法求解近似划分。
在这里插入图片描述

kmeans算法的流程
在这里插入图片描述

密度聚类

常用的密度聚类算法为:DBSCAN

密度聚类假设聚类结构能够通过样本分布的紧密程度确定。它从样本密度的角度考察样本间的可连接性,并基于可连接样本不断扩展聚类簇得到最终的聚类结果。DBSCAN是密度聚类的代表之一。 它基于一组邻域参数(∈,MinPts)刻画样本分布的紧 密程度。关于DBSCAN的几个概念如下:

在这里插入图片描述

DBSCAN定义的簇为:最大密度相连的样本集合为一个簇。

  1. 连接性:同一个簇内任意两样本必然密度相连
  2. 最大性:密度可达的两个样本必定属于同一个簇

算法的流程步骤:
在这里插入图片描述

层次聚类

层次聚类试图将数据划分成为不同的层次,因此聚类结果呈现明显的树状结构。

AGNES是一种采用自底向上聚合策略的层次聚类算法。在聚类过程中不断合并距离最近的两个类簇,知道达到预期的聚类簇数目。算法的核心在于如何定义类簇中之间的距离

  • 最小距离(两个簇最近的样本距离
    在这里插入图片描述

  • 最大距离(两个簇最远的样本距离
    在这里插入图片描述

  • 平均距离(两个簇两两平均的样本距离
    在这里插入图片描述
    AGNES算法流程
    在这里插入图片描述

总结:结合西瓜书中的具体案例来进行进一步的学习,文章只是对聚类算法进行简单的概述


http://www.ppmy.cn/news/1445356.html

相关文章

在Docker中部署Java应用:Java版本隔离的实践案例

在Docker中部署Java应用:Java版本隔离的实践案例 人生就是一场又一场的相遇,一个明媚,一个忧伤,一个华丽,一个冒险,一个倔强,一个柔软,最后那个正在成长。 背景需求 在软件开发和部…

【软芯民用】水务大数据中心建设集成分析平台

水务大数据中心建设是以高效管理水务企业各类信息数据为中心,开展数据治理工作,旨在打造一个高性能、易管控的数据中心,方便快捷实现数据资源交换和全面共享。 水务大数据中心建设可为用户提供数据库平台搭建、外部数据接入、仪器仪表数据接入…

基于Transformer Models模型完成学习训练模型

在编程之前需要准备一些文件: 首先,先winR打开运行框,输入:PowerShell后 输入: pip install -U huggingface_hub 下载完成后,指定我们的环境变量: $env:HF_ENDPOINT "https://hf-mir…

线性代数 --- 计算斐波那契数列第n项的快速算法(矩阵的n次幂)

计算斐波那契数列第n项的快速算法(矩阵的n次幂) The n-th term of Fibonacci Numbers: 斐波那契数列的是一个古老而又经典的数学数列,距今已经有800多年了。关于斐波那契数列的计算方法不难,只是当我们希望快速求出其数列中的第100&#xff0…

Slave SQL线程与PXB FTWRL死锁问题分析

1. 问题背景 2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大,慢日志内看持锁接近25分钟未释放。 版本: MySQL 5.7.21PXB 2.4.18 慢查询日志: 备份脚本中的备份命令:…

Android数据恢复:如何在手机上恢复丢失的文件和照片

我们都有 我们错误地从手机中删除重要内容的时刻。确实如此 不一定是我们的错。其他人可以对您的手机数据执行此操作 有意或无意。这在某个时间点发生在我们所有人身上。 但是,今天市场上有各种各样的软件可以 帮助恢复已删除的文件。这些类型的软件被归类为数据恢复…

在HTML中使用JavaScript实时显示当前日期和时间(结尾完整例程)

在Web开发中,经常需要在网页上显示当前的日期和时间。HTML本身并不具备这样的动态功能,但我们可以借助JavaScript来实现。JavaScript是一种常用的前端脚本语言,它可以轻松地获取系统时间,并将其插入到HTML元素中。 下面是一个简单…

opencv-基本操作

本篇文章,我们将聊一聊利用opencv进行的一些基本操作,以便后续我们利用opencv进行更加复杂的处理。 1、图像的读取、显示与保存 opencv中利用cv2.imread读取RGB图像,利用cv2.imshow() 进行图像的显示。 # 注意: cv2.imread读取RGB图像时, 返回…