02. 聚类算法 - 相似度距离公式、维度灾难

机器学习——聚类——距离聚类法——K-means 目录理论部分1.1 聚类概念1.1.1 定义1.1.2 与分类的区别1.2 相似度测量1.2.1 欧式距离1.2.2 马氏距离1.3 聚类准则1.3.1 试探方法1.3.2 聚类准则法1.4 常见聚类方法1.5 K均值聚类1.5.1 K均值聚类思想1.5.2 K均值聚类流程1.5.3 实例1.5.4 K均值聚类优点1.5.5 K均值聚类缺点1.6 评估指标代码部分2.1 K均值代码实现2.2 评估指标代码实现2.3 整体实现 理论部分 1.1 聚类概念 1.1.1 定义 定义: 对一批没有标出类别的模式样本 阅读详情

聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小。

聚类算法的重点是计算样本项之间的相似度,有时候也称为样本间的距离。


PS: 补充一个维度灾难的概念

数据维度高,数据量大,这种时候样本在空间中比较密集,这种情况不太好划分。只有当数据相对比较松散的时候,才能做到有效的聚类分析。

维度高,数据量大的时候人工看就要看半天。

用几何来理解,1维空间可以解释100%的数据。2维空间是一个正方形,能解释的数据可能只是正方形中的一个圆,其他部分解释不到。3维空间是一个正方体,能解释的数据是一个球体。在2维中不能解释的数据是正方形靠近四个角附近的区域,在3维中不能解释的是靠近正方体8个顶点附近的体积。随着维度的增大,不能解释的量也越来越大(聚集在超矩形体的顶点附近),当维度越接近无穷维的时候,分类的结果自然就差了。(不太懂,为啥2维中不能解释的数据是正方形靠近四个角附近的区域??)

一、相似度距离公式

1、闵可夫斯基距离(Minkowski)

闵可夫斯基距离

当p为1的时候是曼哈顿距离(Manhattan)
当p为2的时候是欧式距离(Euclidean)
当p为无穷大的时候是切比雪夫距离(Chebyshev)

曼哈顿距离 - 欧式距离 - 切比雪夫距离

2、标准化欧式距离(Standardized Euclidean Distance)

左边公式是对样本所有的特征值做标准化,得到新的特征值。

平均值符号

平均值符号

中间公式里的s标准差怎么来的?
特征x1,对应了很多样本。所有样本的1号特征的均值即标准差,记为s1;
若每组样本有n个特征,那么就对应n个标准差 s1,s2 , ... , sn;

左 - 标准化的核心概念 中 - 总的标准差s求解 右 - 标准化欧氏距离

 

3、夹角余弦相似度(Cosine):

挖掘数据内在关联的时候可能会用到。

设两个向量

夹角余弦相似度

4、KL距离(相对熵)

用来度量两个分布的相似程度。P(X)和Q(X)是两个分布。求出来的是P相对于Q的相似度。

物理意义:在一个事件空间中,P(X)的事件空间,若用Q(X)这个概率分布进行编码的时候(Q来描述P),平均每一个基本事件的编码长度增加了多少比特。回顾之前信息熵的概念:《01 决策树 - 数学理论概述 - 熵》

或者也可以这样理解:已知了Q的分布,用Q近似得去估计P,使得P的不确定度减少了多少。即,用一个分布来保证另一个分布的额外不确定度。

当P(X) = Q(X)时,表示两个分布完全相等。那么相对熵=0;
当P(X)和Q(X)的相似度差异很大,那么意味着相对熵的距离就越大。

KL距离(相对熵)

 


Jaccard、Pearson这两个相似度的度量公式偏重于统计学。 在机器学习中用的比较少,但是可以直接计算得到结果。

5、杰卡德相似系数(Jaccard)

如果J(A,B) 越趋近于1,表示A和B集合完全重合。如果J(A,B) 趋近于0,表示A和B集合几乎没有相交。

即J(A,B) 越接近于1,越相似。距离和相似程度反比,距离越小,相似程度越大。所以用 1-J(A,B) 来表示度量函数时,值越大,相似度越大。

Jaccard

6、Pearson相关系数

回顾: 标准差、方差、协方差的公式。

E[(X-E(X))(Y-E(Y))]称为随机变量X和Y的协方差
即 COV(X,Y)=E(XY)-E(X)E(Y);

协方差

