我读过的大多数推荐算法文章都集中在用户对项目进行评分的Netflix模型。我想要做的是略有不同(我认为)。如何实现这个推荐算法?
比方说,我想创建一个网站,向用户展示两张汽车图片。用户然后可以选择他们更喜欢哪辆车。用户可以按照他/她喜欢的次数重复这个过程,但是希望当他们继续时,照片对于用户喜欢的内容变得越来越精致。
你会如何实现这个算法?看起来像一种可能的方法是实施一个ELO排名算法,并将这些结果的顺序用作“评级”,但是这具有严重的缺陷,即多个项目不能得到最大评级(用户可能已经完成了,如果有能力评价项目本身)。
另一种看起来更有希望的方法是预先确定每辆车的一般属性(例如颜色,车身类型,2门和4门等),并使用这些方法来获得每个用户都喜欢的属性并基于此建议。
听起来像一个“热或不”的算法。这里是pick a或b实现的另一篇文章。 http://stackoverflow.com/questions/164831/how-to-rank-a-million-images-with-a-crowdsourced-sort – 2011-04-03 16:48:20
作为一种观察,Netflix竞赛中的许多条目使用奇异值分解(alaval Value Decomposition,ala)西蒙·芬克的真棒梯度下降近似)。无论如何,一个关键的假设是用户对电影的评价 - 而不仅仅是比较评级,所以你的情况可能不会略有不同。 – 2011-04-04 02:35:35