一、概念
余弦相似度:
余弦距离:1-cos(A,B)
欧式距离:
二、两者之间的关系
当向量的模长是经过归一化的,此时欧氏距离与余弦距离有着单调的关系:
在此场景下,如果选择距离最小(相似度最大)的近邻,那么使用余弦相似度和欧氏距离的结果是相同的。
推导如下,这里面前提就是X和Y是归一化后的,也就是自己的模都为1,才会存在这种关系:
三、什么时候用余弦距离什么时候用欧式距离呢?
总体来说,欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。
1)例如,统计两部剧的用户观看行为,用户A的观看向量为(0,1),用户B为(1,0);此时二者的余弦距很大,而欧氏距离很小;我们分析两个用户对于不同视频的偏好,更关注相对差异,显然应当使用余弦距离。
2)而当我们分析用户活跃度,以登陆次数(单位:次)和平均观看时长(单:分钟)作为特征时,余弦距离会认为(1,10)、(10,100)两个用户距离很近;但显然这两个用户活跃度是有着极大差异的,此时我们更关注数值绝对差异,应当使用欧氏距离。