协方差、方差都是描述的是数据的波动程度。
如一组数据:A:[0.00038、0.00001、0.00031];
第1个数据的大小是第二个数据的38倍,但是从绝对数值大小上来看,两者只相差了0.00037,方差看上去不大。
现在有另一组数据:B:[100000,1000020,1000010];
是A数据的方差大还是B数据的方差大?
绝对数值上是B的方差大,但是从波动范围来看,A数据的波动更大。所以用方差或者协方差来描述数据的波动情况不是很好的选择。

所以在计算相对数据波动大小的时候,我们要将数据标准化。
即:两个数据的协方差/两个数据的标准差的乘积 = Cov(X,Y) / √D(X) √D(Y)
衡量两个特征相似度的指标,我们把指标缩放到了[-1,1]之间。

具体计算公式如下:

Pearson

 

一般情况下:
若:|PXY|<0.3 则:X和Y不相关;
若:0.3<|PXY|<0.7 则: X和Y弱相关
若:0.7<|PXY|<1 则:X和Y强相关;
若:PXY>0 则:正相关;
若:PXY<0 则:负相关;


 

聚类算法选型指南:为什么K-means偏爱欧氏距离?从数学原理到实战对比 本文深入探讨了K-means聚类算法为何偏爱欧氏距离,从数学原理到实战对比全面解析其优势。欧氏距离因其计算高效、数学性质优良以及与方差分析的深刻联系,成为K-means的默认选择。文章通过实验对比不同距离度量的表现,并提供了聚类算法选型的实用建议。 阅读详情

相关推荐

几种常用的相似度或者相关性算法

欧氏距离是指在欧几里得空间中两个点之间的距离,也称为欧几里得范数(Euclidean norm)。在N维空间中,两个点 p=(p_1,p_2,...,p_N) 和 q=(q_1,q_2,...,q_N) 之间的欧氏距离公式为:皮尔逊相似度算法又称为皮尔逊相关系数,是一种常用的相似度计算方法。它衡量两个变量之间的线性相关程度,取值范围在-1到1之间,其中1表示完全正相关,-1表示完全负相关,0表示无相关关系。谷本系数相似度算法是由日本学者谷本(Tanimoto)于1957年提出的。

洛阳泰山的博客 1449

02 聚类算法 - 相似度距离公式、维度灾难

聚类就是对__大量未知标注__的数据集,按照数据__内部存在的数据特征__将数据集划分为__多个不同的类别__,使__类别内的数据比较相似__,__类别之间的数据相似度比较小__。 聚类算法的重点是计算样本项之间的__相似度__,有时候也称为样本间的距离。 PS: 补充一个维度灾难的概念 数据维度高,数据量大,这种时候样本在空间中比较密集,这种情况...

weixin_34152820的博客 972

AI人工智能领域聚类算法的应用与挑战

本文旨在用通俗易懂的方式讲解聚类算法的核心原理,揭示其在AI领域的重要应用场景,并探讨实际应用中的关键挑战。内容涵盖从基础概念到代码实现的全流程解析。fill:#333;color:#333;color:#333;fill:none;聚类算法基于划分基于层次基于密度基于模型K-meansK-medoidsAGNESDIANADBSCANOPTICS高斯混合模型神经网络聚类聚类:将数据对象分组成为多个类别的过程,使得同一类别中的对象相似度较高质心:聚类中心点,代表该簇的典型特征。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 352

cd-hit linux,使用cd-hit对蛋白质或核酸序列进行聚类

2018.9.7 星期四 多云 biolearncd-hit 是用于蛋白质序列或核酸序列聚类的工具,根据序列的相似度对序列进行聚类以去除冗余的序列,一般用于构建非冗余的数据集用于后续的实验分析。cd-hit聚类算法通常来说,根据序列相似度对序列进行聚类,首先想到的可能是通过计算两两序列之间的相似度对序列进行聚类,这样需要进行all by all的比较,相对来说比较费时,而 cd-hit 软件...

weixin_33603105的博客 1590

Python实现谱聚类开发教程

在谱聚类中,拉普拉斯矩阵是一个非常重要的数学概念,它是对图的邻接矩阵进行数学处理后得到的一个矩阵。对于一个图G=(V, E),其中V是顶点的集合,E是边的集合,拉普拉斯矩阵L定义为D-A,D是度矩阵,A是邻接矩阵。度矩阵D是一个对角矩阵,对角线上的元素D_ii是顶点i的度,即与顶点i相连的边的数量。而邻接矩阵A描述的是图中各个顶点之间的连接关系,如果顶点i和顶点j之间有连接,则A_ij为1,否则为0。拉普拉斯矩阵具有很多优良的性质,如它是半正定的,且其所有特征值都是非负实数。

