余弦距离和欧氏距离,知道原理和公式后真的很简单

简介: 余弦距离和欧氏距离,知道原理和公式后真的很简单

余弦距离

我们来看下公式,其实就是余弦计算公式:A和B是两个任意向量,除以它们模的乘积,就得到它们夹角的余弦值,其中向量Ai和Bi是向量A和B的每一个分量。

image.png


简单来说,余弦相似度,就是计算两个向量间的夹角的余弦值。


余弦距离就是用1减去这个获得的余弦相似度。


余弦值取值范围为[-1,1],余弦距离取值范围为[0,2],这样就满足了非负性的性质。


是不是很简单~


欧式距离

欧式距离我们从初中或者说小学就开始使用了,就是计算距离空间中的两点的实际距离。

image.png

这里的p为点(x1,y1)与点(x2,y2)之间的欧氏距离,当然扩展到多维空间中,公式就拓展到:

image.png

是不是更简单~


选择依据

总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。


统计两部剧的用户观看行为,用户A的观看向量为(0,1),用户B为(1,0);此时二者的余弦距很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。


而当我们分析用户活跃度,以登陆次数(单位:次)和平均观看时长(单:分钟)作为特征时,余弦距离会认为(1,10)、(10,100)两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。

目录
相关文章
|
5月前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
17188 20
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
|
4月前
|
JavaScript Linux Shell
OpenClaw Linux/阿里云/本地部署攻略:从安装Skill到Web UI配置+百炼API及避坑指南
OpenClaw作为开源AI Agent工具的热门选择,凭借灵活的部署方式、丰富的技能生态与多模型兼容特性,成为开发者与效率用户的首选。但对新手而言,首次部署常因环境配置、模型选择、认证一致性等问题卡壳——尤其是Linux环境下的依赖安装、Web UI与TUI认证不同步等高频坑,让不少用户望而却步。
2501 5
|
10月前
|
人工智能 自然语言处理 数据可视化
手把手教你用LLM图转换器构建知识图谱:从文本到知识的智能转换
本文介绍如何利用大型语言模型(LLM)自动化构建知识图谱,涵盖核心技术、实现方法、优化策略及多领域应用,助力从非结构化文本中高效提取结构化知识。
|
机器学习/深度学习 人工智能 算法
机器学习:K-means算法基本原理及其变种
机器学习:K-means算法基本原理及其变种
2377 0
机器学习:K-means算法基本原理及其变种
|
10月前
|
存储 缓存 监控
LangChain4j 详细教程
LangChain4j 详细教程
3924 7
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
15672 1
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型