现在,任何一对样本都有嵌入。相似度测量采用这些嵌入,并返回衡量其相似度的数字。请注意,嵌入只是数字向量。如需找出两个向量 \(A = [a_1,a_2,...,a_n]\) 和 \(B = [b_1,b_2,...,b_n]\)之间的相似度,有三种相似度指标可供选择,如下表所示。
衡量 | 含义 | 公式 | 与提高相似度的关系 |
---|---|---|---|
欧几里得距离 | 矢量结束值之间的距离 | \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) | 减少 |
余弦 | 矢量之间的角度余弦 \(\theta\) | \(\frac{a^T b}{|a| \cdot |b|}\) | 增加 |
点产品 | 余弦乘以两个矢量的长度 | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | 增加。也会随着矢量长度而增加。 |
选择相似性指标
与余弦相反,点积与向量长度成正比。这一点很重要,因为训练集中经常出现的示例(例如,热门 YouTube 视频)往往具有较长长度的嵌入向量。 如果您想掌握热门程度,请选择点式商品。不过,这样做可能会降低相似度指标的偏差。为了平衡这种偏差,您可以增加指数值以 \(\alpha\ < 1\) 计算点积为 \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\)。
为了更好地了解矢量长度如何改变相似度测量,请将矢量长度归一化为 1,您会注意到三个测量值彼此成比例。
证据:相似度衡量比例
将 a 和 b 归一化为 \(||a||=1\) 和 \(||b||=1\)后,这三项措施相关联:
- 欧几里得距离 = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\)。
- 点积 = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\)。
- 余弦 = \(\cos(\theta_{ab})\)。