weixin_30600615的博客 779

Linux下Linpack测试GPU和CPU性能

前面的文章已经介绍了如何搭建Linpack环境:https://blog.csdn.net/liu_feng_zi_/article/details/107429720 接下来说明如何使用 一、编写运行脚本: 新建文件:run_linpack.sh,内容如下: export HPL_DIR =/root/LHC/Linpack/hpl-2.0_FERMI_v15 export MKL_NUM_THREADS=6 export OMP_NUM_THREADS=6 export MKL_DYNAMI.

liu_feng_zi_的专栏 4633

[转载]分类问题中的“维数灾难”

原文地址:http://www.cnblogs.com/datahunter/p/3808252.html?utm_source=tuicool&utm_medium=referral  在看机器学习的论文时,经常会看到有作者提到“curse of dimensionality”,中文译为“维数灾难”,这到底是一个什么样的“灾难”?本文将通过一个例子来介绍这令人讨厌的“curse of dimens

图图酱的专栏 1436

Unity抖音小游戏上架实战:从零到一,详解流程与避坑指南

本文详细介绍了Unity抖音小游戏上架的全流程,包括环境准备、SDK集成、开发者账号注册、软著申请、打包提交流程及常见问题解决方案。重点解析了抖音小游戏平台特有的配置细节和避坑技巧,帮助开发者高效完成游戏上架并优化用户体验。

weixin_33704234的博客 261

数据挖掘_聚类/维数灾难

1.数据挖掘的主要任务: 【1】描述数据,发现特点、模式、规律 eg聚类 【2】预测 2.给了一个网站:www.mmds.org  上面有书的pdf和ppt,具体课程怎么看还未探索

m0_38034312的博客 1410

SAP SD科目确定:从配置到凭证的财务集成核心

本文深入解析SAP SD科目确定的核心价值与配置实践,涵盖从主数据准备到财务凭证生成的全流程。通过六步配置法和KOFI00过程拆解,帮助企业实现销售与财务模块的高效集成,确保收入、成本等数据准确归集至对应会计科目,提升财务自动化水平与数据准确性。

weixin_33491377的博客 251

白话详细解读(七)----- CBAM:Convolutional Block Attention Module

一、CBAM简介 论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB CBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个

奋斗の博客 1万+

【机器学习】全面归纳距离和相似度方法(7种)

距离(distance,差异程度)、相似度(similarity,相似程度)方法可以看作是以某种的距离函数计算元素间的距离,这些方法作为机器学习的基础概念,广泛应用于如:Kmeans聚类、...

fengdu78的博客 1270

2025年MathorCup数学应用挑战赛【B题完整论文】附参考代码(免费分享)

摘。

RS_handy的博客 2694

系统聚类及spss实例

系统聚类法(hierarchical cluster method)又叫“分层聚类法”。聚类分析的一种方法。其做法是开始时把每个样品作为一类,然后把最靠近的样品(即距离最小的群品)首先聚为小类,再将已聚合的小类按其类间距离再合并,不断继续下去,最后把一切子类都聚合到一个大类。

ncepudt的博客 3084

第 3 天:Actor 是什么?创建你的第一个游戏对象!

本文详细介绍 Actor 在 Unreal Engine 5 中的作用,并通过 C++ 创建你的第一个游戏对象。你将学习 Actor 的生命周期(BeginPlay、Tick)、如何添加组件(Static Mesh),并让 Actor 在游戏世界中运作。同时提供 常见问题解决方案,助你快速上手 UE5 C++ 开发!🎮 跟随本教程,构建属于你的第一个游戏对象!

m0_37643873的博客 2630

Android 12,通过JNI写framebuff实现白板书写加速

Android 书写加速

448313096@qq.com 1203

一文归纳距离和相似度方法(7种)

