机器学习中的距离概念

news2024/12/25 12:22:52

距离在机器学习中应用广泛,包括欧式距离、曼哈顿距离、内积距离和KL距离。
下面总结一下。

机器学习中的距离

  • 欧式距离
  • 曼哈顿距离
  • 内积距离
  • KL距离
  • 距离作为损失函数(MSE/MAE...)
  • 欧式距离与内积距离的联系
  • ☆距离的有效性

欧式距离

欧式距离(Euclidean Distance)是机器学习和数据科学中常用的一种距离度量方式,用来衡量两个点在欧几里得空间中的距离。它是通过计算这两个点之间的直线距离来表示的。

应用场景:

  • 分类问题:在 k-近邻算法 (k-Nearest Neighbors, KNN) 中,欧式距离被用来衡量待分类样本与已知类别样本之间的距离,以此来判断待分类样本的类别。
  • 聚类分析:在聚类算法(如 K-Means)中,欧式距离常用于计算每个样本点与簇中心的距离,从而决定样本点属于哪个簇。
  • 降维与度量学习:在某些降维技术(如主成分分析,PCA)或度量学习算法中,欧式距离被用来保持数据点之间的相对距离关系。

特点和局限性:

  • 优点:欧式距离直观易于计算,适用于大多数的物理空间距离计算。
  • 局限性:在高维空间(即“维度灾难”)下,欧式距离可能会失去其有效性,因为所有点之间的距离趋向于相似,导致算法效果下降。
  • 另外,欧式距离对数据中的尺度敏感,如果各个维度的量纲不同,通常需要进行归一化处理

曼哈顿距离

曼哈顿距离(Manhattan Distance),也称为城市街区距离(City Block Distance)或 L1 距离,是一种用于度量两个点之间距离的方式。与欧式距离不同,曼哈顿距离表示在一个网格状路径上移动的距离,就像在城市街道中沿着直角走动。

应用场景:

  • 分类和回归:在一些机器学习算法中(如 k-近邻算法),曼哈顿距离可以用于衡量样本之间的相似性,尤其是在特征独立且均匀分布的情况下。
  • 图像处理:在图像处理中,曼哈顿距离有时用于计算像素之间的距离,因为它能够更好地保持图像的结构特性。
  • 神经网络:在某些神经网络的正则化过程中(如 L1 正则化),曼哈顿距离的概念用于惩罚模型的复杂度。

特点和局限性:

  • 优点:曼哈顿距离对于高维数据稀疏数据表现较好,因为它不受高维空间中距离趋同效应的影响。
  • 局限性:在某些情况下,曼哈顿距离可能不如欧式距离直观,尤其是当数据更接近连续变化而非离散变化时。

内积距离

内积距离(Inner Product Distance)是一种基于向量内积相似性度量方法。在机器学习和数据分析中,内积(也称为点积或标量积)通常用于评估两个向量之间的相似性。
在这里插入图片描述
应用场景:

  • 相似性度量:内积可以用于衡量两个向量之间的相似性。☆在某些推荐系统中,内积用于计算用户与物品之间的相似性。
  • 神经网络:在神经网络中,内积是计算神经元输入和权重的线性组合的基础操作。
  • 信息检索:在文本检索中,内积可以用于衡量文档与查询向量之间的相似性。

局限性

  • 不对称性:内积不是严格意义上的“距离”度量,因为它不满足对称性和三角不等式等性质。
  • 尺度问题:由于内积受向量长度影响,直接使用内积作为距离度量可能导致误导性的结果,尤其是在向量长度差异较大的情况下。

为了克服这些局限性,内积通常与其他方法结合使用,如余弦相似性(通过将向量归一化)等。

KL距离

KL距离通常指的是Kullback-Leibler散度(Kullback-Leibler Divergence),又称KL散度或相对熵。它是信息论中用于衡量两个概率分布之间差异的一种非对称度量。KL散度在机器学习、统计学和信息论中有广泛的应用。

注:
KL距离不具有对称性。

应用场景

  • 机器学习:在机器学习中,KL散度常用于优化问题,如变分自动编码器(VAE)中,KL散度用于衡量近似后验分布与真实后验分布之间的差异。
  • 统计推断:KL散度可用于模型选择和假设检验,通过比较不同模型的拟合优度来选择最合适的模型。
  • 信息论:在信息论中,KL散度用于量化两个概率分布之间的差异,特别是在压缩和传输信息时。

距离作为损失函数(MSE/MAE…)


这里补充一下关于内积相似度。如果计算的话,首先需要给出“相似”的定义。
比如下面这个例子。

欧式距离与内积距离的联系



若是在A,B两点到原点的距离都是1的情况下,欧氏距离越大,内积相似度越小。

☆距离的有效性

在机器学习中无论什么距离,都是对短途有效!
距离在过远时已经丧失了意义。

在如上图这种情况下,如果计算A,B之间的距离,不能直接根据A,B两点的坐标进行计算,因为A,B距离“太远”,不能直接计算,而需要找到距离A的很近的若干点,不断地沿着路径计算出d1,d2,d3,…,dn,然后相加即可。

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

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

相关文章

数学建模——评价决策类算法Python版(灰色关联分析、主成分分析)

一、灰色关联分析 模型原理 解题步骤 例题 某公司考虑在几个候选城市中开设新的零售店。公司收集了以下数据,包括候选城市的GDP、人口、交通便利程度、商业发展水平等指标。公司希望使用灰色关联分析法来评估这些指标与零售店成功可能性之间的关系,以…

sql注入绕过+rce

目录 1、mysql编码绕过 1.1、环境搭建 1.1.1、源码 1.1.2、数据库 1.1.3、检测环境 1.2、绕过技巧 1.2.1、直接使用admin,查询数据,发现权限被拒绝 1.2.2、加上单引号绕过了,但是查询不到数据 1.2.3、试试其他特殊字符,发…

