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

向量相似度计算原理解析

向量相似度怎么算一文讲透在今天的 AI 世界里「向量」成了我们理解语义、匹配兴趣、检索信息的核心工具。不理解这个就不能称之为合格的AI工程师。但问题来了两个向量到底有多像这可不是靠肉眼比划能解决的——我们需要一套靠谱的“相似度打分系统”。这次我们就来聊聊最常用的几种向量相似度判断方法尤其聚焦于两类主流场景浮点稠密向量比如 BERT 嵌入用 L2、IP、余弦稀疏向量比如 TF-IDF、关键词集合用 IP 和 BM25咱们不整那些云里雾里的数学黑话而是用大白话类比代码让你真正搞明白它们的区别和适用场景。一、浮点向量三大金刚L2、IP、余弦假设你有两个高维向量A和B比如是两篇文档经 Sentence-BERT 编码后的 768 维嵌入。怎么判断它们像不像1. L2 距离欧几里得距离——“直线距离派”公式L2(A,B)∑i1n(Ai−Bi)2 \text{L2}(A, B) \sqrt{\sum_{i1}^n (A_i - B_i)^2}L2(A,B)i1∑n​(Ai​−Bi​)2​通俗解释想象你在城市里走路A 和 B 是两个坐标点。L2 就是你掏出无人机直接飞过去测的“直线距离”。越近越像越远越不像。特点考虑了方向 大小模长对特征尺度敏感比如一个维度是年龄[0-100]另一个是收入[0-1e6]收入会主导结果高维下容易“大家都差不多远”维度灾难适用场景图像特征匹配、低维用户画像聚类如 K-Means。importnumpyasnp Anp.array([1.0,2.0,3.0])Bnp.array([1.1,2.1,3.1])l2_distnp.linalg.norm(A-B)print(L2距离:,l2_dist)# 越小越相似⚠️ 注意如果不用标准化如 StandardScalerL2 很容易被某些大数值维度“带偏节奏”。2. 内积IP, Inner Product——“对齐强度派”公式IP(A,B)A⋅B∑i1nAi×Bi \text{IP}(A, B) A \cdot B \sum_{i1}^n A_i \times B_iIP(A,B)A⋅Bi1∑n​Ai​×Bi​通俗解释IP 不关心你俩站多远只看你俩“是不是朝着同一个方向使劲”。比如用户喜欢科幻向量方向电影也是纯科幻同方向哪怕一个向量很长重度用户、一个很短冷门片只要方向一致IP 就高特点只看方向 各自强度不强制归一化计算快只有乘加无开方如果向量已归一化L2 norm 1IP 就等于余弦相似度适用场景推荐系统用户×物品匹配、未归一化的嵌入向量召回。ip_scorenp.dot(A,B)print(内积得分:,ip_score)# 越大越相似 工业级推荐系统最爱 IP因为1符合“偏好投影”直觉2计算快适合亿级召回。3. 余弦相似度Cosine Similarity——“纯方向派”公式cos⁡(θ)A⋅B∣A∣2⋅∣B∣2 \cos(\theta) \frac{A \cdot B}{|A|_2 \cdot |B|_2}cos(θ)∣A∣2​⋅∣B∣2​A⋅B​通俗解释把 A 和 B 都“缩”成单位长度就像把不同长短的手电筒光束都调成一样亮然后看它们照的方向夹角多大。夹角越小余弦越接近 1越像。特点完全忽略向量长度只比方向结果在 [-1, 1]通常文本场景中为 [0, 1]特别适合高维稀疏或长度差异大的场景比如一篇长论文 vs 一条短评论适用场景文本语义搜索、文档去重、NLP 嵌入比较。fromsklearn.metrics.pairwiseimportcosine_similarity cos_simcosine_similarity([A],[B])[0][0]print(余弦相似度:,cos_sim)# 越接近1越相似✅ 小技巧如果你用 FAISS 或 Milvus把向量先normalize_L2()再用 IP 索引效果 余弦但速度更快二、稀疏向量IP 和 BM25 的天下当向量不是稠密浮点数而是像 TF-IDF 那样——大部分是 0少数维度有值比如词频就得换思路了。1. 稀疏向量的 IP内积其实和上面一样还是A·B。但因为稀疏大量 0 相乘自动跳过计算效率极高。比如doc1 [0, 0.5, 0, 0.8, 0]含“AI”和“模型”doc2 [0, 0.4, 0, 0.7, 0]IP 0.5*0.4 0.8*0.7 0.76直接反映共同关键词的加权重合度。优势天然适配稀疏结构快且有效。2. BM25 —— 搜索引擎的老炮儿BM25 不是向量运算而是一种基于词频的排序函数专为信息检索设计。核心思想一个词在查询中出现 → 加分该词在文档中出现次数多 → 加分但有饱和效应避免堆词作弊该词在整个语料库中太常见如“的”、“是”→ 降权文档越长 → 适当惩罚避免长文天然占优为什么比 TF-IDF 余弦更优因为 BM25 考虑了文档长度归一化和词频饱和更适合搜索排序。使用示例用 rank_bm25 库fromrank_bm25importBM25Okapi corpus[人工智能是未来的趋势,机器学习需要大量数据,今天的天气真好]tokenized_corpus[doc.split()fordocincorpus]bm25BM25Okapi(tokenized_corpus)query人工智能 数据tokenized_queryquery.split()scoresbm25.get_scores(tokenized_query)print(BM25得分:,scores)# 越高越相关 场景建议做关键词搜索、电商商品召回、传统搜索引擎——优先考虑 BM25。三、怎么选一张表说清楚方法是否考虑长度适合数据类型典型场景相似性判断L2✅稠密浮点图像、低维聚类距离越小越相似IP✅隐式稠密 or 稀疏推荐系统、向量召回分数越大越相似余弦❌稠密常归一化文本语义、NLP越接近1越相似BM25N/A文本关键词搜索引擎、关键词匹配分数越高越相关结语要物理距离用 L2记得标准化要兴趣对齐用 IP推荐系统首选要语义方向用余弦文本标配要关键词匹配上 BM25搜索老将记住没有“最好”的指标只有“最合适”的选择。理解你的数据、你的业务、你的向量是怎么来的比死记公式重要一百倍下次你在 Milvus 里建索引时看到metric_typeIP还是COSINE就不会再懵了——因为你已经是个懂行的“向量侦探”了

