余弦相似度和欧式距离的区别

余弦相似度和欧式距离的区别

1. 计算公式

余弦相似度:

\[\cos \left( {A,B} \right) = \frac{{A \cdot B}}{{{{\left\| A \right\|}_2}{{\left\| B \right\|}_2}}} = \frac{{\sum\limits_{i = 1}^n {\left( {{x_i} \times {y_i}} \right)} }}{{\sqrt {\sum\limits_{i = 1}^n {{{\left( {{x_i}} \right)}^2}} }  \times \sqrt {\sum\limits_{i = 1}^n {{{\left( {{y_i}} \right)}^2}} } }}\]

欧式距离:

\[dist\left( {A,B} \right) = {\left\| {A - B} \right\|_2} = \sqrt {\sum\limits_{i = 1}^n {{{\left( {{x_i} - {y_i}} \right)}^2}} } \]

如果对向量模长进行归一化,欧式距离和余弦相似度有如下计算关系:

\[{\left\| {A - B} \right\|_2} = \sqrt {2\left( {1 - \cos \left( {A,B} \right)} \right)} \]

 

2. 取值范围

余弦相似度的取值范围:[-1,1]

欧式距离取值范围:[0, +∞)

 

3. 适用场景

余弦相似度计算的向量的夹角,它并不关心向量的绝对大小。

欧式距离体现的是数值上的绝对差异。

 

posted @ 2019-07-11 17:12  xd_xumaomao  阅读(1943)  评论(0编辑  收藏  举报