自动化推荐算法通常是如何工作的?

18

我刚刚读到团队BellKor's Pragmatic Chaos正在Wired上赢得Netflix挑战,我很好奇这种算法通常是如何工作的。我知道Bellkor团队的解决方案在该领域必定是创新的...但该领域通常是如何工作的呢?它只是一个非常详细的数据库,反复运行马尔科夫链,还是其他什么?

4个回答

11

另一种方法是曼哈顿距离(或出租车几何)(计算速度更快,比欧几里得距离不够精确)。 - adhg

11

但这个领域通常是如何工作的呢?

这是一种数据挖掘技术。数据挖掘是商业智能(数据仓库等)的一部分,试图在海量数据中找到关系和信息。它是计算机科学的一个领域,也涉及到机器学习,例如模式识别。关联挖掘可以获得自动推荐。高支持度的关联被显示为推荐。k最近邻算法只是机器学习/数据挖掘人员使用的众多算法之一。

如果您对基本理论感兴趣,我建议阅读Ian H. Witten的《数据挖掘:实用机器学习工具和技术》

对于Java,有一个很棒的机器学习包WEKA,可以进行关联挖掘。Ian Witten也是WEKA的作者之一。


5
大多数Netflix竞赛参与者使用奇异值分解的变种。该算法通过将一个大矩阵简化为近似的2x2矩阵来运作。然后可以在二维空间中绘制这个2x2矩阵,在原始矩阵中彼此靠近的点在这个平面上也会相互靠近。
因此,在Netflix的情况下,可以创建一个矩阵,其中电影是列,用户是行,任何值[i,j]都是i用户给出的电影j的评分。这是一个非常大的矩阵,可以对其应用SVD以生成一个二维矩阵,该矩阵作为较大矩阵的近似。当在此平面上绘制时彼此靠近的用户具有相似的评级,因此如果一个用户没有看过另一个用户在此平面上靠近的已经看过的电影,则可以向新用户推荐该电影。
获胜的解决方案设计了一种称为SVD ++的直接SVD算法的变体,并将其与其他边缘情况混合在一起,以尝试产生超过10%的改进,从而赢得比赛奖金。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接