【问题标题】:Collaborative Filtering Algorithm协同过滤算法
【发布时间】:2016-11-02 15:10:16
【问题描述】:

如果我有以下用户,他们观看的电影评分如下:

User1 Movie1-5 Movie2-4 
User2 Movie2-5 Movie2-3 Movie3-4
User3 Movie1-4 Movie2-4 Movie4-4

如何使用协同过滤向 user1 推荐 movie3,如何计算 user1 给 movie3 4 分或更好的概率?

【问题讨论】:

标签: filtering collaborative


【解决方案1】:

嗯,有几种不同的方法可以使用协同过滤生成推荐,我将解释基于用户和基于项目的协同过滤方法。这些方法在推荐算法中使用最多。

基于用户的协同过滤

这基本上计算了用户之间的相似度。相似性可以是皮尔逊相关性或余弦相似性。有更多的相关数字,但那些是最常用的。 This 文章很好地解释了如何计算。

基于用户的过滤确实带来了一些挑战。首先是数据稀疏问题,当有很多电影评论很少时会出现这种情况。这使得难以计算用户之间的相关性。 This 维基百科页面对此进行了详细说明。

其次是可扩展性问题。当数百万用户拥有数千部电影时,计算用户之间相关性的性能将大幅下降。

基于项目的协同过滤

此方法不同于基于用户的过滤,因为它计算的是电影之间的相似度而不是用户之间的相似度。然后,您可以使用这种相似性来预测用户的评分。我发现this 演示文稿很好地解释了这一点。

基于项目的过滤器优于基于用户的过滤器,但它们也存在相同的问题,但要少一些。

基于内容的过滤

看到您的数据,很难生成推荐,因为您从用户那里获得的数据太少。我建议使用基于内容的过滤器,直到您有足够的数据来使用协同过滤方法。这是一个非常简单的方法,它基本上是查看用户的个人资料并将其与电影的某些标签进行比较。 This 页面有更详细的解释。

我希望这回答了你的一些问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2011-01-27
    • 2014-09-05
    相关资源
    最近更新 更多