Milvus的相似度指标

官网:https://milvus.io/docs/metric.md
版本: v2.3.x

在 Milvus 中,相似度度量用于衡量向量之间的相似度。选择良好的距离度量有助于显着提高分类和聚类性能。
下表展示了这些广泛使用的相似性指标如何与各种输入数据形式和 Milvus 索引相匹配。

一、浮点型向量

image.png

1.1 欧式距离L2

本质上,欧氏距离测量连接 2 个点的线段的长度。欧氏距离的公式如下:
image.png
其中 a = (a0, a1,…, an-1) 和 b = (b0, b0,…, bn-1) 是 n 维欧几里德空间中的两个点 这是最常用的距离度量。
PS:当选择欧几里德距离作为距离度量时,Milvus 仅在应用平方根之前计算值

1.2 内积IP

image.png
如果您需要比较非标准化数据或当您关心幅度和角度时,IP 会更有用。
PS: 如果您使用 IP 来计算嵌入相似度,则必须对嵌入进行标准化。归一化后,内积等于余弦相似度。

1.3 余弦相似度

余弦相似度使用两组向量之间的角度的余弦来衡量它们的相似程度。您可以将两组向量视为从同一原点 ([0,0,…]) 开始但指向不同方向的两条线段。要计算两组向量 A = (a0, a1,..., an-1)B = (b0, b1,..., bn-1) 之间的余弦相似度,请使用以下公式:
image.png
余弦相似度始终在区间 [-1, 1] 内。
例如,两个比例向量的余弦相似度为 1,两个正交向量的相似度为 0,两个相反的向量的相似度为 -1。余弦越大,两个向量之间的角度越小,表明这两个向量彼此更相似。用 1 减去它们的余弦相似度,就可以得到两个向量之间的余弦距离。

二、2值型向量

有Jaccard、Hamming如下两种:
image.png

2.1 Jaccard杰卡德距离

杰卡德相似系数(Jaccard similarity coefficient):两个集合 A 和 B 的交集元素在 A,B 的并集中所占的比例,称为两个集合的杰卡德相似系数,则其表达式为:
image.png
image.png
它只能应用于有限的样本集。
杰卡德距离衡量数据集之间的不相似性,由1减去杰卡德相似系数得到,与杰卡德相似系数相反,用两个集合中不同元素占所有元素的比例来衡量两个集合的区分度。对于二元变量,杰卡德距离相当于谷本系数(Tanimoto coefficient)。
杰卡德距离的表达式为:
image.png

2.2 Hamming汉明距离

汉明距离(Hamming Distance)可以用来计算长度相等两个向量的相似度;

  • 汉明距离的计算方式为:比较向量的每一位是否相同,若不同则汉明距离加1,这样即可得到汉明距离。向量相似度越高,对应的汉明距离越小。
  • 汉明距离可以比较两个二进制串,a=11101010,b=11011010。a和b两个二进制串不同的位数为2,则汉明距离为2。

例如,假设有两个字符串 1101 1001 和 1001 1101。 11011001 ⊕ 10011101 = 01000100。由于其中包含两个 1,因此汉明距离 d (11011001, 10011101) = 2。


如果有用,请点个三连呗 `点赞、关注、收藏`。
***你的鼓励是我最大的动力***

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

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

相关文章

如何用Python实现转行高薪梦?三个热门方向带你入门

Python是一门非常适合转行的编程语言,它有着丰富的应用场景和学习资源,而且语法简单易懂,学习效率高。如果你想要用Python实现转行梦想,那么你可能会问,Python有哪些热门的工作方向?小编这就为你介绍Python…

js【详解】DOM

文档对象模型(Document Object Model,简称DOM) DOM 是哪种数据结构 ? DOM 的本质是浏览器通过HTML代码解析出来的一棵 树。 操作 DOM 常用的 API 有哪些 ? 获取 DOM 节点 //方式 1:通过【id】获取&#xf…

啤酒:精酿啤酒与三明治的快捷搭配

在快节奏的现代生活中,人们总是追求简单、快捷的美食。而Fendi Club啤酒与三明治的搭配,正是满足了这一需求。它们以其方便的制作方式和美味的口感,成为了无数人的心头好。 Fendi Club啤酒,以其醇厚的口感和细腻的泡沫&#xff0c…

【AI视频教程】只需5步,AI作出鸡你太美视频

1.视频效果 2.准备工作 制作视频效果,需要准备下面3个条件: 准备stable diffusion的环境剪辑一段【鸡你太美】原版视频stable diffusion安装sd-webui-IS-NET-pro插件 2.1部署stable diffusion环境 这里还是建议大家用云平台部署stable diffusion&am…

第二十天-数据分析

1.介绍 1.什么是数据分析 1.以下4个纬度结合起来的数据科学 2.数据分析的特殊性

Java实现Tron(波场)区块链的开发实践(三)波场链水龙头、WEB3测试实战

