论文部分内容阅读
随着互联网的迅猛发展,不断涌现的高新技术工具改善着人们的生活水平。推荐系统在这个过程中扮演着至关重要的角色,它已经广泛应用于社交网络和电子商务等许多在线服务领域中。推荐系统是一种软件工具,它可以为用户推荐一些可能感兴趣的物品或服务,它的存在可以让人们获得更加多样化的有效信息与服务。除了社交、电商,在电影、音乐、书籍和文章等方面也随处可见。推荐系统能够持续的受欢迎得益于推荐技术的不断发展与优化。尽管如此,现有推荐系统仍然面临着冷启动、稀疏性和预测准确率较低等问题。尤其是在大数据时代,传统的推荐系统架构无法满足日新月异的商家与用户需求,同时在扩展性方面仍存在问题。随着大数据技术的不断发展,这些传统问题有了新的解决方向,其中就包括Hadoop分布式计算平台与Spark分布式计算引擎。Spark见长于内存迭代计算,也是当下主流大数据技术。本文主要研究了几种比较经典的推荐算法,针对冷启动、稀疏性和预测准确率较低等问题,进行算法改进,提出了一种新的推荐方法,并在Spark集群上设计与实现,同时提出了一种基于RDD依赖关系的缓存管理策略,提升内存计算资源的使用效率。具体的研究内容如下:(1)针对基于潜在因子模型的推荐算法存在的冷启动和数据稀疏性等问题,提出了一种基于潜在因子的矩阵分解补全混合加权推荐方法(Latent Factor-Based Matrix Factorization Completion Based Hybrid Weighted Recommendation Method),简称LF-WMC推荐方法。从矩阵分解与矩阵补全两个方面进行初步预测,同时考虑用户项目的邻居信息集,根据用户项目评分的局部和全局影响对以上两种预测结果进行混合得到新的预测结果,最后根据三种预测结果的RMSE进行加权平均,有效缓解了冷启动、数据稀疏性等问题,同时提高了推荐预测结果的准确性。(2)针对Spark分布式计算引擎的计算效率问题,提出了一种基于RDD依赖关系的缓存管理策略,在Spark作业执行前根据RDD的Stage内部和Stage间的依赖关系,引入RDD引用计数与执行时间,针对跨Stage缓存RDD,计算两种能耗实现缓存在磁盘内存中动态切换,提高了内存资源的复用率。(3)设计并实现基于大数据的用户个性化推荐原型系统,并对各个功能模块进行测试,基本满足实际需求。