首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐引擎:余弦相似度与每个向量分量之间的百分比差

推荐引擎:余弦相似度与每个向量分量之间的百分比差
EN

Stack Overflow用户
提问于 2014-10-08 17:12:30
回答 1查看 848关注 0票数 1

比方说,我有一个用户数据库,他们对不同产品的评分范围为1-5。我们的推荐引擎根据其他高度相似的用户的喜好向用户推荐产品。我寻找相似用户的第一种方法是使用余弦相似度,并将用户评分作为向量组件来处理。这种方法的主要问题是它只是测量矢量角度,而不考虑等级尺度或大小。

,我的问题是:能不能向我解释一下,为什么余弦相似度比更适合于判断用户的相似性--简单地测量两个向量__(用户)的向量分量之间的百分比差?

例如,,为什么不直接这样做:

代码语言:javascript
复制
n = 5 stars
a = (1,4,4)
b = (2,3,4)

similarity(a,b) = 1 - ( (|1-2|/5) + (|4-3|/5) + (|4-4|/5) ) / 3 = .86667

而不是余弦相似:

代码语言:javascript
复制
a = (1,4,4)
b = (2,3,4)

CosSimilarity(a,b) = 
(1*2)+(4*3)+(4*4) / sqrt( (1^2)+(4^2)+(4^2) ) * sqrt( (2^2)+(3^2)+(4^2) ) = .9697
EN

回答 1

Stack Overflow用户

发布于 2014-10-08 18:54:45

我想一个答案是,并不是所有的推荐问题都是在1-5级别上运行的,也不是所有的问题都是在原始的特征空间上运行的,但有时是在低级别的特征空间上运行的。答案在这里变了。

我不认为余弦相似性是一个很好的评分标准。收视率不是你想要正常化的东西。如果您将每个用户的评分标准化为平均值为0,则更有意义。

我也不确定使用这种修改的L1距离是最优的。考虑正规欧氏/ L2距离。最后,经验测试将告诉您什么对您的数据最有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26262609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档