一种用户社会地位增强的矩阵分解项目推荐算法制造技术

技术编号:17812858 阅读:79 留言:0更新日期:2018-04-28 05:34
本发明专利技术公开了一种用户社会地位增强的矩阵分解项目推荐方法,首先根据项目类别划分用户‑项目评分矩阵;利用用户评分和社交关系共现的原则推导特定类别用户社交网络;在推导的特定类别用户社交网络上利用PageRank算法计算用户的社会地位;以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系数据执行矩阵分解,学习特定领域的用户和项目隐式特征向量,使用用户和项目的隐式特征向量内积预测用户对项目的评分,为用户提供个性化的项目推荐。本发明专利技术有效解决了传统基于社交网络推荐技术忽视的如下两个问题:(1)在不同的领域中,用户信任不同的朋友;(2)由于用户在不同的领域内具有不同的社会地位,用户在不同领域受朋友影响程度不同。

【技术实现步骤摘要】
一种用户社会地位增强的矩阵分解项目推荐算法
本专利技术属于数据挖掘
,具体涉及一种用户社会地位增强的矩阵分解项目推荐方法。
技术介绍
随着互联网技术的不断发展,从海量数据中找到有价值的相关信息变得越来越困难。推荐系统通过分析用户的历史活动数据,挖掘用户的潜在偏好,为用户提供个性化的推荐服务,成为解决信息过载问题的有效手段,近年来受到学术界和工业界的广泛关注。在推荐系统的研究中,协同过滤算法是目前应用最广泛的推荐技术。协同过滤算法通过分析用户的历史反馈信息,预测用户未来的偏好。然而,协同过滤算法存在严重数据稀疏、冷启动等问题。随着社交网络的出现,越来越多的推荐算法利用社交网络提供的丰富信息来改进传统推荐算法的性能,特别是解决传统协同过滤方法中的冷启动问题。基于社交网络的推荐算法一般假设社交网络中用户的偏好受到朋友的影响,并且朋友之间具有相似的偏好。然而,已有的基于社交网络的推荐算法忽略了以下2个事实:(1)在不同的领域中,用户信任不同的朋友;(2)用户不仅在不同领域中受到不同朋友的影响,而且不同用户受朋友影响的程度不同。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术存在的问题和不足,提供一种用户社会地位增强的矩阵分解项目推荐算法,重点是从用户评分数据和社交网络数据中推导用户在不同领域内的社会地位,并将领域差异化的社会地位值融入到矩阵分解模型中,更加准确的学习用户和项目的隐式特征向量,从而达到提高推荐系统性能的目的。本专利技术为解决上述技术问题采用的技术方案为一种用户社会地位增强的矩阵分解项目推荐算法,包括如下步骤:步骤1),根据项目类别划分用户-项目评分矩阵,并利用用户评分和社交关系共现的原则推导特定类别用户社交网络;步骤2),在推导的特定类别用户社交网络上,利用PageRank算法计算用户的社会地位值;步骤3),以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系数据执行矩阵分解,学习特定领域的用户和项目隐式特征向量;步骤4),使用特定领域的用户和项目的隐式特征向量内积预测用户对项目的评分,根据预测评分为用户提供个性化的项目推荐。作为本专利技术一种用户社会地位增强的矩阵分解项目推荐方法进一步的优化方案,所述步骤1)的详细步骤为:步骤1.1),按照项目的类别对原始用户-项目评分矩阵R进行划分。用户对项目的评分表示为3元组的形式:(uid,pid,categoryid),其中categoryid表示被评分项目的类型。原始用户-项目评分矩阵R可以根据categoryid分为为用户评分数据集中项目类别的数量;步骤1.2),根据用户评分和社交关系共现的原则推导特定类别的用户社交网络。用户u和用户v在类别c中社交信任值为:其中,和分别表示用户u和用户v在Rc的评分数量。类别c中所有用户的社交关系构成类别c下的社交关系矩阵Tc。作为本专利技术一种用户社会地位增强的矩阵分解项目推荐方法进一步的优化方案,所述步骤2)的详细步骤为:步骤2.1),首先运行PageRank算法计算用户在每个类别下的PageRank值,设表示所有用户在社交关系矩阵Tc中的PageRank值,Nc表示Tc中用户的数量,用户u在类别c内的PageRank值PRc(u)可以表示为:其中,Fc(u)为用户u在类别c中信任朋友的集合,Ec为逃逸向量,α是规范化常数。步骤2.2),对Nc个用户的PageRank值进行排序。设用户u的排名为则用户的社会地位值计算公式为:作为本专利技术一种用户社会地位增强的矩阵分解项目推荐方法进一步的优化方案,所述步骤3)中,用户社会地位增强的矩阵分解项目推荐算法的目标函数如下:其中,Ωc为Rc中可观测到的(用户,项目)对,表示用户u对类别c中项目i的评分。和分别表示用户u和项目i在类别c中的隐式特征向量,K为隐式特征向量的维度。表示用户隐式特征矩阵,表示项目隐式特征矩阵,Mc为类别c中项目的数量。λ1、λ2和λ3为正则化控制参数。表示Frobenius范式。g(x)=1/(1+e-x)为logistic函数。采用随机梯度下降的方法求解目标函数L*的局部最小解。目标函数L*关于和的偏导数为:其中,g'(x)=e-x/(1+e-x)2为logistic函数g(x)的导数,为Tc中信任u的用户集合。作为本专利技术一种用户社会地位增强的矩阵分解项目推荐方法进一步的优化方案,所述步骤4)中,用户u对未评分过项目i的预测评分的计算方法如下:对于用户u,计算完所有未评分项目的预测评分后,根据预测评分值,推荐预测评分值高的k项给用户u。与现有技术相比,本专利技术具有以下的技术效果:1.通过用户评分和社交关系共现原则推导特定领域的社交网络关系,考虑了用户在不同领域信任不同朋友的问题;2.在矩阵分解过程中融入用户在不同领域的社会地位值,以不同领域的用户社会地位值权衡用户评分的重要性,考虑了用户在不同领域,受其他用户影响程度不同的问题。结合以上两点,本专利技术所采用的用户社会地位增强的矩阵分解项目推荐技术能够更加准确的学习用户的隐式特征向量,从而提高推荐系统的性能。附图说明图1是本专利技术一种用户社会地位增强的矩阵分解项目推荐方法的流程示意图。具体实施方式现结合附图对本专利技术做进一步详细的说明。如图1所示,本专利技术公开了一种用户社会地位增强的矩阵分解项目推荐方法,包含以下步骤:步骤1),根据项目类别划分用户-项目评分矩阵,并利用用户评分和社交关系共现的原则推导特定类别用户社交网络;步骤2),在推导的特定类别用户社交网络上,利用PageRank算法计算用户的社会地位值;步骤3),以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系数据执行矩阵分解,学习特定领域的用户和项目隐式特征向量;步骤4),使用特定领域的用户和项目的隐式特征向量内积预测用户对项目的评分,根据预测评分为用户提供个性化的项目推荐。所述步骤1)的详细步骤为:步骤1.1),按照项目的类别对原始用户-项目评分矩阵R进行划分。用户对项目的评分表示为3元组的形式:(uid,pid,categoryid),其中categoryid表示被评分项目的类型。原始用户-项目评分矩阵R可以根据categoryid分为为用户评分数据集中项目类别的数量;步骤1.2),根据用户评分和社交关系共现的原则推导特定类别的用户社交网络。用户u和用户v在类别c中社交信任值为:其中,和分别表示用户u和用户v在Rc的评分数量。类别c中所有用户的社交关系构成类别c下的社交关系矩阵Tc。所述步骤2)的详细步骤为:步骤2.1),首先运行PageRank算法计算用户在每个类别下的PageRank值,设表示所有用户在社交关系矩阵Tc中的PageRank值,Nc表示Tc中用户的数量,用户u在类别c内的PageRank值PRc(u)可以表示为:其中,Fc(u)为用户u在类别c中信任朋友的集合,Ec为逃逸向量,α是规范化常数。步骤2.2),对Nc个用户的PageRank值进行排序。设用户u的排名为则用户的社会地位值计算公式为:所述步骤3)中,用户社会地位增强的矩阵分解项目推荐算法的目标函数如下:其中,Ωc为Rc中可观测到的(用户,项目)对,表示用户u对类别c中项目i的评分。和分别表示用户u和项目i在类别c中的隐式本文档来自技高网...
一种用户社会地位增强的矩阵分解项目推荐算法

