向量相似性度量的常用方法

向量相似性度量的常用方法

  • 0. 引言
  • 1. 欧氏距离(Euclidean distance)
  • 2. 余弦相似度(Cosine similarity)
  • 3. 汉明距离(Hamming distance)
  • 4. 点积相似度 (Dot Product Similarity)
  • 5. 曼哈顿距离 (Manhattan Distance)

0. 引言

今天花时间学习学习向量相似性度量的常用方法,痛苦自己一次,以后就轻松了。😼

1. 欧氏距离(Euclidean distance)

在这里插入图片描述

1.1 概念

欧氏距离是衡量两个向量之间“距离”的常用方法。它是在欧几里得空间中,两个点之间的最短直线距离。

1.2 计算公式

对于 n 维向量 x 和 y,欧氏距离计算公式如下:

d(x, y) = sqrt((x1-y1)^2 + (x2-y2)^2 + ... + (xn-yn)^2)

其中,x1, x2, …, xn 是 x 向量中的元素,y1, y2, …, yn 是 y 向量中的元素。

1.3 应用场景

欧氏距离在许多领域都有应用,例如:

  • 机器学习:欧氏距离常用于 k 最近邻算法 (KNN) 中,计算样本之间的距离
  • 图像检索:欧氏距离常用于图像检索中,计算图像之间的相似度
  • 推荐系统:欧氏距离常用于推荐系统中,计算用户之间的相似度

2. 余弦相似度(Cosine similarity)

在这里插入图片描述

2.1 概念

余弦相似度是衡量两个向量之间“方向”相似程度的常用方法。它是在向量空间中,两个向量夹角的余弦值。

2.2 计算公式

对于 n 维向量 x 和 y,余弦相似度计算公式如下:

cos(x, y) = (x1*y1 + x2*y2 + ... + xn*yn) / (||x|| * ||y||)

其中,x1, x2, …, xn 是 x 向量中的元素,y1, y2, …, yn 是 y 向量中的元素,||x|| 和 ||y|| 分别是 x 和 y 向量的模长。

向量的模长公式

对于 n 维向量 x,其模长计算公式如下:

||x|| = sqrt(x1^2 + x2^2 + ... + xn^2)

其中,x1, x2, …, xn 是 x 向量中的元素。

2.3 应用场景

余弦相似度在许多领域都有应用,例如:

  • 文本检索:余弦相似度常用于文本检索中,计算文本之间的相似度
  • 自然语言处理:余弦相似度常用于自然语言处理中,计算词语之间的相似度
  • 信息检索:余弦相似度常用于信息检索中,计算文档之间的相似度

3. 汉明距离(Hamming distance)

在这里插入图片描述

3.1 概念

汉明距离是衡量两个相同长度的字符串之间“差异”的常用方法。它是两个字符串中不同字符的数量。

3.2 计算公式

对于两个长度为 n 的字符串 x 和 y,汉明距离计算公式如下:

d(x, y) = n - Σ(x[i] == y[i])

其中,x[i] 和 y[i] 分别是 x 和 y 字符串中第 i 个字符,Σ 表示求和运算。

3.3 应用场景

汉明距离在许多领域都有应用,例如:

  • 通信:汉明距离常用于通信中,检测数据传输中的错误
  • 信息论:汉明距离常用于信息论中,衡量两个信息源之间的差异
  • 生物学:汉明距离常用于生物学中,比较 DNA 序列

4. 点积相似度 (Dot Product Similarity)

在这里插入图片描述

4.1 点积相似度定义

点积相似度 (Dot Product Similarity) 是衡量两个向量之间“相似度”的常用方法。它是两个向量的点积除以它们的模长的乘积。

4.2 点积相似度计算公式

对于 n 维向量 x 和 y,点积相似度计算公式如下:

sim(x, y) = (x * y) / (||x|| * ||y||)

其中,x * y 表示 x 和 y 的点积,||x|| 和 ||y|| 分别表示 x 和 y 向量的模长。

4.3 点积相似度性质

点积相似度具有以下性质:

  • **范围:**点积相似度的范围是 [-1, 1]。
  • **相似性:**点积相似度越大,两个向量越相似。
  • **正交性:**如果两个向量正交,则它们的点积相似度为 0。

4.4 点积相似度应用场景

点积相似度在许多领域都有应用,例如:

  • **文本检索:**点积相似度常用于文本检索中,计算文本之间的相似度
  • **自然语言处理:**点积相似度常用于自然语言处理中,计算词语之间的相似度
  • **推荐系统:**点积相似度常用于推荐系统中,计算用户之间的相似度

4.5 点积相似度与余弦相似度

