论文部分内容阅读
随着互联网行业的迅猛发展,网络上充满了各种各样的信息。为了解决信息过载所带来的负面效应,提高用户对信息的利用率,一种智能的信息过滤系统应运而生,它就是个性化推荐系统。基于邻域的协同过滤推荐算法是常见的一类算法,它运用统计学原理分析用户与用户,物品与物品之间的相似度,然后根据兴趣相投的用户倾向于喜欢相同类别的物品的假设,推荐相应的物品给用户。而基于隐语义模型的推荐算法则运用机器学习的方法,通过学习挖掘用户的潜在兴趣偏好和物品的隐含特征,建立用户与物品的关系,然后据此产生推荐。本文重点研究了基于邻域的协同过滤算法与基于隐语义模型的推荐算法的系统理论与实现方法,比较了两种算法的区别。经过深入地研究和分析,结合两类算法的思想,提出了融合这两种算法的新方案,即基于隐含特征的协同过滤算法LICF(latent item feature based collaborative filtering)。该算法首先利用梯度下降法学习产生用户潜在偏好向量集和物品隐含特征向量集;然后利用物品的特征向量集计算物品之间的相似度,将物品做一个软分类;在此基础上分别结合用户偏好向量和用户的历史评分计算用户对未评价过的分类物品的兴趣偏好度。最后经过加权处理后排序得到TOP-N个推荐结果。基于隐含特征的协同过滤的算法克服了基于邻域的协同过滤算法只分析用户显式特征的缺点。通过用户潜在偏好向量表示的用户兴趣粒度更细,建立的用户模型更精准;根据物品的隐含特征向量对物品的分类更科学,从而提高了推荐的准确度。其次,算法一定程度上缓解了基于邻域的协同过滤算法在面对稀疏数据集时推荐准确度急速下降的缺点。最后,算法通过融入协同过滤的思想改善了基于隐语义模型算法在推荐解释性上的缺失。经过在实验数据集Movie Lens上的测试分析,通过三组实验证明了算法的有效性。即在相同的相邻物品个数的场景下,随着隐含因子个数的增加,基于隐含特征的协同过滤的算法在推荐的平均误差上要明显低于传统的基于邻域的协同过滤的算法;在固定隐含因子个数的场景下,随着相邻物品个数的增加,LICF-A算法在推荐的平均误差上也要明显低于传统的基于邻域的协同过滤的算法。最后在固定隐含因子和相邻物品个数的场景下,随着数据的稀疏度的增加,LICF-A算法在推荐的误差率上明显低于传统的基于邻域的协同过滤的算法,在一定程度上缓解了该问题。