论文部分内容阅读
近年来,推荐服务已经成为亚马逊、Netflix,Flicker,Delicious等一类用户虚拟生活平台上的一项基本服务。在这些虚拟生活平台上,用户可以对平台上的物品进行各种操作,如在亚马逊上用户可以对书籍浏览、购买,在Flicker上用户可以对图片浏览、评论、打分、分享等等。由于物品数目过大,用户无法逐个浏览,平台自动地向用户推荐物品就显得尤为重要,推荐的效果直接影响着用户体验。平台上积累的大量用户和物品间的交互数据也使得这种推荐变得可行。基于这些数据,目前研究领域已经提出很多成熟的推荐算法。
随着互联网的广泛普及,近些年来,这些虚拟生活平台上用户数目急剧增长,同时用户参与度也不断加深,这些因素使得这些平台上数据的规模越来越大。如淘宝网上用户规模超过2亿,京东用户规模超过1亿,优酷用户规模超过3亿。这种大规模数据集对算法提出了新的要求:(1)时间效率,由于数据规模大,要求算法高效;(2)空间效率,由于一般推荐算法非常耗费存储,需要存储大量中间结果,海量数据时,要求空间效率足够高;(3)算法效果,海量数据下算法面临着更加严重的数据稀疏性问题,要求算法效果足够好。
要解决上面列出大规模数据集下对算法的挑战,必须使用分布式算法。而近年来,特别是Hadoop流行之后,集群技术得到快速发展。各种成熟的集群技术使得推荐算法的分布式实现变得简单可行。
为此,本文提出了一个分布式的超大数据集下的推荐算法。该算法首先通过模糊切分方法将原始数据集切分成若干个子数据集,然后独立的计算出每个子数据集的矩阵分解结果,最后组合这些结果并生成最终推荐。算法可以非常方便的在各种并行平台(如Hadoop)上实现。本文(1)详细介绍了该并行算法;(2)在Hadoop平台上实现了算法;(3)通过在真实的数据集上实验,验证算法的时间效率、空间效率、推荐效果(4)详细分析了算法效果与可扩展性并总结了下一步工作方向。