上一节我们具体讲到Java实现Tron波场链的逻辑代码实现。 这一节我们通过部署和开发好的代码,针对测试链进行自测开发,准备测试环境。 1. 创建离线地址 首先我们需要一个离线地址,我们不需要在线进行创建,直接可以通过第一节的离…

重庆医科大学和重庆市生物信息学学会联合主办!第十六届生物信息学和生物医学技术国际会议(ICBBT 2024)即将召开!

2024年第十六届生物信息学和生物医学技术国际会议(ICBBT 2024)将于5月24-26日在中国重庆举行。本次会议由重庆医科大学和重庆市生物信息学学会联合主办。ICBBT会议系列一年一届,已有15年历史。本次会议的主要目标旨在促进生物信息学和生物医学…

4、Generator、class类、继承、Set、Map、Promise

一、生成器函数Generator 1、声明generator函数 function* 函数名() { }调用生成器函数 需要next()返回一个generator对象,对象的原型上有一个next(),调用返回对象{value:yield后面的值,done} function* fn() {console.log("我是生成器函数") } let it…

Linux-网络编程报错分析

1【UDP】通信 【No route to host】:没有连接主机的路由 原因分析: 1.没有配置好默认网关地址,计算机上的路由表找不到到目标ip的路由。 解决方法:检查网络配置 2. 解决方法: 3. 解决方法:

22 Dytechlab Cup 2022C. Ela and Crickets(思维、找规律、模拟)

思路就是找规律 可以发现,当拐点在角落时的情况和不在角落的情况是不同 当拐点在角落时,只有目标点的横纵坐标其中的一个和它相同时,这时才可能到达。 否则,我们就简单的例子可以看一下,当一个 2 ∗ 2 2*2 2∗2的矩阵的…

使用网盘不限速,云开发者都用这一招

在现实世界里,很多现实里的场景和物品都逐渐“云”化。 最直观的一个解释,就是我们几乎人人都在使用网盘来存储数据、文档、音视频和各类安装包。 用网盘是挺方便的。但有个让人头疼的问题,就是很多免费网盘对上传下载速度限制得厉害。 比…

猫咪挑食怎么治?排行榜靠前适口性好的主食冻干推荐

在如今,养猫人士几乎都将自己的小猫咪视作珍宝,宠溺有加。但宠爱过度有时也会导致猫咪养成挑食的坏习惯。猫咪挑食怎么治呢?今天,我要分享一个既能让猫咪不受苦,又能纠正挑食问题的方法。 一、为什么猫会挑食呢&#x…

CSS 文档流

是指页面上的元素在摆放的时候所占用的空间,也泛指页面元素放置的位置。 块元素:比如li标签或者h1这种,都是默认自上而下摆放的。内联标签:如果是span标签或者strong标签,它是从左到右进行摆放的。 有些场景并非得从…

数据结构绪论

数据元素;数据项;组合项 数据对象 有相同性质的数据元素就属于同一个数据对象; 而数据结构则要求数据元素之间存在特定的关系! 线性数据结构&网状数据结构 数据结构这门课关注的是数据元素之间的关系,和对这些…

软件测试面试需要准备什么?面试有什么技巧?看完面试轻松解决

前言 无论是在校招还是社会企业招聘中,应聘者总是要经过层层的考核才能被聘用。然而,在招聘时,设置的编程以及非技术面试问题,真的有必要吗?如此就能考核出一位开发者的真实水平? 说到底就是考验你的技术以…

kibana新增查看更新删除es中的数据

登录kibana,打开开发工具 写入数据 PUT test20240311/person/1 {"name": "张三","mobile":"13011111111" } 查询数据 GET /test20240311/person/_search {"query": {"term": {"mobile": {…

docker安装各种组件

一 docker基本命令 镜像操作 ① 列举镜像 docker images ② 搜索镜像(以jdk为例) docker search jdk ③ 下载镜像 docker pull java ④ 查看所有镜像 docker images ⑤ 启动镜像(以jdk8为例) docker run -it --name jdk…

鸿蒙实战开发学习:【HiView插件开发】

概述 Hiview是一个跨平台的终端设备维测服务集,其中是由插件管理平台和插件实现的各自功能构成整套系统。 本文描述了hiview插件开发的全部流程。 插件的概念 整节部分包括了插件的概念,事件源的概念,流水线的概念等基本概念 插件的定义 …

低功耗高端蓝牙智能跳绳解决方案

一、方案概述 跳绳运动作为轻量、燃脂、便捷的运动之一,拥有庞大的人群基础。在这样的趋势下,智能跳绳的智能化及精细化也就顺理成章。 芯联深入智能运动健康器材市场,最新开发了蓝牙智能跳绳方案,采用双霍尔高精准计数方案&…

Nodejs 18.19.0 基本环境搭建(无版本管理)

简介 记录一次安装Nodejs的过程, 及设置install 安装路径等… 基本安装及设置步骤 1. 下载Nodejs并安装 NodeJs 18.19.0 LTS Windows安装msi, 下载后安装在自己想要的路径, 例如 D:\Softwares\Dev_Tools\nodejs cmd 中输入 nodejs version 可以查看版本 2. 设置 npm config ls…