2

我读过的大多数推荐算法文章都集中在用户对项目进行评分的 Netflix 模型上。我想做的略有不同(我认为)。

假设相反,我想创建一个网站,向用户展示两张汽车图片。然后,用户可以选择他们更喜欢哪辆车。用户可以根据自己的喜好多次重复此过程,但希望随着它们的继续,图片会越来越接近用户的喜好。

你将如何实现这个算法?似乎一种可能的方法是简单地实现 ELO 排名算法并将这些结果的顺序用作“评级”,但这具有严重的缺陷,即多个项目无法获得最高评级(用户可能如果有能力对项目本身进行评分,则已完成)。

另一种对我来说似乎更有希望的方法是预先确定每辆车的一般属性(例如颜色、车身类型、2 门 vs 4 门等)并使用这些来大致了解每个用户喜欢的属性并以此为基础提出建议。

4

2 回答 2

1

我会试一试。

假设每辆车都有一组属性。如果将这组属性编码为向量,则一种可能的推荐方法是使用自组织映射 (SOM)。SOM 的基本要点是它是输入向量的分类器。如果您使用代表不同输入类别的输入向量训练 SOM,则 SOM 将开始对其存储向量进行聚类,使其更像每个输入类别。请注意,不保留原始输入向量。为了用输入向量训练 SOM,选择当前在 SOM 中的最佳向量,然后该向量周围的区域变得更像输入。当然,请参阅 Wikipedia http://en.wikipedia.org/wiki/Self-organizing_map

那么这如何适用于这种情况呢?好吧,一个 SOM 可以用来训练人们喜欢的图像,而一个 SOM 可以用来训练他们喜欢的图像。即使没有他们喜欢的单一风格,集群也应该围绕他们喜欢/不喜欢的汽车形成。然后看看他们是否喜欢一辆没有被他们挑选的汽车,就是从他们的好恶中找出它与群体的匹配程度。请注意,在这种情况下,最好匹配彼此不同或更有可能不都被喜欢的汽车。

当此人第一次加入该网站时,让他们立即挑选一些喜欢和不喜欢的人来播种 SOM 可能是有利的。

祝你好运!

于 2011-04-05T05:23:33.293 回答
0

也许现在回答有点晚了,但你可能想看看这个。这是关于麻省理工学院的一位教授,他认为 5 星评级、喜欢评级等不起作用,他提出了一种算法,可以按照您的建议(汽车 A 或汽车 B)成对输入。该算法非常复杂,但可以在链接上找到。

于 2012-05-22T23:57:11.560 回答