我读过的大多数推荐算法文章都集中在Netflix模型上,在该模型中,用户对项目进行评分。我想要做的事情有点不同(我认为)。
比方说,我想创建一个向用户展示两张汽车图片的站点。然后,用户可以选择他们更喜欢的汽车。用户可以多次重复这个过程,但希望随着他们的继续,图片会变得越来越精致,符合用户的喜好。
您将如何实现此算法?似乎一种可能的方法是简单地实现ELO排名算法,并使用这些结果的顺序作为“评级”,但这有严重的缺陷,因为多个项目不能被给予最高评级(如果用户能够自己对项目进行评级,用户可能已经这样做了)。
另一种在我看来更有前途的方法是预先确定每辆车的一般属性(例如颜色、车身类型、2门与4门,等等)。并使用这些来获得每个用户喜欢的属性的大致概念,并在此基础上提供推荐。
发布于 2011-04-05 13:23:33
我要试一试。
假设每辆车都有一组属性。如果这组属性被编码为向量,一种潜在的推荐方法将是使用自组织映射(SOM)。SOM的基本要点是输入向量的分类器。如果您使用表示不同类别输入的输入向量来训练SOM,则SOM将开始对其存储向量进行聚类,以使其更像每一类输入。请注意,不会保留原始输入向量。要使用输入向量训练SOM,需要选择SOM中当前最好的向量,然后该向量周围的区域变得更像输入。当然,请参阅维基百科http://en.wikipedia.org/wiki/Self-organizing_map。
那么,这如何适用于这种情况呢?一个SOM可以用来训练人们喜欢的图像,另一个可以训练他们喜欢的图像。即使没有他们喜欢的单一风格,也应该围绕他们喜欢/不喜欢的汽车形成集群。然后,看看他们是否喜欢一辆没有被他们挑选的汽车,就是根据他们的好恶来确定它与群体的匹配程度。请注意,在这种情况下,最好将彼此不相似或更有可能不是两个都喜欢的汽车匹配起来。
当这个人第一次加入这个站点时,允许他们立即挑选一些喜欢和不喜欢的东西来播种SOM可能是有利的。
祝好运!
发布于 2012-05-23 07:57:12
现在回答可能有点晚了,但你可能想看看this。这是关于麻省理工学院的一位教授,他认为五星评级,点赞评级等不起作用,他提出了一种算法,可以按你的建议对输入进行处理(汽车A或汽车B)。该算法相当复杂,但可以在链接上找到。
https://stackoverflow.com/questions/5530923
复制相似问题