论文部分内容阅读
在这个信息爆炸的时代,每天互联网上产生海量的数据,对于如何能够准确而迅速地找到自己想要的信息是亟待解决的问题。推荐系统能够帮助用户在海量的资源中寻找到真正有价值的信息,节约用户的寻找成本,同时也提高用户对网站的忠诚度,增加网站收益。目前推荐系统在电子商务、广告投放、社会网络、数字图书馆、电影和音乐点播等领域得到广泛应用,未来的社会化网络将被推荐系统所推动发展。所以推荐系统逐渐得到学术界和工业界的广泛关注。美国计算机学会和国内外期刊多次把推荐系统列为研讨主题。其中,推荐算法在推荐系统中具有至关重要的地位。因此,需要研究一种高效的个性化推荐算法,充分利用现有的数据集,深入挖掘用户和其有过评分行为的物品之间的关系,建立预测模型,来预测每个用户对于他没有过行为的物品的兴趣度,从而针对每个用户形成自己的推荐列表,进行个性化推荐。本文具体从以下三个方面对个性化推荐算法进行研究:(1)基于隐含语义模型(LFM)优化方法的研究LFM可以找出隐含的主题或分类,并通过隐含的主题或是分类建立特征之间的联系。这个算法的核心思想是先建立用户对物品的评分矩阵,再求解两个低维矩阵,使得两个低维矩阵相乘可以近似表征这个评分矩阵。一般求解LFM采用梯度下降的方法来最小化损失函数,但考虑到应用在推荐系统领域中,要处理海量的数据,所以本章提出了采用CUDA对随机梯度下降算法并行化的方法提高推荐效率。(2)基于CUDA并行化PersonalRank算法利用随机游走理论可以较好的解释PersonalRank算法,但该算法训练数据的时间损耗过大。因为为了给每个用户推荐物品,需要在整个二分图上进行不断迭代,直到整个二分图上的每个结点的PR值收敛。所以这一过程所需耗费的时间过长,不仅无法提供实时在线的推荐,而且生成离线推荐的结果也非常耗时。因此,针对这一问题,本文对PersonalRank算法采用CUDA进行并行化,从而提高推荐的效率。(3)隐含语义模型和PersonalRank算法混合在推荐算法的应用中,优秀的个性化推荐方法一般是通过混合对多个乃至上百个模型才得以取得良好的推荐效果,因此可见多模型的混合对提高推荐的精确度起着必不可少的作用。因此,提出了一种融合隐含语义模型和基于随机游走的PersonalRank算法的混合推荐算法,先利用隐含语义预测用户对没有评价过的物品的评分,对于预测评分大于某个阈值的来填充用户评分矩阵,再对用户和物品建立图模型,然后利用PersonalRank算法计算每个用户的对每个物品的Rank值,取Top-N进行推荐给用户。最后,在Moive Lens数据集上验证了利用隐含语义模型填充稀疏矩阵对预测评分效果。