gpt4 book ai didi

sparse-matrix - 协同过滤程序 : What to do for a Pearson Score When There Isn't Enough Data

转载 作者:行者123 更新时间:2023-12-04 15:05:14 25 4
gpt4 key购买 nike

我正在使用协同过滤构建推荐引擎。对于相似度分数,我使用 Pearson 相关性。大多数时候这很好,但有时我的用户只共享 1 或 2 个字段。例如:

User 1{
a: 4
b: 2
}

User 2{
a: 4
b: 3
}

由于这只有 2 个数据点,因此 Pearson 相关性始终为 1(直线或完美相关性)。这显然不是我想要的,那么我应该使用什么值呢?我可以扔掉所有这样的实例(相关性为 0),但我的数据现在非常稀疏,我不想丢失任何东西。是否有任何我可以使用的相似度分数适合我的其余相似度分数(所有 Pearson)?

最佳答案

您可能需要考虑使用余弦相似度而不是 Pearson 相关性。它没有这个问题,并且被广泛用于推荐系统文献中。

Herlocker 等人描述了对此的规范解决方案。在“基于邻域的协同过滤算法中的设计选择的实证分析”中,是“阻尼”皮尔逊相关性以纠正具有小协同评级集的用户之间的过高相关性。基本上,您将 Pearson 相关系数乘以 1 和 cc/50 中的较小者,其中 cc 是两个用户都评价过的项目数。效果是,如果它们至少有 50 个共同点,那么相似度就是原始 Pearson;否则,它会与它们共同的评分项数成线性比例。它将 1 的虚假相关性变成了 0.02 的相似性。

50 可能需要根据您的域和系统进行调整。

您还可以使用余弦相似度,它不会以相同的方式受到此限制。然而,对于用户-用户 CF,通常首选 Pearson 相关。

更新:在最近的工作中,我们发现基于用户的 CF 过早地忽略了余弦相似性。余弦相似度,当在归一化数据上执行时(在计算余弦相似度之前从每个评分中减去用户的平均值——结果与帕森相关非常相似,只是它有一个内置的自阻尼项),优于皮尔逊“标准”环境。当然,如果可能,您应该对自己的数据和环境进行一些测试,看看哪种效果最好。论文在这里:http://grouplens.org/node/479

免责声明:我是制作上述 Herlocker 论文的实验室的一名学生。

关于sparse-matrix - 协同过滤程序 : What to do for a Pearson Score When There Isn't Enough Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com