论文部分内容阅读
随着计算机技术的飞速发展,人类在获得越来越多便利的同时也产生了更多的数据,面临着“信息过载”的问题,即从海量大数据中挖掘有价值的信息变得越来越困难。推荐系统就是在这样的背景下诞生的,推荐系统能从大量数据当中获得有价值的信息,为用户提供满足其需求的商品信息,对用户进行个性化推荐服务。在推荐系统中协同过滤算法是一种较为著名和常用的推荐算法,它通过对用户的历史行为进行建模,预测用户对项目的偏好,由于其推荐个性化、自动化程度高等优点,基于协同过滤的推荐算法受到学术界和工业界的广泛关注。其中,矩阵分解因其具有较高准确性和可扩展等特点,在协同过滤中占有非常重要的地位,目前已经成为了最受欢迎的个性化推荐算法之一。矩阵分解算法使用点积来预测用户偏好,但是点积只是简单地线性乘积组合且不满足三角不等式,这可能会对推荐结果产生负面的影响。针对上述缺点,本文尝试使用满足三角不等式的距离度量来代替矩阵分解中的点积,使用距离度量算法来预测用户对项目的偏好。第三章中提出融合度量学习和矩阵分解的协同过滤算法(MLMF),使用距离度量算法学习用户和项目在同一低维欧几里得空间位置特征,让用户距离感兴趣的项目更近,距离不感兴趣的项目更远。该算法一定程度上保留了矩阵分解可扩展性和可解释性的优点,但比矩阵分解更加直观易懂,同时还能有效的学习到用户和项目的邻域特征,主要包括以下几个工作重点:(1)和一般的模型不同,MLMF先将用户对项目的评分转换为距离偏差,学习到用户偏好和距离的正相关关系。(2)另外,因传统矩阵分解使用的l2正则化策略对本文算法并不适用,为了防止算法模型过拟合和提高推荐准确度,MLMF算法使用了多种正则化策略,算法使用欧几里得球(Norm clipping)和解相关正则化(DeCov)策略对模型进行正则化约束,同时使用Dropout防止过拟合。(3)为了验证MLMF算法的性能,文章从多个角度的对实验结果进行对比分析。首先在多个公开数据集上进行实验,并将MLMF算法的准确度和多种经典基线算法进行对比,实验结果表明MLMF算法提高了推荐的准确性;另外,由于算法能够学习到一些邻域关系,因此本文通过计算用户和项目的位置特征之间的距离来构建TopN推荐列表,结果表明算法在TopN推荐中仍然具有较好的表现。(4)将用户和项目的位置特征向量使用T-SNE进行降维,然后可视化到二维平面中,以此观察用户和项目特征的分布情况,同时文章还对用户和项目之间的距离变化情况进行了分析,实验结果表明MLMF算法能有效学习用户对项目的偏好。另一方面推荐系统存在冷启动难题,对无历史评分记录的新用户和不活跃用户不能进行有效的推荐,对此,本文还引入社会信任关系,以此缓解推荐系统中的冷启动问题。但社会信任关系通常都是有向的关系,并不能直接用于距离度量算法,而且传统的信任关系不是基于兴趣构建的,因此基于信任关系的社会化推荐不一定能提高推荐的准确度。针对以上的问题,提出基于距离度量分解的社会化推荐算法(SDMF),SDMF算法主要包括以下内容:(1)SDMF算法对用户信任关系进行了重构,将有向的社会信任关系变为无向的用户关系,这更符合基于距离度量推荐算法的性质。(2)SDMF分别计算用户的熟悉程度(familiarity)和兴趣相似程度(similarity),并设计了一种新的关联方法综合考虑用户之间熟悉程度和兴趣相似程度,重新构建用户关系矩阵,重构后的用户关系充分考虑了用户和其朋友的兴趣相似度,这让算法能够更准确对用户进行推荐。(3)SDMF算法将重构后的用户关系通过联合正则化方式融入到距离度量算法中,对用户和项目、用户和兴趣爱好相似的好友都进行约束。(4)在真实公开数据集上进行实验,结果表明SDMF能够有效的学习到用户的偏好,和一些经典的社会化推荐算法相比,SDMF具有较高的推荐准确度;另外,在一些冷启动用户上,SDMF仍然有最好的表现,这说明算法还能一定程度改善推荐系统的冷启动问题。总之,本文研究了基于距离度量的协同过滤算法并对其进行改进和实验,和一些目前广泛使用的推荐算法相比,基于距离度量学习的推荐算法也能有较高推荐准确度,而且基于距离度量的协同过滤算法还有一定的可扩展性和可解释性,具有一定的研究的意义。