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

神经网络之向量相似性

🧭 一、基本概念:为什么要计算“向量间的相似度”

当我们用向量来表示词语、句子或图像时,向量之间的几何关系就代表了它们之间的语义关系

  • 如果两个向量方向相近 ⇒ 两个词语的意义相似。
  • 如果两个向量相互垂直 ⇒ 意义几乎无关。
  • 如果方向相反 ⇒ 含义相反(例如 “好” vs “坏”)。

所以,“相似度”就是在数学上量化“语义相似”的方式。


🧮 二、常见的相似度衡量方式

我们主要用几种度量来比较两个向量 (a⃗)( \vec{a} )(a)(b⃗)( \vec{b} )(b)


1️⃣ 余弦相似度(Cosine Similarity)

最常见、最直观的衡量语义相似度的方法。

定义:
KaTeX parse error: Expected 'EOF', got '_' at position 14: \text{cosine_̲similarity} = \…

其中:

  • (a⃗⋅b⃗)( \vec{a} \cdot \vec{b} )(ab):内积(点积)
  • (∣∣a⃗∣∣)( ||\vec{a}|| )(∣∣a∣∣):向量长度(模)
  • 结果范围:([−1,1])([-1, 1])([1,1])

解释:

  • 值越接近 1 ⇒ 方向越接近 ⇒ 意义越相似
  • 值接近 0 ⇒ 无关
  • 值接近 -1 ⇒ 意义相反

直观几何图:

→    → 
a    b↖ 夹角 θ
cos(θ) = 相似度

举例:

向量含义相似度
“猫” vs “狗”都是动物0.8
“猫” vs “车”无关0.1
“好” vs “坏”反义词-0.9

2️⃣ 欧几里得距离(Euclidean Distance)

衡量“距离”的绝对大小,而不是方向。

定义:
d(a⃗,b⃗)=(a1−b1)2+(a2−b2)2+… d(\vec{a}, \vec{b}) = \sqrt{(a_1 - b_1)^2 + (a_2 - b_2)^2 + \dots} d(a,b)=(a1b1)2+(a2b2)2+

解释:

  • 距离越小 ⇒ 越相似
  • 距离越大 ⇒ 越不相似

不过欧氏距离受“向量长度”影响较大,不太适合高维语义空间(通常先归一化再使用)。


3️⃣ 曼哈顿距离(Manhattan Distance)

d(a⃗,b⃗)=∑i∣ai−bi∣ d(\vec{a}, \vec{b}) = \sum_i |a_i - b_i| d(a,b)=iaibi
适合在稀疏特征空间中使用(如词袋模型),但在语义向量中不如余弦相似常用。


4️⃣ 点积(Dot Product)

a⃗⋅b⃗=∑iaibi \vec{a} \cdot \vec{b} = \sum_i a_i b_i ab=iaibi
其实是余弦相似的未归一化形式,在神经网络(尤其是注意力机制中)常直接使用。


🧠 三、为什么“余弦相似度”最常用于语义分析

因为:

  • 它只关注方向,忽略了长度(即词频、出现次数的规模)。
  • 在高维词向量空间中,方向即语义,而长度往往代表词的重要性或频率。

举个例子:
在Word2Vec或GloVe中,“国王”“王后”“男人”“女人”这四个向量大致满足:
国王⃗−男人⃗+女人⃗≈王后⃗ \vec{国王} - \vec{男人} + \vec{女人} \approx \vec{王后} 国王男人+女人王后
这个几何关系依赖的就是方向的相似性而非绝对距离。


🧩 四、简单实现(Python示例)

import numpy as npdef cosine_similarity(a, b):return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))a = np.array([1, 2, 3])
b = np.array([2, 3, 4])print(cosine_similarity(a, b))

输出大约:

0.9926

表示这两个向量方向非常相近。


🧭 五、小结

指标含义是否考虑方向是否考虑长度常用于
余弦相似度角度相似语义分析、词向量
欧几里得距离绝对距离聚类、空间距离
曼哈顿距离坐标差稀疏特征空间
点积未归一化方向相似神经网络内部计算
http://www.dtcms.com/a/540209.html

相关文章:

  • 关于前端文件处理-实战篇
  • <script setup lang=“ts“>+uniapp实现轮播(swiper)效果
  • 网站建设与设计方案现在什么网页游戏最好玩最火
  • SOME/IP 序列化问题
  • 【Rust编程:从新手到大师】 Rust 所有权与内存安全
  • wordpress如何添加背景音乐seo点评类网站
  • Flink Keyed State 详解之二
  • AI IN ALL王炸霸屏|战神数科与腾讯字节等深度践行AI
  • 【技术干货】在Stimulsoft中使用Google Sheets作为数据源创建报表与仪表盘
  • PCIe协议之唤醒篇之 WAKE# 信号
  • 搜狗做网站怎么样做静态网站有什么用
  • 潍坊网站建设公司哪家好大庆+网站建设
  • 推理成本吞噬AI未来,云计算如何平衡速度与成本的难题?
  • 基于VaR模型的ETF日内动态止损策略实现与理论验证
  • Linux云计算基础篇(28)-Samba文件服务
  • 学习经验分享【42】数学建模大赛参赛经历
  • 5.3 大数据方法论与实践指南-存储成本优化(省钱)
  • 运营商网站服务密码搜索引擎优化seo信息
  • 【案例实战】鸿蒙元服务开发实战:从云原生到移动端,包大小压缩 96% 启动提速 75% 的轻量化设计
  • 网站开发人员介绍网络营销研究现状文献综述
  • html5制作网站一个网站建立团队大概要多少钱
  • AceContainer类中用于初始化任务执行系统的核心方法--AceContainer::InitializeTask
  • Ubuntu部署 Kubernetes1.23
  • 悟空 AI CRM 的回访功能:深化客户关系,驱动业务增长
  • Qt的.pro文件中INSTALLS的作用和用法
  • 我的项目该选LoRa还是RF超短波全数字加密传输?
  • vue3 实现记事本手机版01
  • 03_全连接神经网络
  • 生成式AI重塑教学生态:理论基础、核心特征与伦理边界
  • html5手机网站调用微信分享wordpress缩略图加载慢