距离(distance,差异程度)、相似度(similarity,相似程度)方法可以看作是以某种的距离函数计算元素间的距离,这些方法作为机器学习的基础概念,广泛应用于如:Kmeans聚类、协同过滤推荐算法、相似度算法、MSE损失函数等等。本文对常用的距离计算方法进行归纳以及解析,分为以下几类展开: 目录 一、闵氏距离(Minkowski Distance)类 二、相似度(Similarity) 三、字符串距离(Distance of Strings) 四、集合距离 (Distance of Set

m0_61899108的博客 1111

详解Xilinx FPGA高速串行收发器GTX/GTP(1)--SerDes和GTX的关系

详解Xilinx FPGA高速串行收发器GTX/GTP(1)--SerDes和GTX的关系

孤独的单刀 4352

密度聚类算法总结

DBSCAN聚类

Mark_Australia的博客 4282

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

01. 聚类算法-大纲

本章开始进入聚类算法(Cluster)的讲解。 之前讲过的内容都是针对有监督学习的模型,即我们在分类之前知道最终分类的目标。而聚类算法是面向无监督学习的一种建模思想。 聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小;属于无监督学习。 聚类算法的重点是计算样本项之间的相似度,有时候也称为样本间的距离。 ...

qfikh的博客 690

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

03 聚类算法 - K-means聚类

02 聚类算法 - 相似度距离公式、维度灾难 二、K-means聚类 给定一个有M个对象的数据集,构建一个具有k个__簇__的模型,其中__k<=M__。满足以下条件:1、每个簇至少包含一个对象;2、每个对象属于且仅属于一个簇;3、将满足上述条件的k个簇成为一个合理的聚类划分; 基本思想:对于给定的类别数目k,首先给定初始划分,通过迭代改变样本和簇...

weixin_33920401的博客 593

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【K-Means深度探索(五)】不止欧氏距离:K-Means中距离度量那些事儿

本文探讨了K-Means聚类算法中不同距离度量的应用与影响。文章首先介绍了欧氏距离作为默认度量的特点,指出其对连续数值型数据的适用性及其对量纲和异常值的敏感性。随后详细解析了曼哈顿距离(L1范数)的特性,说明其在高维数据、异常值场景中的优势。此外还简要提及了闵可夫斯基距离、余弦相似度和汉明距离等其他度量方式。通过Python代码示例,作者展示了如何计算和对比欧氏距离与曼哈顿距离在实际数据点上的差异,并配以可视化图表帮助理解。文章强调,虽然scikit-learn的KMeans仅支持欧氏距离,但理解不同距离度

wudu_123456的博客 935

相似度计算

二维平面:两点 P(x_1, y_1) 与 Q(x_2, y_2) 的欧式距离n 维空间:向量 X=(x_1,…,x_n) 与 Y=(y_1,…,y_n)对于 n 维空间中的两点曼哈顿距离为:对于 n 维空间中的两个点其切比雪夫距离给定一个随机向量 X in Rp和其分布的协方差矩阵 S(正定),与均值向量 mu的马氏距离为:若 S 是单位矩阵(变量独立且方差相等),则退化为欧氏距离。若变量尺度不同或存在相关性, S-1会“修正”这些影响。

2401_88885149的博客 1181

欧氏距离相似算法:两点之间的直线距离

欧氏距离是一种基于几何直线距离的相似性度量方法,通过计算多维空间中两点间的直线距离来判断相似度,距离越小越相似。其核心公式源自勾股定理,适用于K-NN分类、K-Means聚类、图像识别等场景。优势在于直观易计算,但对量纲敏感且易受异常值影响,需配合数据标准化使用。典型应用包括推荐系统匹配相似用户、GIS计算坐标距离等,是数据科学中基础而重要的距离度量工具。使用时需注意其在高维空间的局限性,并与其他距离度量方法(如曼哈顿距离、余弦相似度)互补使用。

温一多 659

机器学习之聚类算法

本文讲解无监督聚类算法,介绍欧式距离、曼哈顿距离等相似度计算方式,列举多类聚类算法并对比优劣。重点阐述 K-Means 算法原理与迭代流程,详细讲解 SSE 结合肘部法则、轮廓系数、CH 指数三种聚类评估指标及对应公式。同时提供完整 Python 代码,演示借助各类指标选取最优聚类数、模型训练评估,以及基于用户数据完成客户分群的实战案例。

Bingorl的博客 711

机器学习中的三大距离度量:欧式距离、曼哈顿距离、切比雪夫距离详解

在机器学习、数据挖掘和计算机视觉中,距离度量是一个核心概念 —— 它用于衡量两个数据点之间的相似性或差异性,是聚类、分类、推荐系统等算法的基础。本文从数学定义、几何意义、适用场景、代码实现4 个维度,详细讲解欧式距离、曼哈顿距离、切比雪夫距离这三大常用距离度量,帮助开发者理解它们的本质差异,在实际项目中选择合适的距离度量方法。

玄同765的AI应用开发博客 469
上一篇: 01. 聚类算法-大纲
下一篇: 关于条件概率公式,乘法公式,全概率公式,贝叶斯概率公式
人鱼线
博客等级 码龄15年 373粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值