python循环——九九乘法表(更加轻松的理解循环结构)

感受 首先,得明确意识到这个问题,就是我的循环结构学的一塌糊涂,完全不能很好的使用这个循环来实现各种九九乘法表达输出,这样的循环结构太差了,还需要我自己找时间来补充一下循环的使用,来拓宽自己的思考方…

【开端】Java 分页工具类运用

一、绪论 Java系统中,分页查询的场景随处可见,本节介com.baomidou.mybatisplus.core.metadata.IPage;来分页的工具类 二、分页工具类 public class PageUtils implements Serializable { private static final long serialVersionUID 1L; /**…

服务器安装哪吒面板详细教程

本文长期更新地址: 服务器安装哪吒面板详细教程-星零岁的博客https://blog.0xwl.com/13568.html 注:本文中部分内容源自网络,第四步中部分来自本人曾经文章:云服务器安装配置宝塔面板并安装基础运行环境教程-星零岁的博客 今天来讲…

Dubbo 快速掌握 这篇就够了

1. Dubbo概述 Dubbo 是一款高性能、轻量级的开源Java RPC框架,由阿里巴巴公司开发并在2011年开源。它主要用于解决分布式系统中服务之间的通信问题,支持多种协议,如Dubbo、HTTP、Hessian等,具有服务注册、服务发现、负载均衡、故…

基于大语言模型抽取文本中的实体和关系

在基于大语言模型图数据库存储中,要从文本中提取实体,实体属性和关系。 实体关系抽取是从文本中的句子里抽取出一对实体并给出实体间关系的任务。 该任务的输入是一句话,输出是一个spo三元组(subject-predicate-object&#xff…

【数据结构】TreeMap和TreeSet

目录 前言TreeMap实现的接口内部类常用方法 TreeSet实现的接口常用方法 前言 Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。 一般把搜索的数据称为关键字(Key), 和关键字对应的称为…

【C#】知识汇总

目录 1 概述1.1 GC(Garbage Collection)1.1.1 为什么需要GC?1.1.2 GC的工作原理工作原理什么是Root?GC算法:Mark-Compact 标记压缩算法GC优化:Generational 分代算法 1.1.3 GC的触发时间1.1.4 如何减少垃圾…

MFC核心技术探索

原文地址:李浩的博客 lihaohello.top 本文采用逐步调试的方法,带你一起探索MFC程序的执行流程、窗体创建、消息映射、运行时类型识别、对象动态创建这些核心机制。 相信读者在深入理解这些核心机制后,会由衷感叹于MFC框架实现的精妙&#xf…

Outh2四种授权模式详解

1.oauth 2.0 简介 2.各个角色介绍 3.四种模式 4.授权码模式 ①:获取授权码 ②:申请授权接口 ③:申请token ④:申请token接口 5.简单模式 6.密码模式 7.客户端模式

StarRocks 存算分离 Data Cache 二三事

前言 StarRocks 存算分离模式架构中,数据导入后,会被写入远端对象存储。而对象存储由于其访问延迟较高特性,如果没有任何优化,每次查询直接访问后端对象存储,那么性能就会变得非常差,也就失去了 StarRocks…

【C#】一个项目移动了位置,或者换到其他电脑上,编译报错 Files 的值“IGEF,解决方法

文章目录 1 问题分析2 本文解决方法 一个项目可以正常运行编译的项目,所有路径均为相对路径。 移动了位置,或者换到其他电脑上,编译报错 Files 的值“IGEF, 1 问题分析 这个错误信息表明在处理文件时,Files 的值出…

tiktok 搜索接口请求与翻页

这几天有小伙伴问tk的搜索接口的问题, 一个是搜索热门接口请求返回 {“status_code”: 0},这个使用curl_cffi的requests库改一下指纹请求就行了。 再一个就是翻页问题 细心一些比对一下翻页参数都能做到的(小伙伴以为只改个offset就完事了) 要不然你只能得到这样的结果:…

JavaWeb—XML_Tomcat10_HTTP

一、XML XML是EXtensible MarkupLanguage的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。 可扩展:三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写; 在XML基…

极狐GitLab 如何设置访问令牌前缀?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…

GSON转换将Long类型转换Double导致精度丢失的问题排查

问题描述 项目中同步订单时发现一个问题,同一条的数据,order_id和item_id为Long类型,在同步时,数值变了。比如原本是6930414387088791188变成了69304143870884512001。 问题排查 经过排查发现http请求的返回参数是正常的&#…

树形结构数据数据查询优化过程

树形结构数据统计查询优化过程 初始方案&#xff1a; 组织树数据结构如下&#xff1a; 数据请求参数&#xff1a; 原技术方案&#xff1a; public List<Map<String, List<Long>>> getSelectParam(List<DepartmentQueryDTO> departmentList, Stri…

图论(二):图的度分析——度数bar图度数等级图度数直方图根据度数渲染节点颜色

本期所用数据集&#xff0c;空手道俱乐部关系数据集&#xff1a; 数据集中共有34个节点&#xff0c;每个节点代表俱乐部中的一名成员数据集中共有78条边&#xff0c;每条边表示两名成员之间的友谊关系或社交联系常见数据集格式为GML和TXT格式&#xff0c;还可能包含其他格式的…

检索增强生成算法

检索增强生成算法&#xff08;Retrieval-Augmented Generation&#xff0c;RAG)是由Patrick Lewis等人于2020年提出的&#xff08;https://arxiv.org/pdf/2005.11401&#xff09;&#xff0c;主要用于辅助大规模语言模型&#xff08;Large Language Models, LLMs&#xff09;在…