当前位置: 首页 > news >正文

机器学习中的距离总结

在数据分析、机器学习、模式识别等领域,距离函数用于衡量两个对象(向量、集合、字符串等)之间的相似性或差异性。不同的距离函数适用于不同的数据类型和业务场景,以下是常见距离函数的总结,按应用场景分类整理:

一、适用于连续型向量的距离(数值型数据)

这类距离主要用于衡量欧几里得空间中两个点(向量)的距离,适用于连续数值特征(如身高、体重、像素值等)。

距离名称定义与公式适用场景特点
欧几里得距离(Euclidean Distance)两点之间的直线距离,是最常用的距离度量。
公式:对于向量 (a=(a_1,a_2,…,a_n)) 和 (b=(b_1,b_2,…,b_n)),
(d(a,b) = \sqrt{\sum_{i=1}^n (a_i - b_i)^2})
计算机视觉(如特征点匹配)、推荐系统(用户偏好向量比较)、聚类分析(K-Means默认距离)直观且符合人类对“距离”的认知;但受量纲影响大(如厘米和米需先标准化)。
曼哈顿距离(Manhattan Distance)各维度坐标差的绝对值之和,又称“城市街区距离”。
公式:(d(a,b) = \sum_{i=1}^n
a_i - b_i)
切比雪夫距离(Chebyshev Distance)各维度坐标差的最大值。
公式:(d(a,b) = \max_{i=1…n}
a_i - b_i)
闵可夫斯基距离(Minkowski Distance)欧几里得、曼哈顿、切比雪夫距离的推广,由参数 (p) 控制。
公式:(d(a,b) = (\sum_{i=1}^n
a_i - b_ip){1/p})
标准化欧几里得距离先对数据标准化(消除量纲),再计算欧几里得距离。
公式:(d(a,b) = \sqrt{\sum_{i=1}^n (\frac{a_i - b_i}{\sigma_i})^2}),其中 (\sigma_i) 是第 (i) 维度的标准差。
特征量纲差异大的场景(如“年龄(0-100)”和“收入(0-100万)”)解决了欧几里得距离的量纲问题,更适合跨维度比较。
马氏距离(Mahalanobis Distance)考虑特征间协方差的距离,不受量纲影响,且能消除维度相关性。
公式:(d(a,b) = \sqrt{(a-b)^T \Sigma^{-1} (a-b)}),其中 (\Sigma) 是数据的协方差矩阵。
异常检测(如信用卡欺诈识别)、同一分布内的点距离度量对高维、特征相关的数据更友好;但需已知数据分布(协方差矩阵)。

二、适用于向量方向的距离(不关注大小,仅关注方向)

这类距离更注重向量的“方向相似性”,而非绝对数值大小,常用于文本、图像等高维稀疏数据。