点积相似度与余弦相似度密切相关。余弦相似度是点积相似度的一种归一化形式。它们之间的关系如下:

cos(x, y) = sim(x, y)

5. 曼哈顿距离 (Manhattan Distance)

在这里插入图片描述

5.1 曼哈顿距离定义

曼哈顿距离 (Manhattan Distance) 是衡量两个向量之间“距离”的常用方法。它是两个向量对应分量差的绝对值的总和。

5.2 曼哈顿距离计算公式

对于 n 维向量 x 和 y,曼哈顿距离计算公式如下:

d(x, y) = |x1-y1| + |x2-y2| + ... + |xn-yn|

其中,x1, x2, …, xn 是 x 向量中的元素,y1, y2, …, yn 是 y 向量中的元素。

5.3 曼哈顿距离性质

曼哈顿距离具有以下性质:

  • **非负性:**曼哈顿距离是非负的,对于任意向量 x 和 y,都有 d(x, y) >= 0。
  • 对称性:曼哈顿距离是对称的,对于任意向量 x 和 y,都有 d(x, y) = d(y, x)。
  • **三角不等式:**曼哈顿距离满足三角不等式,对于任意向量 x、y 和 z,都有 d(x, z) <= d(x, y) + d(y, z)。

5.4 曼哈顿距离与欧几里得距离

曼哈顿距离与欧几里得距离是两种常用的距离度量方法。它们的区别在于:

  • 曼哈顿距离是各个分量差的绝对值的总和,而欧几里得距离是各个分量差的平方和的平方根。
  • 曼哈顿距离的计算速度更快,而欧几里得距离的计算精度更高。

5.5 曼哈顿距离应用场景

曼哈顿距离在许多领域都有应用,例如:

  • **图像处理:**曼哈顿距离常用于图像处理中,计算图像之间的差异
  • **机器学习:**曼哈顿距离常用于机器学习中,计算样本之间的距离
  • **数据挖掘:**曼哈顿距离常用于数据挖掘中,计算数据点之间的相似度

完结!

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

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

相关文章

Linux 安装Nginx (Nginx-1.25.4)

一、下载Nginx安装包 1.服务器联网的情况下&#xff0c;使用wget命令把Nginx安装包下载到/usr/local/目录中&#xff0c;如果没有wget命令&#xff0c;需要先安装&#xff1a;yum install -y wget cd /usr/local wget -c https://nginx.org/download/nginx-1.25.4.tar.gz ng…

CrossOver 24 Mac 中文破解版 CrossOver 2024激活码 crossover虚拟机 mac上运行windows 软件

CrossOver在Mac上本机运行。这意味着您不必运行Windows的副本。这意味着您不会为同时运行的两个操作系统支付RAM和CPU代价。这意味着没有陷入困境&#xff0c;波涛汹涌的表现。如果您需要原生速度&#xff0c;该软件是更好的选择。 安装后&#xff0c;像安装任何Mac应用程序一…

2024.3.17 机器学习周报

引言 Abstract 文献阅读 1、题目 R-TRANSFORMER: RECURRENT NEURAL NETWORK ENHANCED TRANSFORMER 2、引言 递归神经网络长期以来一直是序列建模的主要选择。然而&#xff0c;它严重遭受两个问题&#xff1a;在捕获非常长期的依赖性和无法并行化的顺序计算过程中无能为力…

2024 Python3.10 系统入门+进阶(一):Python编程基础

目录 一、编程语言是什么二、编译型语言和解释型语言的区别2.1 编译型语言2.2 解释型语言 三、Python是什么四、Python有哪些优点和缺点&#xff1f;4.1 Python的优点4.2 Python 的缺点 五、学Python能干什么&#xff0c;Python的应用领域有哪些&#xff1f;六、怎样学习Python…

HSCCTF-2024-Crypto 复现

文章目录 EZ_MATHSTAR_CHASING_DIARYRSATESTYOUQU 复现参考来源&#xff1a; lazzzaro佬写的题解 EZ_MATH 题目描述&#xff1a; from Crypto.Util.number import *flag HSCCTF{*****************************************} x bytes_to_long(flag.encode()) y getPrime(2…

监视和内存观察

监视和内存观察 5.监视和内存观察5.1 监视5.2 内存 5.监视和内存观察 在调试的过程中我们&#xff0c;如果要观察代码执行过程中&#xff0c;上下文环境中的变量的值&#xff0c;有哪些方法呢&#xff1f; 这些观察的前提条件一定是开始调试后观察&#xff0c;比如&#xff1…

