寻找相似用户
1.曼哈顿距离:计算速度快,对于Facebook这样需要计算百万用户之间的相似度时就非常有利
最简单的距离计算方式是曼哈顿距离。在二维模型中,每个人都可以用(x, y)的点来表示,这里我用下标来表示不同的人,(x1, y1)表示艾米,(x2, y2)表示那位神秘的X先生,那么他们之间的曼哈顿距离就是:
我们就可以把结果最小(距离最近)的结果最推荐给X先生。
2.欧几里得距离:
3.闵可夫斯基距离:
我们可以将曼哈顿距离和欧几里得距离归纳成一个公式,这个公式称为闵可夫斯基距离:
其中:
r = 1
该公式即曼哈顿距离r = 2
该公式即欧几里得距离r = ∞
极大距离r值越大,单个维度的差值大小会对整体距离有更大的影响。
4.皮尔逊相关系数
让我们仔细看看用户对乐队的评分,可以发现每个用户的打分标准非常不同:
那么,如何比较这些用户呢?比如Hailey的4分相当于Jordan的4分还是5分呢?我觉得更接近5分。这样一来就会影响到推荐系统的准确性了。解决方法之一是使用皮尔逊相关系数。
皮尔逊相关系数的计算公式是:
能够计算皮尔逊相关系数的近似值:
原文:http://www.cnblogs.com/alexkn/p/6642475.html