相关文章:

向量相似度计算原理解析

向量相似度怎么算?一文讲透! 在今天的 AI 世界里,「向量」成了我们理解语义、匹配兴趣、检索信息的核心工具。不理解这个就不能称之为合格的AI工程师。 但问题来了:两个向量到底有多像? 这可不是靠肉眼比划能解决的——…...

Agentic Model实践:2026年,DeepMiner如何实现企业级可信智能体的数据全流程透明化?

代理式人工智能(Agentic AI)标志着AI从“被动的文本生成器”向“主动的任务执行者”的范式跃迁。与依赖单一指令的传统大语言模型(LLM)不同,代理式AI能够感知环境、规划复杂任务、调用工具、并基于反馈持续迭代&#x…...

手把手教你部署Whisper语音识别:Gradio界面+GPU加速,简单易用

手把手教你部署Whisper语音识别:Gradio界面GPU加速,简单易用 1. 为什么选择Whisper语音识别镜像 语音识别技术正在改变我们与设备交互的方式,而OpenAI的Whisper模型无疑是当前最强大的开源语音识别解决方案之一。这个由"113小贝"…...

GLM-OCR在.NET生态中的集成:C#调用与桌面应用开发

GLM-OCR在.NET生态中的集成:C#调用与桌面应用开发 你是不是也遇到过这样的场景?手头有一堆纸质文档、扫描的PDF或者图片,需要把里面的文字提取出来,一个个手动录入电脑,费时费力还容易出错。或者,你正在开…...

2026毕业论文防查重必看:实测8款免费降aigc工具,ai降重不踩坑

2026毕业论文防查重必看:实测8款免费降aigc工具,ai降重不踩坑 学弟学妹们,你们的论文守护学姐又来营业了! 这几天打开后台全是差不多的问题:“学姐救命!知网AIGC率82%,我的毕业论文怎么办啊&…...

FlowState Lab Docker部署详解:容器化封装与持久化配置

FlowState Lab Docker部署详解:容器化封装与持久化配置 1. 为什么选择Docker部署FlowState Lab 在AI应用开发领域,环境配置一直是让开发者头疼的问题。不同操作系统、依赖库版本、硬件配置都可能成为项目落地的绊脚石。而FlowState Lab作为一个集成了多…...

二十、kubernetes基础-25-kubernetes-ha-binary-deployment-02-haproxy-keepalived

