1. 点积(Dot Product)
点积是两个向量的“乘积”,但这个乘积不是按元素一一相乘的,而是通过以下方式计算的:
-
公式:
A⋅B=∥A∥∥B∥cosθ
其中,∥A∥ 和∥B∥ 是向量的长度(模),θ 是它们之间的夹角。
-
通俗解释:
点积其实是衡量两个向量相似程度的一种方式。具体来说,它反映了向量A沿着向量B的方向的投影有多长。可以想象,把向量A投影到向量B上,点积就是投影的长度与向量B的长度的乘积。- 如果两个向量方向完全相同,点积最大。
- 如果两个向量垂直(即夹角90度),点积为零。
- 如果两个向量方向相反,点积为负数。
2. 余弦距离(Cosine Distance)
余弦距离是基于余弦相似度来衡量向量间差异的一种方法。余弦相似度本质上是通过点积计算的,但它忽略了向量的长度,只关心它们的方向关系。
-
公式:
余弦距离则是:
余弦距离=1−余弦相似度余弦距离=1−余弦相似度
-
通俗解释:
余弦相似度通过计算两个向量的夹角的余弦值来度量它们的相似性,完全相同的方向的两个向量,其余弦相似度为1;完全相反的方向的两个向量,余弦相似度为-1;夹角为90度的两个向量(即正交)余弦相似度为0。
余弦距离则是余弦相似度的反向度量。两个向量完全相似时,余弦距离为0;两个向量完全不同(相反)时,余弦距离为2。
再来干货
示例:
假设我们有两个二维向量:
- 向量 A: A=(3,4)
- 向量 B: B=(4,3)
我们将分别计算这两个向量的 点积 和 余弦距离。
1. 点积的计算
点积的公式是:
其中证明可以看(向量点积定义的证明_向量点积 证明-CSDN博客 )
A⋅B=A1×B1+A2×B2
其中,A1和 A2是向量 A 的两个分量,B1 和 B2 是向量 B 的两个分量。
- 向量 A: A=(3,4)
- 向量 B: B=(4,3)
点积计算:
A⋅B=(3×4)+(4×3)=12+12=24
所以,点积 A⋅B=24。
2. 余弦相似度的计算
首先,我们需要计算向量 A 和向量 B 的模(长度)。
- 向量 A 的模:
- 向量 B 的模:
接下来,我们可以计算余弦相似度:
所以,余弦相似度 cosθ=0.96。
3. 余弦距离的计算
余弦距离是通过余弦相似度来计算的:
余弦距离=1−cosθ余弦距离=1−cosθ
根据前面计算的余弦相似度:
余弦距离=1−0.96=0.04
所以,余弦距离 =0.04。
总结:
- 点积:A⋅B=24
- 余弦相似度:cosθ=0.96
- 余弦距离:余弦距离=0.04
在这个例子中,余弦相似度非常接近 1,表明这两个向量的方向非常相似,而余弦距离非常小,表示它们几乎是相同的方向。