点积与余弦相似度
两个向量“像不像”,怎么用一个数衡量?答案是点积:把对应分量相乘再相加。它有个漂亮的几何含义——等于一个向量在另一个向量上的“投影”长度乘以另一个的长度。方向越一致,点积越大;垂直时为零;反向时为负。再除掉长度的影响,就得到只看夹角的余弦相似度。注意力分数、向量检索、推荐系统,背后都是它。拖动两个箭头试试。
拖动 蓝向量 a 和 金向量 b 的端点。淡蓝粗线是 a 在 b 上的投影。看右边的点积和余弦怎么随夹角变。
点积 a·b = —
余弦相似度 cos θ—
夹角 θ—
|a|(长度)—
|b|(长度)—
a·b = |a|·|b|·cos θ = 投影长度 × |b|
同向 → 大正数
方向一致,点积最大(=两长度相乘),余弦接近 +1,最“相似”。
垂直 → 零
互相垂直时点积为 0,余弦为 0,互不相关。
反向 → 负数
方向相反,点积为负,余弦接近 −1,最“不相似”。