腾讯云2核4G服务器可以有多大访问量?吓人!

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问&#xff1f;5M带宽下载速度峰值可达640KB/秒&#xff0c;阿腾云以搭建网站为例&#xff0c;假设优化后平均大小为60KB&#xff0c;则5M带宽可支撑10个用户同时在1秒内打开网站&#xff0c;并发数为10&#xff0c;经阿腾云测试&a…

使用pgadmin备份数据库

本人菜鸟&#xff0c; 在使用PostgreSQL数据库的时候&#xff0c; 经常会用到这个pgadmin的可视化工具 这个工具提供了很简单的备份和还原方法&#xff0c; 操作如下 备份 (1)首先鼠标右键选中你要备份的数据库&#xff0c;如图的 LBSYS (2)然后点击 backup &#xff08;…

“智慧农业新篇章:AI大模型引领生态与气象科研的未来“

AI大模型引领未来智慧科研暨ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的应用 以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数…

数学建模--MATLAB基本使用

1.线性方程组 这个是一个线性方程组&#xff08;属于线性代数的范畴&#xff09;&#xff0c;Axb类型的方程&#xff0c;如果使用MATLAB进行求解&#xff0c;就需要分别表示A矩阵&#xff08;线性方程组未知数前面的系数&#xff09;&#xff0c;b矩阵&#xff08;表示等式右边…

体系班第十七节(经典递归)

1汉诺塔 从左移到最右&#xff0c;圆盘必须满足小压大原则 写一个大方法&#xff0c;大方法包括两步&#xff1a;第一步将最后一个圆盘上面的所有的放到第二个塔上面&#xff0c;然后将最后一个圆盘放到最后塔上面&#xff0c;再把第二个塔上面圆盘全放在第三个塔上面 #incl…

IO流(5)——转换流

不同编码读取出现乱码的问题 解决方法 字符输入转换流&#xff08;InputStreamReader&#xff09;

泰克Tektronix TDP1000高压差分探头

181/2461/8938产品概述&#xff1a; TDP1000、TDP0500和P6251高压差分探头提供当今开关电源&#xff08;SMPS&#xff09;、CAN/LIN总线和高速数字系统设计所需的出色高速电气和机械性能。 关键性能规格 1 GHz和500 MHz探头带宽<1 pF differential input capacitance1mω…

Postman-Installation has failed

如图&#xff1a; 解决方法&#xff1a; 打开文件夹 Postman-win64-Setup 点击Postman.exe 即可

解压即用,2024最简单好用AI开源换脸应用,整合包已备好

软件整合包&#xff1a;点击下载 关键词&#xff1a;#AI换脸 #开源应用 #可视化界面 #实时换脸 #高清修复 #多个模型 #人脸遮挡处理 #模糊修复 #性能优化 #操作简单 总结&#xff1a;本软件是一款2024年最强大、最易用的AI换脸开源应用。该应用界面经过汉化&#xff0c;操作简…

3D Occupancy 预测冠军方案:FB-OCC

文章结尾有视频和连接 背景知识 Occupancy 更像是一个语义分割任务&#xff0c;但是它是 3D 空间的语义分割它的我们对 Occupancy 分自己的期望是它能够具有通用的这种目标建模的能力&#xff0c;才能够不是不受制于这种目标框这种几何的矩形的这种约束而能够建模任意形状的这…

零信任SDP是什么,有什么作用

物理边界曾经是可信网络和不可信网络之间的有效分割。防火墙通常部署于网络的边缘&#xff0c;基于静态策略来限制网路流量。位于防火墙内部的用户会被授予较高信任等级来访问企业的敏感资源&#xff0c;因为他们被默认是可信的。 然而随着云计算、移动互联、物联网、人工智能…

JavaSE-----认识异常【详解】

目录 一.异常的概念与体系结构&#xff1a; 1.1异常的概念&#xff1a; 1.2一些常见的异常&#xff1a; 1.3异常的体系结构&#xff1a; 1.4异常的分类&#xff1a; 二.异常的处理机制&#xff1a; 2.1 抛出异常&#xff1a; 2.2异常的捕获&#xff1a; 2.3try-catch-&…

【模拟string函数的实现】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 模拟string函数的实现 浅拷贝 深拷贝 vs和g下string结构的说明 总结 前言 模拟string函数的实现 浅拷贝 深拷贝 总结 前言 世上有两种耀眼的光芒&#…

如何理解Linux文件IO?

一、文件IO的概述 1、什么是文件&#xff1f; Linux下一切皆文件。普通文件、目录文件、管道文件、套接字文件、链接文件、字符设备文件、块设备文件。 2、什么是IO&#xff1f; input output&#xff1a;输入输出 3、什么是文件IO&#xff1f; 对文件的输入输出&#xff0c;把…