基于欧几里得距离的相似度计算
欧几里得距离是常用的计算距离的公式,它表示三维空间的两个点的真实距离。欧几里得相似度计算是一种基于用户之间直线距离的计算方式,在计算时,不同的物品或者用户可以将其定义为不同的坐标点,而特定的目标定位为坐标原点,欧几里得计算两个点之间的距离公式如下:
知道了两个坐标之间的直线距离,欧几里得相似度也就很好计算了,与d成反比,即其相似度公式如下:
从公式可以看出两个物品或者用户之间的距离越大,则其相似度越小,距离越小则相似度越大。
下表用户与物品评分对应表
物品1 | 物品2 | 物品3 | 物品4 | |
用户1 | 1 | 1 | 3 | 1 |
用户2 | 1 | 2 | 3 | 2 |
用户3 | 2 | 2 | 1 | 1 |
下面分别计算用户1和用户2之间的相似度,通过欧几里得距离公式可得:
从计算结果可以看出,d12的分值大于d13的分值,因此可以得出结论,用户2比用户3更与用户1具有相似性。
基于余弦角度相似度计算
与欧几里得距离相似,余弦相似度也特定目标,即物品或者用户作为坐标上的点,但不是坐标原点。基于此与特定的被计算的目标进行夹角计算。
由上图可以看出,如果两个目标较为相似,则其射线形成的夹角较小。如果两个用户不相近,则两条射线形成的夹角较大,因此在使用余弦度量的相似度计算中,可以用夹角的大小来反映目标之间的相似性。计算公式如下: