首页 > 技术文章 > 2018 融合社交信息的矩阵分解推荐方法研究综述

gy7777777 2018-08-22 16:49 原文

1 社交信息与推荐的关联性

传统的推荐方法假定用户相互独立,忽略了用户之间的相互作用。而现实生活中,人们在做决策是往往会向朋友寻求建议,进而一定程度上影响用户的选择。

因此,考虑到用户之间的相互影响,引入社交信息来拓展传统的推荐模型,提出了一系列的社交推荐模型【26-43】。

 

相比于传统的推荐方法,社交推荐方法的优点:

(1)推荐精度高。

(2)有效的解决冷启动问题。社交信息的引入,为用户提供了额外的偏好信息。

(3)推荐结果受用户信赖。因为很多好友都喜欢这个物品。

 

社交推荐模型分类:

基于矩阵分解的社交推荐模型【26-41】 优点:推荐精度高、可扩展性好、灵活性高等,成为主流社交推荐方法。

基于近邻的社交推荐模型【42】

基于图的社交推荐模型【43,44】

 

2 基本的矩阵分解模型

2.1  Funk-SVD算法

优化模型:

求解上述模型的方法:

基于梯度下降的批量梯度下降法(BGD)

随机梯度下降算法(SGD)

 

2.2  概率矩阵分解

基本思路:

假设用户U和用户V的特征矩阵均服从高斯分布,过评分矩阵已经知道的值,得到U和V特征矩阵,然后用特征矩阵去预测评分矩阵中的未知值。

 

 3 融合社交信息的矩阵分解模型

 基于矩阵分解的社交推荐模型发展轨迹

融合社交信息的推荐模型分为两类:

(1)基于用户特征矩阵共享表示的【26,30-34】

(2)基于用户特征矩阵重表示的【27-29,33,35-37,39】

 

社交关系矩阵:

连接关系:若用户i与用户k具有社交关系,则Sik=1,否则为0

余弦相似度:通过余弦相似度计算得到用户社交关系强度

 

3.1 用户特征矩阵共享表示

基本思路:假定用户特征矩阵Ui是评分矩阵和社交关系矩阵共享的

模型:

          历史行为信息+社交信息+正则约束项

 

3.2 用户特征矩阵重表示

基本思路:利用社交关系对用户特征矩阵Ui进行重表示

模型:

                   对U进行重置+限定与好友近似相等+正则约束项

 

3.3 算法复杂度分析

 

4  社交推荐算法评估

共8+1个算法

基于用户特征矩阵共享表示:SoRec[26] TrustMF[31] LOCABAL[30]

基于用户矩阵重表示(直接社交关系):SoReg[29] SocialMF[28] TrustSVD[33]

基于用户矩阵重表示(间接社交关系):MFC[36] SoDimRec[37]

未利用社交关系的推荐模型算法:PMF[10,47]

都对原评分值进行预处理,使其数值大小映射到[0,1]区间。

 

实验参数设置:

隐空间特征个数K=10

不同算法迭代计算的步长(学习率)γ=0.0001。迭代终止条件均设定为前后两次迭代误差小于0.000 001。

 

评价指标:

平均绝对误差(MAE)

均方根误差(RMSE)

值越小,推荐精度越高

 

实验结果:

从整体用户、冷启动用户和长尾物品这3 个角度对实验结果进行分析。

整体用户角度:是针对所有用户进行不同算法在不同数据集上的性能比对;

冷启动用户角度:是针对冷启动用户进行的预测结果误差统计,一般情况下,评分数量小于5 的用户称为冷启动用户[24,27]

长尾物品角度:是针对长尾物品进行的预测误差统计[70],对于长尾物品的确定,我们对数据集中每一个物品评分个数进行统计,按评分个数从大到小进行排序,评分个数占后20%的物品则被认为是长尾物品。

所有用户结论:

(1)社交信息的加入能够有效缓解评分信息过于稀疏的问题,最终提升推荐性能。

(2)间接多数优于直接,共享优于直接

冷启动结论:

社交信息的引入,能够在一程度上缓解冷启动问题

长尾现象结论:

间接更好

 

推荐阅读