我读过" 编程集体智慧 "一书,发现它非常吸引人.我最近听说亚马逊向世界发布了一项挑战,为他们的系统提出了更好的推荐引擎.
获胜者显然通过限制馈送给它的信息量来产生最佳算法.
作为第一个经验法则,我猜......" 在模糊算法方面,更多信息并不一定更好."
我知道这是主观的,但最终它是一个可测量的东西(点击以响应建议).
由于我们大多数人现在正在处理网络,搜索可以被视为一种推荐形式......我怀疑我不是唯一一个欣赏其他人的想法的人.
简而言之,"建立推荐的最佳方式是什么?"
除非您没有关于用户的信息,否则您不想使用"整体受欢迎程度".相反,您希望相应地将此用户与相似的用户和权重对齐.
这正是贝叶斯推理所做的.在英语中,它意味着调整你想要的总体概率(平均评级)和其他通常投票的人的评分.
另一条建议,但这次是临时的:我发现有些人如果喜欢某些东西,我几乎肯定不喜欢它.我不知道这种效果是真实的还是想象的,但建立一种"负面效应"而不仅仅是通过相似性来聚集人们可能会很有趣.
最后,有一家公司专门研究这种名为SenseArray的公司.所有者(伊恩·克拉克的Freenet的成名)是非常平易近人.如果你打电话给他,你可以使用我的名字.
计算机科学有一个专门研究这个主题的研究领域.我建议阅读一些文章.
同意@Ricardo.这个问题过于宽泛,就像问"优化系统的最佳方法是什么?"
几乎所有现有推荐引擎的一个共同特征是使最终推荐归结为乘以一定数量的矩阵和向量.例如,通过项目评级的向量将包含用户之间的邻近权重的矩阵相乘.
(当然你必须准备好让你的大多数矢量超级稀疏!)
对于@Allain来说,我的答案肯定来得太晚了,但是对于其他用户通过搜索找到这个问题 - 给我发一个PM并提出更具体的问题,我一定会回复.
(我专业设计推荐引擎.)