架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 377|回复: 0

【AI】(十三)向量相似度和距离简单介绍

[复制链接]
发表于 2025-3-21 13:37:09 | 显示全部楼层 |阅读模式
需求:上次写了关于选择嵌入模型、获取向量的文章,通过调用嵌入模型获取向量值,存储到向量数据库后,该通过哪一种算法计算向量相似度呢?

向量

在线性代数中,向量常常采用更为抽象的向量空间(也称为线性空间)来定义。向量是向量空间中的基本构成元素。

QQ截图20250320103924.jpg
(许多的箭头代表了许多向量)

向量相似度

一些向量相似度计算的方法:

  • 欧式距离(Euclidean Distance)
  • 余弦相似度(Cosine Similarity)
  • 皮尔逊相关系数(Pearson)
  • 修正余弦相似度(Adjusted Cosine)
  • 汉明距离(Hamming Distance)
  • 曼哈顿距离(Manhattan Distance)
  • 切比雪夫距离(Chebyshev Distance)
  • 欧式距离(Euclidean Distance)


余弦相似度(Cosine Similarity)

余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。余弦相似度通常用于正空间,因此给出的值为-1到1之间。

余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。

QQ截图20250320104421.jpg

皮尔逊相关系数 (Pearson Correlation Coefficient)

给定两个随机变量X和Y,皮尔逊相关系数可以用来衡量两者的相关程度,公式如下:

QQ截图20250320104521.jpg

Jaccard 相似系数(Jaccard Coefficient)

假设有两个集合X和Y(注意这里的两者不是向量),则其计算公式为:

QQ截图20250320104603.jpg

点积 (Dot Product)

数量积又称标量积(Scalar product)、点积(Dot product),在欧几里得空间(Euclidean space)中称为内积(Inner product),对应元素相乘相加,结果是一个标量(即一个数)。是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。

常见的距离

闵可夫斯基距离(Minkowski Distance)

Minkowski Distane 是对多个距离度量公式概括性的表述,当p=1时,Minkowski Distane 便是曼哈顿距离;当p=2时,Minkowski Distane 便是欧式距离;Minkowski Distane 取极限的形式便是切比雪夫距离。

QQ截图20250320105253.jpg

曼哈顿距离(Manhattan Distance)

QQ截图20250320105320.jpg

欧式距离/欧几里得距离(Euclidean distance)

QQ截图20250320105342.jpg

切比雪夫距离(Chebyshev Distance)

QQ截图20250320105422.jpg

海明距离(Hamming Distance)

在信息论中,两个等长字符串之间的海明距离是两个字符串对应位置的不同字符的个数。假设有两个字符串分别是:x=[x1,x2,...,xn]和y=[y1,y2,...,yn],则两者的距离为:

QQ截图20250320105501.jpg

其中II表示指示函数,两者相同为1,否则为0。

KL散度

给定随机变量X和两个概率分布P和Q,KL散度可以用来衡量两个分布之间的差异性,其公式如下:

QQ截图20250320105548.jpg


总结

点积距离和余弦相似度通常用于向量或文本数据的相似性度量。主要用于向量相似性的度量,如文本挖掘和自然语言处理中的文档相似性,或信息检索、推荐系统等领域。如果你使用的是现代嵌入模型(如 Sentence-BERT 或其他预训练模型),通常默认输出是归一化的,因此“点积”是首选方案。

参考:

超链接登录可见。
超链接登录可见。
超链接登录可见。
超链接登录可见。




上一篇:创建简单 Maven 控制台项目
下一篇:【AI】(十四)开源向量数据库简单介绍
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-15 16:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表