对于推荐引擎,这些技术(矩阵分解:ALS、pearson或cossin相关性)的优点和缺点是什么,以及我们如何设计使用哪种技术。
使用pearson相关性的协作过滤存在一些问题。我将列出几个大的:
-
可扩展性
当数据库增长时,计算用户之间的pearson相关性将花费越来越长的时间。由于您必须计算每个用户之间的相关性,因此这将呈指数级增长。 -
数据稀疏性
对于大多数推荐引擎来说,这是一个大问题。如果你有很多用户,很多项目只有几条评论,那么很难生成推荐,因为你的数据太少,无法计算用户之间的相关性。 -
冷启动问题
从技术上讲,每种方法都会遇到这个问题,但矩阵分解比协作滤波器处理得更好。冷启动问题基本上意味着您没有或几乎没有任何关于用户的数据。使用协作筛选器时无法解决此问题。期间
您可以使用其他技术来解决这个问题,即基于内容的过滤。
确定应该使用哪种方法可能很困难。矩阵分解优于传统的基于用户和基于项目的协同过滤,但你必须决定它是否最适合你的模型
如果没有稀疏数据库,协作过滤器会很好地工作,但矩阵分解方法也是如此。
以下是一些有趣的网站,其中包含有关这些方法的数据。最后,由你或你的团队来决定哪种方法最有效。
-
矩阵分解示例:http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/
-
内容和协作过滤:http://recommender-systems.org/
如果这还不够清楚,请随意询问更多!