距离名称定义与公式适用场景特点
余弦距离(Cosine Distance)基于余弦相似度的距离((1 - \text{余弦相似度}))。
余弦相似度公式:(\cos\theta = \frac{a \cdot b}{
a
角度距离(Angular Distance)向量夹角的弧度值。
公式:(d(a,b) = \arccos(\cos\theta))((\cos\theta) 为余弦相似度)
需严格度量方向差异的场景(如方向传感器数据比较)直接反映夹角大小,范围为 ([0, \pi]),比余弦距离更直观。

三、适用于集合或二进制数据的距离(0-1特征、布尔值)

这类数据通常表示“有无”(如“是否购买商品”“基因是否表达”),距离需反映集合的重叠程度。

距离名称定义与公式适用场景特点
杰卡德距离(Jaccard Distance)基于杰卡德系数(集合交集与并集的比值),衡量两个集合的不相似度。
公式:(d(A,B) = 1 - \frac{
A \cap B}{
汉明距离(Hamming Distance)两个等长字符串(或二进制向量)中,对应位置元素不同的数量。
公式:对二进制向量 (a,b),(d(a,b) = \sum_{i=1}^n
a_i - b_i)
dice距离(Dice Distance)基于Dice系数的距离((1 - \text{Dice系数}))。
Dice系数公式:(\frac{2
A \cap B}{

四、适用于字符串的距离(序列数据)

用于衡量两个字符串(或序列)的差异,需考虑插入、删除、替换等操作。

距离名称定义与公式适用场景特点
编辑距离(Levenshtein Distance)将一个字符串转换为另一个所需的最少插入、删除、替换操作次数。
(无简洁公式,需动态规划计算)
拼写纠错(如“teh”到“the”的距离为1)、自然语言处理(文本相似度)、DNA序列比对灵活处理不同长度的字符串;但计算复杂度较高((O(nm)),(n,m) 为字符串长度)。
最长公共子序列距离(LCS Distance)基于最长公共子序列(LCS)长度的距离:(d = 1 - \frac{LCS(a,b)}{\max(len(a), len(b))})

五、选择距离函数的核心原则

  1. 数据类型优先:连续数值优先用欧几里得/曼哈顿;二进制/集合用杰卡德/汉明;字符串用编辑距离。
  2. 业务目标:关注“大小差异”用欧几里得;关注“方向差异”用余弦距离;关注“极端值”用切比雪夫。
  3. 数据特性:高维稀疏数据优先余弦距离(避免维度灾难);特征相关数据用马氏距离;量纲差异大时用标准化距离。

实际应用中,常需通过实验(如对比不同距离下模型的准确率)选择最优方案。


文章转载自:

http://UDKahXhT.myxps.cn
http://ytRL1FIc.myxps.cn
http://iElJSbh5.myxps.cn
http://Y2wc4O2P.myxps.cn
http://Dpm6OmtX.myxps.cn
http://KiNJlLaU.myxps.cn
http://vsjJNhav.myxps.cn
http://DXslsG11.myxps.cn
http://l1EL5fXm.myxps.cn
http://BygE5Ico.myxps.cn
http://er6T8Kei.myxps.cn
http://Il0jm0mc.myxps.cn
http://DArO50L1.myxps.cn
http://wixKryXn.myxps.cn
http://Q3OG7qaR.myxps.cn
http://2GaCno3P.myxps.cn
http://Beiv6bPF.myxps.cn
http://rppt045m.myxps.cn
http://9NnRPBRa.myxps.cn
http://M3uR8QMG.myxps.cn
http://K7rUGkAp.myxps.cn
http://RkrmOEyt.myxps.cn
http://vu77dWwm.myxps.cn
http://O7qWo74G.myxps.cn
http://vVuPzuU5.myxps.cn
http://b5FSnG2x.myxps.cn
http://ox8C6z6d.myxps.cn
http://n8I6lHbo.myxps.cn
http://VhfXGSYl.myxps.cn
http://6v1EExjh.myxps.cn
http://www.dtcms.com/a/384889.html

相关文章:

  • MongoDB集群开发完全指南:从原理到实践
  • apache phoenix sql 命令大全详解
  • python 读取大文件优化示例
  • 布草洗涤厂设备租赁押金原路退回系统—东方仙盟
  • JAVASCRIPT 前端数据库-V9--仙盟数据库架构-—仙盟创梦IDE
  • 开源AI大模型、AI智能名片与S2B2C商城小程序:从“不出现=不存在”到“精准存在”的数字化转型路径
  • LNMP环境搭建:高效Web服务器指南
  • ACP(三):让大模型能够回答私域知识问题
  • Angle-Based SLAM on 5G mmWave Systems: Design, Implementation, and Measurement
  • 京瓷1025打印机打印有底灰简单处理
  • UE5 播放关卡时,将渲染画面的相机转变为关卡序列中的相机
  • JavaSE 异常
  • Unity Excel数据导入工具
  • 镭神C16在Ubuntu下的连接和驱动安装教程
  • 如何在qt中配置libssh
  • 使用 Spring Boot 3.x 集成 Kafka 并在 Kubernetes 上部署的全流程指南
  • 记录本地安装anaconda pytorch python
  • 关于机器学习中的各种“学习”
  • Parlant框架深度技术解析:革命性AI代理行为建模引擎
  • 疯狂星期四文案网第68天运营日记
  • RabbitMQ 消息路由与交换机机制
  • 月视图,周视图,日视图
  • RabbitMQ 数据结构源码剖析
  • Redis 内存优化与管理机制(内存碎片、LRU、惰性删除、内存回收策略)
  • 嵌入式学习day49-硬件-UART
  • 通信模组性能调优
  • Redis 实战指南:数据库选型 + 高可用(主从 / 哨兵)+ 集群搭建
  • 进程与线程:从入门到精通
  • Android 项目:画图白板APP开发(八)——Matrix位移放大缩小(附demo)
  • 【大前端++】【混合开发】【node】express 文件服务器本地搭建-模拟加载图片使用