一、概述
三角函数,相信大家在初高中都已经学过,而这里所说的余弦相似度(Cosine Distance)的计算公式和高中学到过的公式差不多。
在几何中,夹角的余弦值可以用来衡量两个方向(向量)的差异;因此可以推广到机器学习中,来衡量样本向量之间的差异。
因此,我们的公式也要稍加变换,使其能够用向量来表示。
二、计算公式
① 二维平面上的余弦相似度
假设 二维平面 内有两向量:
A(x_{1},y_{1}) 与
B(x_{2},y_{2})则二维平面的
A、
B 两向量的余弦相似度公式为:
cos(\theta)=\frac{a\cdot b}{|a| |b|}\begin{aligned} cos(\theta)&=\frac{a\cdot b}{|a| |b|}\\ &=\frac{x_{1}x_{2}+y_{1}y_{2}}{\sqrt{x_{1}^2+y_{1}^2}\sqrt{x_{2}^2+y_{2}^2}} \end{aligned}② n维空间上的余弦相似度
推广到 n 维空间的两个向量
A(x_{11},x_{12},...,x_{1n}) 与
B(x_{21},x_{22},...,x_{2n}),则有余弦相似度为:
\begin{aligned} cos(\theta)&=\frac{a\cdot b}{|a| |b|}\\ &=\frac{\sum_{k=1}^n x_{1k} x_{2k}}{\sqrt{\sum_{k=1}^nx_{1k}^2}\sqrt{\sum_{k=1}^nx_{2k}^2}} \end{aligned}③ 注意
[-1,1]。
- 余弦越大表示两个向量的夹角越小,余弦越小表示两向量的夹角越大。
- 当两个向量的方向重合时余弦取最大值
1,当两个向量的方向完全相反余弦取最小值
-1。