答案 0 :(得分:8)
这是一个非常开放的问题,涉及许多不同的概念。
作为初步讨论点,请考虑k-nearest neighbor algorithm。它广泛用于类似于你的电影选择器的问题。这个算法的一个大问题是人类输入决定你用多少维度来分割你的特征空间,并选择每个维度的属性,这样每个维度都会增加价值,而不是重复另一个维度的价值。
与k-NN算法直接相关的是cluster analysis的字段。当您绘制数据点以获得在更多散乱的异常值中具有团块的信息时,您可以直观地看到在聚集点中存在某种相似性。您可以轻松地将一些散乱的异常值与一个或另一个丛集合在一起,但是在可能适合两个或更多竞争团块的团块之间会有许多点。解决这个难题的唯一方法是向数据点添加更多维度参数,以便将那些未提交的异常值绘制到一个丛集中。 (点击链接查看丛生数据的精彩图片。)
这个简短的介绍导致了下一个概念:Pattern Recognition。该课程是数学上的重点,是理论计算科学,统计学,人工智能,机器学习和千里眼等领域的大量研究课题。最后一个是半开玩笑,但它指出了问题的关键: 计算机如何预测将来会做什么? 简短的回答是它不能。较长的答案试图解释为什么你的品味和情绪在看似随机的时间看似随意的方向变化。一个好的模式识别系统可能会挑选你真正喜欢的20部电影,然后推荐另外一部来自同一丛的电影,另外20部就是你非常讨厌的电影。系统在哪里失败?它是在算法实现中,最初选择功能空间维度的参数,还是由于其他人使用您的Netflix帐户订购' Howard the Duck ',您的个人资料被搞砸了, '巡航'和'海滩'?
“模式识别”的维基百科页面列出了许多不同的算法和方法。你可以从那里开始阅读,以更好地处理个人的优势和劣势。您也可以尝试在Theoretical Computer Science堆栈中询问此问题以获得长发答案。
答案 1 :(得分:3)
来自BellKor的团队赢得了Netflix Prize。所以,可以说,这种方法可能是最好的方法。
为了对这些推荐系统如何工作提供高级,直观的解释,请考虑以下情况。我每周看两次“星球大战”。现在,如果你不得不向我推荐一部我想要的电影,你会选择哪部电影?哈里森福特的电影?科幻电影?也许是80年代制作的一部电影?
推荐系统背后的一个重要思想是,他们越了解你喜欢什么(即什么类型,演员等),他们可以提供更好的建议。
然而,如果你的口味相互矛盾(例如你喜欢拯救大兵瑞恩,但也喜欢关于和平主义者的电影),你很难向你推荐一部电影。
简而言之,许多推荐算法需要知道: