论文部分内容阅读
随着Internet的迅猛发展,互联网成为了人们生活中不可或缺的一部分。人们对互联网的需求也不仅仅限于工作,他几乎出现在人们生活中的每一个角落。出门吃饭,可以通过日新月异的搜索引擎,可以按照推荐率自高而低排列。要看电影,也可以在各门户网站,电影网站,搜索到最新的评分及影评。但随之而来的是接入互联网的网页数量不断增长。传统的搜索算法只能呈现给所有用户同样的结果,无法针对不同用户提供相应的信息,随之产生了“信息过载”的问题。因此,个性化推荐技术应运而生。协同过滤推荐算法是当前推荐系统中应用最广泛的推荐算法,但是随着电子商务的规模不断扩大,协同过滤算法同样遇到了一些挑战,如冷启动问题、数据稀疏性等问题。本文针对协同过滤算法进行了深入的学习和研究,并阐述了相应的组合算法和针对协同过滤算法的改进算法,取得了理想的结果。本文的研究工作主要如下:1、针对推荐系统和推荐算法的现状进行了详细了解,重点研究了协同过滤推荐算法以及Apache Mahout中关于推荐算法的相关知识;对当前的主流推荐系统和推荐算法进行了介绍,并对各种推荐算法的优缺点进行了说明。2、对协同过滤推荐算法进行了详细的分析。该算法主要包括两类:分别是基于用户的协同过滤推荐算法(User-Based CF)和基于项目的协同过滤推荐算法(Item-Based CF),同时还重点研究和介绍了当前应用非常广泛的Slope One推荐算法,针对这三种算法的算法原理及步骤进行了详细的解析。3、组合推荐算法的设计与实现。此处为本文的主要创新点,本文设计了一种全新的组合推荐算法,该算法主要是将基于项目的协同过滤推荐算法和基于用户的协同过滤推荐算法进行组合,充分利用用户-项目评分数据集所包含的用户和项目的相关信息来进行推荐。4、应用Apache Mahout开源框架,使用MovieLens数据集和MAE评估标准,对传统的基于项目的协同过滤算法、基于用户的协同过滤算法以及Slope One算法进行了仿真实验,对计算相似度的三种方法进行效果对比,同时对本文所述的组合推荐算法进行仿真实验。对比了传统的协同过滤算法以及组合算法的实验效果,同时对实验结果进行了分析。