负载均衡与高可用基石——HAProxyKeepalived 深度实践技术深度:⭐⭐⭐⭐⭐ | CSDN 质量评分:97/100 | 适用场景:Kubernetes 高可用、生产环境负载均衡 作者:云原生架构师 | 更新时间:2026 年 3 月摘要 本文深入解析 Ku…...

LSPatch:为Android应用注入无限可能的免Root模块化方案

LSPatch:为Android应用注入无限可能的免Root模块化方案 【免费下载链接】LSPatch LSPatch: A non-root Xposed framework extending from LSPosed 项目地址: https://gitcode.com/gh_mirrors/ls/LSPatch 你是否曾因Android设备的限制而无法使用心仪的Xposed模…...

【ESP 保姆级教程】小课设篇 —— 案例:基于ESP32S3的可充电视频小车(硬件代码资料+PCB+App源码)

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2026-03-18 ❤️ ❤️ 本篇更新记录 2026-03-18 ❤️ 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误…...

GTE-Base-ZH一键部署体验:对比传统GPU服务器搭建的省心之处

GTE-Base-ZH一键部署体验:对比传统GPU服务器搭建的省心之处 最近在折腾一个文本向量化模型GTE-Base-ZH,想把它部署起来做个本地服务。按照我过去的习惯,肯定是先去云服务商那儿租一台GPU服务器,然后开始漫长的环境配置之旅。但这…...

丹青幻境Z-Image Atelier性能优化:针对4090显卡的深度调优设置

丹青幻境Z-Image Atelier性能优化:针对4090显卡的深度调优设置 1. 引言:当东方美学遇见极致算力 如果你是一位使用NVIDIA RTX 4090显卡的数字艺术创作者,并且正在使用丹青幻境Z-Image Atelier,那么这篇文章就是为你准备的。你可…...

COMSOL多孔介质燃烧器模型:集四场耦合、多物理场非等温流动与反应流场于一体的精确仿真工具...

comsol多孔介质流燃烧器模型,集层流流动模块,流体传热模块,浓物质传递模块和化学反应模块于一体,四场耦合,多物理场涉及非等温流动场,反应流场。经实测可以精确的模拟燃烧流动耦合的仿真结果,适…...

图图的嗨丝造相-Z-Image-Turbo多场景落地:从个人创作到团队协作的LoRA模型工作流

图图的嗨丝造相-Z-Image-Turbo多场景落地:从个人创作到团队协作的LoRA模型工作流 1. 引言:当AI绘画遇上特定风格创作 如果你是一位内容创作者、设计师,或者只是对AI绘画感兴趣,你可能已经体验过各种文生图模型的强大能力。但你是…...

Phi-3-Mini-128K精彩案例分享:单次输入5万字技术文档精准定位核心段落

Phi-3-Mini-128K精彩案例分享:单次输入5万字技术文档精准定位核心段落 1. 工具核心能力解析 Phi-3-Mini-128K是基于微软最新Phi-3-mini-128k-instruct模型开发的轻量化对话工具,其最突出的能力是支持128K超长上下文处理。这意味着它可以一次性读取并理…...

# 养小龙虾进阶教程

养小龙虾进阶教程 引言 “养小龙虾”——搭建 AI 助手,是时下很火的一个话题。然而网上部署教程或依赖昂贵的云服务,或忽略本机的安全性,配置过程更是人云亦云,让人踩坑不断。笔者历经多次失败,最终总结出一套“容器…...

通义千问1.5-1.8B-Chat-GPTQ-Int4与传统检索模型的对比:在开放域问答上的优势与局限分析

通义千问1.5-1.8B-Chat-GPTQ-Int4与传统检索模型的对比:在开放域问答上的优势与局限分析 最近在折腾开放域问答系统,发现很多朋友在技术选型上有点纠结。一边是像通义千问这类参数规模不大但经过量化优化的生成式模型,另一边是久经考验的“检…...

RexUniNLU零样本NLU实操手册:ABSA属性情感联合抽取代码实例

RexUniNLU零样本NLU实操手册:ABSA属性情感联合抽取代码实例 1. 引言:当AI能读懂你的“言外之意” 想象一下,你是一家电商公司的产品经理,每天要面对成千上万条用户评论。比如这条:“手机拍照效果很棒,但电…...

P4512 【模板】多项式除法

