论文部分内容阅读
推荐系统在互联网服务中拥有非常重大的作用。对于在线购物网站,智能推荐可以促使用户购买更多的商品;对于在线视频、音乐以及新闻网站,推荐系统可以帮助用户更容易的发现感兴趣的视频、音乐和新闻;对于在线广告系统,推荐系统可以提升广告的点击率……目前对推荐系统的研究集中在推荐算法上,推荐算法可以分为三类:1)协同过滤。该方法基于用户对物品的浏览、购买、打分等历史记录产生推荐。2)基于内容的过滤。该方法基于物品的内容信息,而不是用户与物品之间的交互记录产生推荐。3)混合方法。将以上两种方法相结合。协同过滤方法是这些推荐算法中最为流行的,它又可以分为两类:基于内存的和基于模型的。基于内存的方法利用评分数据计算用户之间或者是物品之间的相似度,然后利用这些相似度进行推荐。常见的基于内存的方法有:基于用户的k-最近邻、基于物品的k-最近邻、Slope One。基于模型的方法利用数据挖掘、机器学习等技术在数据集上训练出模型,然后用模型进行实际预测。常见的协同过滤模型有:聚类模型、矩阵分解模型、受限玻尔兹曼机等。本文提出了几种新的基于模型的协同过滤方法,它们是:1)基于神经网络基本模型的协同过滤。我们尝试用三层的神经网络基本模型来预测用户对物品的打分,进而产生推荐。2)基于张量神经网络的协同过滤。将1)中的神经网络基本模型替换为更复杂的二阶张量神经网络。3)基于神经网络基本模型的k-最近邻协同过滤。将神经网络基本模型与k-最近邻相结合。在以上方法中,用户或电影用特征向量表示,作为神经网络的输入,这些向量以及模型的参数通过训练获得。神经网络的训练采用批量梯度下降法和误差反向传播算法。在训练过程中本文采用了自适应学习率、动量、多线程、矢量化编程等优化方法。我们在movielens-1m数据集上对本文提出的这几种方法进行了实验。为了与现有的方法进行对比,设计了对比实验。对比实验基于开源工具Mahout,实现了基于用户的k-最近邻、基于物品的k-最近邻、Slope One、改进的基于物品的k-最近邻、ALS-WR、SVD++这几种现有的协同过滤方法。实验结果表明,本文提出的方法获得了比现有方法更低的RMSE值。