【技术保护点】
一种用户社会地位增强的矩阵分解项目推荐算法,其特征在于,包括如下步骤:步骤1:根据项目类别划分用户‑项目评分矩阵,并利用用户评分和社交关系共现的原则推导特定类别用户社交网络;步骤2:在推导的特定类别用户社交网络上,利用PageRank算法计算用户的社会地位值;步骤3:以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系数据执行矩阵分解,学习特定领域的用户和项目隐式特征向量;步骤4:使用特定领域的用户和项目的隐式特征向量内积预测用户对项目的评分,根据预测评分为用户提供个性化的项目推荐。

【技术特征摘要】
1.一种用户社会地位增强的矩阵分解项目推荐算法,其特征在于,包括如下步骤:步骤1:根据项目类别划分用户-项目评分矩阵,并利用用户评分和社交关系共现的原则推导特定类别用户社交网络;步骤2:在推导的特定类别用户社交网络上,利用PageRank算法计算用户的社会地位值;步骤3:以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系数据执行矩阵分解,学习特定领域的用户和项目隐式特征向量;步骤4:使用特定领域的用户和项目的隐式特征向量内积预测用户对项目的评分,根据预测评分为用户提供个性化的项目推荐。2.根据权利要求1所述的用户社会地位增强的矩阵分解项目推荐算法,其特征在于:所述步骤1包含以下步骤:步骤1.1:按照项目的类别对原始用户-项目评分矩阵R进行划分,Epinions数据集中,用户对项目的评分表示为3元组的形式:(uid,pid,categoryid),其中categoryid表示被评分项目的类型,原始用户-项目评分矩阵R可以根据categoryid分为l为用户评分数据集中项目类别的数量;步骤1.2:根据用户评分和社交关系共现的原则推导特定类别的用户社交网络,用户u和用户v在类别c中社交信任值为:其中,和分别表示用户u和用户v在Rc的评分数量,类别c中所有用户的社交关系构成类别c下的社交关系矩阵Tc。3.根据权利要求1所述的用户社会地位增强的矩阵分解项目推荐算法,其特征在于:所述步骤2包含以下步骤:步骤2.1:首先采用PageRank算法计算用户在每个类别下的PageRank值,设表示所有用户在社交关系矩阵Tc中的PageRank值,Nc表示Tc中用户的数量,用户u在类别c内的PageRank值PRc(u)可以表示为:其中,Fc(u)为用户u在类别c中信任朋友的集合,Ec为逃逸向量,α是规范化常数;步骤2.2:对Nc个用户的PageRank值进行排序,设用户u的排名为则用户的社会地位值计算公式为:4.根据权利要求1所述的用户社会地位增强的矩阵分解项目推荐算法,其特征在于:所述步骤3中,以用户社会地位值衡量用户的评分权重,结合特定类别用户评分数据和社交关系...

【专利技术属性】
技术研发人员:余永红赵卫滨蒋晶王晓江高海燕
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1