P4512 【模板】多项式除法 题目描述 给定一个 nnn 次多项式 F(x)F(x)F(x) 和一个 mmm 次多项式 G(x)G(x)G(x) ,请求出多项式 Q(x)Q(x)Q(x), R(x)R(x)R(x),满足以下条件: Q(x)Q(x)Q(x) 次数为 n−mn-mn−m,R(x)R(x)R(x) 次数小于…...

CosyVoice企业级应用案例:智能外呼与语音通知系统搭建

CosyVoice企业级应用案例:智能外呼与语音通知系统搭建 最近和几个做电商和金融的朋友聊天,他们都在为同样的事情头疼:每天要打成千上万个电话,要么是通知用户快递到了,要么是提醒用户该还款了。用传统的录音播放吧&am…...

Qwen3-TTS-12Hz-1.7B-Base行业应用:汽车语音助手开发实战

Qwen3-TTS-12Hz-1.7B-Base行业应用:汽车语音助手开发实战 1. 引言 想象一下这样的场景:你正驾驶在高速公路上,突然想调整空调温度。传统的车载系统需要你分心去按按钮或者滑动屏幕,这在驾驶中相当危险。而现在,只需要…...

计算电压-电流对的有功、无功、视在功率因数和相位角附Simulink仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…...

Asian Beauty Z-Image Turbo 与ComfyUI工作流集成:实现复杂图像生成管线

Asian Beauty Z-Image Turbo 与ComfyUI工作流集成:实现复杂图像生成管线 你是不是也遇到过这样的困扰:看到别人用AI生成的亚洲风格人像图,光影细腻、神态生动,自己却总是调不出那个味儿?要么是画风不对,要…...

8086CPU寄存器全解析:从CS:IP到DS的实战避坑指南

8086CPU寄存器全解析:从CS:IP到DS的实战避坑指南 1. 理解8086CPU寄存器体系的基础架构 8086CPU作为x86架构的奠基者,其寄存器设计深刻影响了后续数十年的处理器发展。这款16位处理器拥有14个核心寄存器,可分为三大类:通用寄存器、…...

1940-2024年全球/中国/各省降水数据集

1 数据介绍 全球及中国年降水数据集(1940-2024) 数据简介 本数据集基于ERA5再分析月降水数据集成,提供1940-2024年全球及中国区域的年降水数据产品。 核心特征: • 时间跨度:1940-2024年(连续85年&#x…...

提示工程团队知识管理:提示工程架构师的深入研究

提示工程团队知识管理:提示工程架构师的深入研究 引言 背景介绍 随着大语言模型(LLM)在企业级应用中的普及,提示工程(Prompt Engineering)已从个体开发者的“技巧”进化为团队级的“工程能力”。据Gartner预测,到2025年,70%的企业AI应用将依赖系统化的提示工程体系而…...

大一下js学习小总结(2周)

写作背景 这两天刷某音有点多,沟槽的平台推送的都是不看好前端发展的视频,因此学习热情下降较为严重。心里烦躁,正好写一篇小总结。直接复制的某粉目录,想到的相关东西随便搞了搞,没想到就不写了。 一、JS基础Day1 1. …...

Dify多智能体状态一致性难题攻克:基于CRDT+事件溯源的分布式Agent内存同步方案(GitHub Star 2.4k项目核心代码首次详解)

第一章:Dify Multi-Agent 协同工作流概览与核心挑战Dify Multi-Agent 是一个面向复杂业务场景的可编排多智能体协作框架,它允许开发者通过声明式配置或低代码界面定义多个角色化 Agent(如 Researcher、Writer、Reviewer、Validator&#xff0…...

42 接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,…...

客观观察:数据与产业视角下的广西英华国际职业学院就业前景分析

在当前的职业教育评价体系中,毕业生的就业去向落实率与职业发展质量是衡量一所高职院校办学实力的核心指标。针对社会各界及考生、家长关注的“广西英华国际职业学院就业前景”这一议题,本文将摒弃主观宣传色彩,从第三方评价机构排名、历年官…...

UC网盘不登录怎么下载_UC网盘直链下载

UC网盘限速怎么破解这个很简单,这个方法我还是在我朋友那里找到的。下载速度也是非常可以的。我让大家看一下。点我打开方法 这个就是我测试的速度。速度基本能跑到10M左右。宽带问题。下面开始今天的教学环节 打开上面图片中的地址,你会看到一个获取文件…...