论文部分内容阅读
协同过滤算法是推荐系统中应用和研究较多的经典方法,传统协同过滤算法的主要思想是基于用户对项目的单一综合评分挖掘用户的兴趣并为其做出推荐。然而已有研究表明基于单一评分的方法并不能很好刻画用户的根本兴趣,于是基于多指标评分的推荐技术被提出和使用。这种方法的核心思想是利用用户对项目不同维度的指标评分,对用户建立兴趣模型,为用户推荐提供更加精准的项目列表。当前关于多指标推荐算法研究较少,大都受到数据规模和数据稀疏性的影响,已有相关研究可以分为三类:1)将多指标评分推荐问题分解成单一指标评分问题,然后对每一维指标采用已有的任意协同推荐算法进行预测,然后再将预测结果进行综合作为最终的综合评分预测,该方法缺点是预先假设用户对每维指标偏好程度一样,现实情况是用户对不同指标偏好程度可能是不一致的。2)利用聚合函数将综合评分表示成多指标评分的线性关系,然后利用统计或机器学习的方法得到聚合函数,然后进行预测和推荐,该方法缺点是容易受到训练数据的稀疏性或噪音影响。3)简单的聚类方法,利用潜在语义分析的方法对用户进行潜在语义分析,该方法仅仅考虑了多指标对用户的影响,而忽略了多指标对项目也同样具有影响。针对以上多指标推荐算法研究还存在不足的问题,本文提出一种基于概率矩阵分解的多指标推荐算法(Multi-criteria collaborative filtering algorithm based on Probabilistic Matrix Factorization,MCPMF)尝试解决这些问题。本课题将传统推荐算法矩阵分解中用户-项目关系考虑成三种关系,即用户-多指标关系,项目-多指标关系以及用户-项目关系。借助矩阵分解的思想能降低数据噪音和大规模数据的影响。通过假设三种关系的数据潜在分布都服从高斯分布,然后将多指标对用户和对项目的影响考虑成一个权重矩阵。本课题提出了两种权重矩阵的计算方法,一种是基于多指标评分的协方差矩阵;另一种假设多指标对用户和项目的影响分布服从高斯分布,且两种影响相互独立,将两种影响的联合分布表示成对用户和项目都产生影响的权重矩阵。MCPMF中用户和项目的特征矩阵通过梯度下降法迭代学习得到。在采集到的大众美食点评和携程旅游景点点评两个真实数据集上的实验表明,MCPMF模型与传统针对单一指标模型算法相比,预测精度有一定的提高,与针对多指标的(如:FGPLSA)算法相比也有提高,并且能降低数据稀疏性所带来的影响。本文的主要贡献有:1)对多指标权重矩阵的处理,通过两种权重计算方法来考虑多指标。2)对多指标权重矩阵与用户(项目)特征向量的融合处理,通过假设用户(项目)的潜在分布都会受到多指标的影响,利用概率矩阵分解的思想来处理。3)算法对稀疏数据的适应,利用概率矩阵分解的思想,在一定程度上解决了算法过拟合的问题。