相似度计算(欧式距离和余弦距离)

相似度:即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。

对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算文本的相似度。

欧式距离(考虑向量之间的距离):通过向量之间的距离来判断相似程度,距离越近就代表越相似。

在这里插入图片描述

C=|b-a|

在这里插入图片描述

例:

在这里插入图片描述

余弦距离(考虑向量之间的方向):通过向量夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

在这里插入图片描述
假定A和B是两个n维向量,A是 [A1, A2, …, An] ,B是 [B1, B2, …, Bn] ,则A与B的夹角θ的余弦等于
在这里插入图片描述
当n等于3时:在这里插入图片描述
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近;越趋近于-1,他们的方向越相反;接近于0,表示两个向量近乎于正交。

(1)夹角为0度 :此时向量A与向量B是最相似的,余弦相似度为1。
(2)夹角为90度 :此时余弦相似度为0。
(3)夹角为180度 :此时余弦相似度为-1,两个向量的方向完全相反。

在这里插入图片描述
余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比欧氏距离,余弦距离更加注重两个向量在方向上的差异。