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)间接多数优于直接,共享优于直接
冷启动结论:
社交信息的引入,能够在一程度上缓解冷启动问题
长尾现象结论:
间接更好