网站做任务领q币,推进网站建设,网站备案一天通过,个人小程序怎么申请注册在之前的文章 嵌入和语义检索 中#xff0c;我们了解了把文本变成向量的方法#xff0c;由于这些向量相当于将文本做了分类#xff1a;语义相近的距离越近#xff0c;所以这些向量就可以很方便的应用于语义检索场景了。
比较向量相似度#xff08;vector similarity…在之前的文章 嵌入和语义检索 中我们了解了把文本变成向量的方法由于这些向量相当于将文本做了分类语义相近的距离越近所以这些向量就可以很方便的应用于语义检索场景了。比较向量相似度vector similarity的常见算法主要分为两大类1️⃣基于“角度/方向”的度量2️⃣基于“距离/差异”的度量下面我们系统的整理一下。一、基于“方向”的相似度算法常用于语义相似度这些方法关注向量间的夹角或方向一致性而不太关心长度。1.余弦相似度Cosine Similarity公式cosine-sim ( A , B ) A ⋅ B ∣ ∣ A ∣ ∣ , ∣ ∣ B ∣ ∣ \text{cosine-sim}(A, B) \frac{A \cdot B}{||A|| , ||B||}cosine-sim(A,B)∣∣A∣∣,∣∣B∣∣A⋅B值域[-1, 1]越接近 1表示两个向量方向越相似。特点忽略向量的大小只看“方向”是否一致。应用文本嵌入、语义搜索、推荐系统例如BERT、Word2Vec后常用。2.点积Dot Product公式A ⋅ B ∑ i A i B i A \cdot B \sum_i A_i B_iA⋅Bi∑AiBi几何意义点积的几何意义本质是将一个向量投影到另一个向量上再计算投影长度与被投影向量长度的乘积它直接关联向量的方向关系。点积的另一个计算公式为A ⃗ ⋅ B ⃗ ∣ A ⃗ ∣ ⋅ ∣ B ⃗ ∣ ⋅ cos θ \vec{A} \cdot \vec{B} |\vec{A}| \cdot |\vec{B}| \cdot \cos\thetaA⋅B∣A∣⋅∣B∣⋅cosθ其中θ \thetaθ是两个向量的夹角这个公式直接体现了其几何意义可拆解为两步计算向量B ⃗ \vec{B}B在向量A ⃗ \vec{A}A方向上的投影长度即∣ B ⃗ ∣ ⋅ cos θ |\vec{B}| \cdot \cos\theta∣B∣⋅cosθ将这个投影长度与向量A ⃗ \vec{A}A的自身长度∣ A ⃗ ∣ |\vec{A}|∣A∣相乘得到点积结果。反过来也可以理解为向量A ⃗ \vec{A}A在B ⃗ \vec{B}B方向上的投影长度乘以∣ B ⃗ ∣ |\vec{B}|∣B∣结果完全相同。数学真是太神奇了使用不同的方法计算正确结果只有一个。点积衍生意义判断向量方向关系点积的正负和大小能直接反映两个向量的方向关联这是其几何意义的重要应用A ⃗ ⋅ B ⃗ 0 \vec{A} \cdot \vec{B} 0A⋅B0cos θ 0 \cos\theta 0cosθ0夹角θ 9 0 ∘ \theta 90^\circθ90∘两个向量方向大致相同锐角或同向A ⃗ ⋅ B ⃗ 0 \vec{A} \cdot \vec{B} 0A⋅B0cos θ 0 \cos\theta 0cosθ0夹角θ 9 0 ∘ \theta 90^\circθ90∘两个向量垂直正交A ⃗ ⋅ B ⃗ 0 \vec{A} \cdot \vec{B} 0A⋅B0cos θ 0 \cos\theta 0cosθ0夹角θ 9 0 ∘ \theta 90^\circθ90∘两个向量方向大致相反钝角或反向。特点向量越长、方向越相近点积越大。若向量已归一化则点积 余弦相似度。应用在神经网络、注意力机制attention score中常用。3.皮尔逊相关系数Pearson Correlation公式r ( A , B ) ∑ i ( A i − A ˉ ) ( B i − B ˉ ) ∑ i ( A i − A ˉ ) 2 ∑ i ( B i − B ˉ ) 2 r(A, B) \frac{\sum_i (A_i - \bar{A})(B_i - \bar{B})}{\sqrt{\sum_i (A_i - \bar{A})^2} \sqrt{\sum_i (B_i - \bar{B})^2}}r(A,B)∑i(Ai−Aˉ)2∑i(Bi−Bˉ)2∑i(Ai−Aˉ)(Bi−Bˉ)特点衡量线性相关性与余弦相似度相似但会去除平均值影响。应用用户行为相似度、推荐系统协同过滤。二、基于“距离”的相似度算法越小越相似这些算法测量两个向量的“距离”常用于数值特征。4.欧氏距离Euclidean Distance公式d ( A , B ) ∑ i ( A i − B i ) 2 d(A, B) \sqrt{\sum_i (A_i - B_i)^2}d(A,B)i∑(Ai−Bi)2几何意义欧氏距离的几何意义本质是n维空间中两个点之间的“直线距离”是平面几何中两点间距离公式在高维空间的直接推广。从二维到高维的直观理解:欧氏距离的核心是“直线最短”在不同维度空间中表现为具体的直线距离二维空间平面上两点( x 1 , y 1 ) (x_1,y_1)(x1,y1)和( x 2 , y 2 ) (x_2,y_2)(x2,y2)之间的直线距离公式为( x 2 − x 1 ) 2 ( y 2 − y 1 ) 2 \sqrt{(x_2-x_1)^2 (y_2-y_1)^2}(x2−x1)2(y2−y1)2对应勾股定理中斜边的长度。欧氏距离三维空间立体空间中两点( x 1 , y 1 , z 1 ) (x_1,y_1,z_1)(x1,y1,z1)和( x 2 , y 2 , z 2 ) (x_2,y_2,z_2)(x2,y2,z2)之间的直线距离公式扩展为( x 2 − x 1 ) 2 ( y 2 − y 1 ) 2 ( z 2 − z 1 ) 2 \sqrt{(x_2-x_1)^2 (y_2-y_1)^2 (z_2-z_1)^2}(x2−x1)2(y2−y1)2(z2−z1)2。n维空间对于抽象的n维数据点如机器学习中的特征向量欧氏距离同样表示两点沿各维度坐标差值构成的“超空间直线长度”公式为∑ i 1 n ( x i 2 − x i 1 ) 2 \sqrt{\sum_{i1}^n (x_{i2}-x_{i1})^2}∑i1n(xi2−xi1)2。特点直观、最常见。距离越小越相似如两个用户的偏好特征、两个样本的属性。应用聚类KMeans、图像向量检索。5.曼哈顿距离Manhattan Distance公式d ( A , B ) ∑ i ∣ A i − B i ∣ d(A, B) \sum_i |A_i - B_i|d(A,B)i∑∣Ai−Bi∣特点对异常值更鲁棒适合稀疏向量。应用特征稀疏的场景如词袋模型。6.闵可夫斯基距离Minkowski Distance公式d ( A , B ) ( ∑ i ∣ A i − B i ∣ p ) 1 / p d(A, B) \left( \sum_i |A_i - B_i|^p \right)^{1/p}d(A,B)(i∑∣Ai−Bi∣p)1/p特点欧氏距离p2和曼哈顿距离p1的泛化形式。7.切比雪夫距离Chebyshev Distance公式d ( A , B ) max i ∣ A i − B i ∣ d(A, B) \max_i |A_i - B_i|d(A,B)imax∣Ai−Bi∣特点只关心最大差异的维度。实际应用推荐应用场景推荐算法文本语义相似度余弦相似度、欧氏距离、点积图像特征匹配欧氏距离、余弦相似度用户行为相似度皮尔逊相关系数稀疏特征向量曼哈顿距离总结在语义检索semantic retrieval领域最常用的相似度比较算法是余弦相似度使用最广泛、最经典的语义相似度算法、欧氏距离、点积。在语义检索系统如基于 BERT / BGE / SimCSE / OpenAI Embedding的实现里算法常见用途备注余弦相似度文本语义检索、RAG系统默认标准欧氏距离向量数据库内部优化距离越小越相似点积相似度注意力机制、嵌入匹配速度快常见于模型内部感谢观看祝好运