基于双向稀疏信任的推荐方法

文档序号:26852195发布日期:2021-10-09 02:20阅读:197来源:国知局
基于双向稀疏信任的推荐方法

1.本发明涉及互联网、个性化推荐,具体涉及基于双向稀疏信任的推荐方法。


背景技术:

2.随着现代科技飞跃式的发展,互联网业进入了蓬勃发展的快车道,用户在浏览大量网上信息的同时也留下了大量的“足迹”,同时伴随着数据挖掘相关技术的兴起,种类繁多的海量数据展现在用户面前,这时就会出现信息过载的问题。而推荐系统的出现可以很好的缓解这一问题。
3.个性化推荐系统需要依赖用户的行为数据,据此,推荐系统可以分成三类:基于内容的推荐算法,协同过滤算法和混合型推荐系统。基于内容的推荐算法依据用户的历史行为、评价信息等数据,为用户推荐曾隐式或者显示表达过喜欢的项目。协同过滤算法对基于内容的推荐算法进行了改进,协同过滤算法不仅使用了用户自身的行为数据,还将其他用户和项目纳入模型中,简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。协同过滤算法还可以细分为model

based(基于模型的协同过滤)、item

based(基于内容的协同过滤)和user

based(基于用户的协同过滤)。本发明就是以基于模型的协同过滤为基础进行研究的。混合型推荐系统就是将基于内容的推荐算法和协同过滤算法融合。
4.本发明所研究的基于模型的协同过滤是应用范围最广的方法,将样本的行为信息作为训练集,训练出一个模型,从而可以预测出用户对未知物品的评分,模型依据评分信息进行排序和推荐,基于模型的协同过滤算法的评分预测准确度最高,但是同时它受到了冷启动和数据稀疏的困恼,而且推荐的准确性,效率和安全性可能存在着明显的负面隐患。据此,现在有关推荐系统的研究逐渐引入了社交网络中信任信息作为辅助信息来提高推荐性能。
5.现如今对信任的研究大致分为信任建立和信任传递两个方面。对于信任建立,研究者会分析信任产生的内在原因,将信任的产生原因细分为多个细粒度因素。具体来说,研究者研究被动的信任关系时,如果被信任者具有很强大的个人实力(

能)、有名气的社会地位(地位)、乐于做善事(善良)、崇高的个人道德(品德)这四点因素时,社交网络中的其他用户会更加乐意相信他,与之建立更强的信任关系。而研究者在研究主动的信任关系时发现,信任倾向这个因素起到了重要的作用。信任者具有更高的信任倾向时,他们往往会更轻易地相信他人。对于信任传递,研究者研究信任关系是如何在社交网络中传递扩散开来,呈现几何倍数的增长。但是,信任信息比用户的评分信息更加稀疏,所以稀疏的信任信息对提高推荐系统的精度和准确度所起到的正向作用可能微乎其微。所以如何利用信任的传递性对解决稀疏信任问题有很大助益。
6.综上所述,研究信任关系的建立和传递不仅能挖据潜在的信任关系国而且能有效地解决稀疏信任问题,信任的传递特性可以作用于社交推荐系统中,极大地提高推荐系统的精准度,所以研究稀疏信任和社交推荐算法成为了当下的研究热点。


技术实现要素:

7.为克服现有技术的不足,本发明旨在提出一种在可传递信任网络中具有双向稀疏信任的推荐模型。该模型既考虑了信任传递的影响,又考虑了双向信任的作用,并由此来有效地缓解稀疏信任问题,并且能够在一定程度上解决冷启动和数据稀疏性问题,本发明可以有效地解决推荐精度不佳的问题,从而提高推荐系统的效率和准确度。为此,本发明采取的技术方案是,基于双向稀疏信任的推荐方法,第一部分是使用卡兹指标模拟信任的传播和聚合从而得到传递后的信任值:首先,用邻接矩阵的形式表示信任关系;其次,对于矩阵中未知的信任关系采用基于全局节点作为评估指标分别从信任传播和信任聚合两个角度预估信任在社交网络中的传递值,最后将传递后的信任值进行归一化处理,未知的信任关系被划分为明确的信任关系和不信任关系;第二部分双向稀疏信任推荐模型:将初始信任关系和传递后的信任关系均融入奇异值分解svd++模型中,为了完善且合理地使用信任关系,对信任方向进行分解,分别设计受信者模型和施信者模型,最后将受信者模型和施信者模型统一起来,形成基于双向稀疏信任的推荐模型。
8.详细步骤如下:
9.第一部分中
10.(1)传递信任推导
11.在信任网络中使用卡兹系数来度量不同节点存在相同受信者的程度以及与受信者之间的信任关系的强弱程度,在信任网络中,两个节点之间存在着潜在的全局的信任关系,这种信任关系是通过信任值在不同路径中传递得来的,卡兹系数的思想是任何非零长度的路径都可以使信任网络中的任意两个节点产生潜在的信任关系,但是信任关系的强弱程度随着传播路径长度的增长而减少,给出如(1)所示的卡兹系数的数学定义:σ代表了卡兹指标;α代表了衰减因子;a代表邻接矩阵,指数代表不同长度的路径:
[0012][0013]
如上所述,基于内容的推荐系统是依据相似性大小进行推荐,相似性是共性,指的是用户之间共同的爱好,卡兹系数应用在基于内容的推荐系统中是种基于全局节点相似性的度量方法,将卡兹系数用于信任网络中的信任传递计算,具体计算公式如(2)所示,l表示信任在社交网络中传播的路径长度,信任所能通过的最大的长度路径l
max
的传递值计算公示如(3)所示。
[0014][0015]
将l的起始值改为1,是因为当l=0时,(αt)
l
是一个单位矩阵,代表着用户与自身是完全相似的,t表示信任矩阵,在信任网络的设置中,邻接矩阵t是不对称的,它表示一个无权有向信任网络,其中每个节点对应一个用户,每条边代表一个用户对另一个用户发出的信任声明,由于信任矩阵t是一个矩阵表示的信任网络且矩阵中元素全为0和1,所以邻接矩阵的n次方中的元素存在着特殊的含义,t
n
中的元素t
n
[u][v]的值表示着由用户u到用户v的长度为n的路径数目;
[0016]
σ1=αt
[0017]
σ2=α2t2+αt
[0018]
σ3=α3t3+α2t2+αt
[0019][0020]
(2)信任传播和聚合
[0021]
通过信任矩阵相乘我们可以模拟信任传递中信任传播和信任聚合两方面,信任传播指的是起始点对其他用户的信任值沿着不同长度、方向的路径进行传播,而信任聚合是目标点收到了起始点沿着不同路径传播的信任值并以某种特殊的方式组合起来,其中,分别用乘法和加法模拟了信任的传播和聚合,信任矩阵的第零行与信任矩阵的第二列逐位相乘,表示节点0通过各个方向经过长度为2的路径往节点2的方向进行传播,不同路径的结果相加得到最终信任聚合的结果,具体过程如(4)所示:
[0022][0023]
信任矩阵中对角线上元素全为0,这样保证同一个节点不会同时是起始点和目标点,在信任传递过程中对每一个经过的节点设为已访问节点,以避免在信任传递的过程中信任网络里产生闭环,对l逐渐增大的过程中将每一次计算出来的信任传递值进行主对角线归零操作,并且进行递归操作代入后续计算过程,将初始节点标记为已经访问过的节点,并且在递归开始之前设置矩阵对角线元素的值为0,以防止信任在传播过程中经过重复的节点,并且将最大传播路径代入算法中,当传播距离超过最大传播路径时,算法将结束并返回结果;
[0024]
(3)信任关系划分
[0025]
但是信任传递在信任网络中具有衰减性,通过定义一个衰减因子α控制信任在网络中的衰减速度,将衰减因子的计算公式定义为矩阵最大特征值(λ
t
)的倒数,如(5)所示:
[0026][0027]
将信任所能通过的最大传递路径设置为3,衰减因子的使用是为了模拟信任值在网络中传递的衰减特性,将衰减因子设置为邻接矩阵最大特征值的倒数;
[0028]
采用归一化的方法将传递的信任值映射到0到1的区间中里,具体是对矩阵的每一行向量分别进行l2归一化处理,行向量x(x1,x2,x3,

,x
n
)的l2范数被定义为norm(x)=(x
12
+x
22
+x
32
+

+x
n2
),为了建立一个从x到x
l2
的映射,所采用的具体计算公式如(6)所示:
[0029][0030][0031]
通过归一化处理后原本接近零的传递信任值均被映射到(0,1)的区间内,具体的计算公式如(7)所示:
[0032][0033]
μ代表信任阈值,对于归一化后小于阈值的信任传递值视为不信任关系,对于不小于阈值的则视为信任关系。
[0034]
第二部分双向稀疏信任推荐模型
[0035]
在svd++的基础上分别建立两个模型——trusteesvd模型和trustorsvd模型,并提出基于双向稀疏信任的推荐模型,即为tt

svd++模型;
[0036]
(1)trusteesvd模型
[0037]
对受信者模型trusteesvd的损失函数采用梯度下降的方法,以获得局部最小值,最后,通过学习得到了受信者的用户特征向量w
ue
和项目特征向量q
je

[0038]
施信者q、受信者a、项目j组成一个受信者模型,用户a被用户q信任,由于用户q信任用户a,所以用户q在评价物品j时,会参考用户a过去的评分记录,从而受到用户a的影响,但q信任的人越多,他参考的评分记录就越多,a对q的影响就会越来越小,从而降低了a和q的相似性,如果q信任的人较少,那么q和a之间的相似性关系对于预测r
a,j
有很大的帮助;该模型评分预测的过程如下所述:
[0039]
1)根据双向信任分解svd++模型,建立trusteesvd模型,其中b
u
,b
j
分别表示用户和项目偏差,用户u和v代表受信者和施信者,μ为全局平均评分;i
u
为用户u评分的项目集,e
u
代表信任用户u的一组用户,内积q
jt
y
i
表示被评级的项目对用户u的第j项评分的影响,p
v
表示施信者对未评级项目的评级的影响,trusteesvd模型的计算公式如下(8)所示:
[0040][0041]
2)通过最小化trusteesvd模型的损失函数的方法来学习用户特征和项目特征向量以及用户偏差和项目偏差;使用相同的正则化参数a,选择使用同一个参数,||||
f
代表
frobenius范式;u
i
和u
j
分别表示对项目i和项目j进行评分的用户群体;λ
i
是控制信任正则化程度的参数;代表社交网络中施信者集合,trusteesvd模型模型的损失函数如(9)所示:
[0042][0043]
3)关于损失函数的局部最小值,使用梯度下降的方法,通过对b
u
、b
j
、q
j
、w
u
、y
i
和p
v
求偏导来得到,具体公式如(10)所示,其中表示的是预测评分和真实评分之间的误差;代表着在社交网络中通过矩阵分解方法预测的信任值和真实的信任值之间的误差,最后,将训练后得到用户的特征向量和项目特征向量和其他参数代入trusteesvd模型中进行计算,从而得到trusteesvd的模型预测评分:
[0044][0045][0046][0047][0048][0049][0050]
(2)trustorsvd模型
[0051]
1)将受信人的影响纳入了svd++模型中,施信者a和受信者w与项目j构成了施信者模型trustorsvd,施信者a对项目j的评分未知的情况下,施信者a会参考受信者w对于项目的评分,与trusteesvd模型相似,trustorsvd模型的计算公式如(11)所示:
[0052]
[0053]
2)对于未知的项目,将用户的可靠性纳入到模型中,将纳入到损失函数之中。trusteesvd模型的损失函数如公式(12)所示:
[0054][0055]
其中代表信任用户v的一组用户,因为活跃用户往往更值得信任,通过最小化trustorsvd模型的损失函数来学习用户特征向量p
u
和项目特征向量q
j

[0056]
3)具体的梯度下降算法如公式(13)所示,将训练好的参数代入trustorsvd模型中,得到基于trustorsvd模型的预测评分:
[0057][0058][0059][0060][0061][0062][0063]
(3)tt

svd模型
[0064]
将施信者和受信人对项目的评分的影响统一起来,最终得到基于双向稀疏信任的推荐模型,称为tt

svd模型,tt

svd模型的计算公式如(14)所示,在对trustorsvd和trusteesvd模型进行独立训练后,通过权重β来统一两个模型的影响,获得最终的预测评级trusteesvd模型进行独立训练后,通过权重β来统一两个模型的影响,获得最终的预测评级
[0065]
具体来说,通过对两个模型的损失函数采用梯度下降方法,并将训练好的b
u
、b
j
、q
j
、w
u
、y
i
和p
v
等参数分别代入trustorsvd和trusteesvd模型,分别计算出两个模型预测的评分信息,最后将两个模型的评分预测结果通过权重组合,得到了最终的评分数据。
[0066]
本发明的特点及有益效果是:
[0067]
1.本发明不仅研究了如何在社交推荐系统中应用信任信息,而且研究了信任信息的传播特性。具体来说,利用基于全局信息的节点指标计算出传递后的未知信任值,通过衰减因子模拟信任在网络中的传递过程并采用归一化方法扩大了传递信任的影响。
[0068]
2.为了解决稀疏信任问题,本发明不仅仅研究了信任传播的特性,还分别考虑了施信者和受信者对模型结果的影响。即本发明通过对双向信任的研究,有效地缓解了信任稀疏问题。
[0069]
3.本发明引入了信任倾向的概念,因为施信者的影响不是直接的而是间接的、反馈的,所以采用信任倾向限制了施信者和受信者对模型的影响。
[0070]
4.本发明扩展了svd++模型,提出了trustorsvd模型和trusteesvd模型,并且通过权重值将这两个模型相结合得到了最终的tt

svd模型。通过实验验证了相较于传统的奇异值分解,本发明提出的模型表现得更加优异。
附图说明:
[0071]
图1:稀疏信任与未知信任关系图。
[0072]
图2:双向稀疏信任推荐模型。
[0073]
图3:信任传递算法。
[0074]
图4:信息关系对r
a

j
的双向影响。
[0075]
图5:双向稀疏信任推荐模型图。
[0076]
图6:信任传播速度。
[0077]
图7:权重β在“所有用户”群体中对预测准确度的影响。(1)模型作用于ft上的mae走势;(2)模型作用于ft上的rmse走势;(3)模型作用于cd上的mae走势;(4)模型作用于cd上的rmse走势;(5)模型作用于ep上的mae走势;(6)模型作用于ep上的rmse走势。
[0078]
图8:权重β在“冷启动用户”群体中对预测准确度的影响。(1)模型作用于ft上的mae走势;(2)模型作用于ft上的rmse走势;(3)模型作用于cd上的mae走势;(4)模型作用于cd上的rmse走势;(5)模型作用于ep上的mae走势;(6)模型作用于ep上的rmse走势。
具体实施方式
[0079]
本发明属于引入信任信息的个性化推荐领域,涉及双向信任、信任传递、奇异值矩阵分解以及数据稀疏性问题,通过提出一种在可传递信任网络中具有双向稀疏信任的推荐模型。该模型既考虑了信任传递的影响,又考虑了双向信任的作用,并由此来有效地缓解稀疏信任问题,并且能够在一定程度上解决冷启动和数据稀疏性问题,本发明可以有效地解决推荐精度不佳的问题,从而提高推荐系统的效率和准确度。
[0080]
1.本发明不仅研究了如何在社交推荐系统中应用信任信息,而且研究了信任信息的传播特性。具体来说,利用基于全局信息的节点指标计算出传递后的未知信任值,通过衰减因子模拟信任在网络中的传递过程并采用归一化方法扩大了传递信任的影响。
[0081]
2.为了解决稀疏信任问题,本发明不仅仅研究了信任传播的特性,还分别考虑了施信者和受信者对模型结果的影响。即本发明通过对双向信任的研究,有效地缓解了信任稀疏问题。
[0082]
3.本发明引入了信任倾向的概念,因为施信者的影响不是直接的而是间接的、反
馈的,所以采用信任倾向限制了施信者和受信者对模型的影响。
[0083]
4.本发明扩展了svd++模型,提出了trustorsvd模型和trusteesvd模型,并且通过权重值将这两个模型相结合得到了最终的tt

svd模型。通过实验验证了相较于传统的奇异值分解,本发明提出的模型表现得更加优异。
[0084]
svd++的思想为:某个用户对某个电影进行了评分,那么说明他看过这部电影,那么这样的行为事实上蕴含了一定的信息,因此我们可以这样来理解问题:评分的行为从侧面反映了用户的喜好,可以将这样的反映通过隐式参数的形式体现在模型中,从而得到一个更为精细的模型,便是svd++。
[0085]
本发明的技术方案由两部分模型构成。在第一部分信任传递模型中,首先,我们将稀疏信任用邻接矩阵表示,其次,对于矩阵中未知的信任关系我们采用了基于全局节点作为评估指标分别从信任传播和信任聚合两个角度预估信任在社交网络中的传递值,最后将传递后的信任值进行归一化处理,未知的信任关系被划分为明确的信任关系和不信任关系。在第二部分双向稀疏信任推荐模型中,我们将初始信任关系和传递后的信任关系均融入svd++模型中。为了完善且合理地使用信任关系,我们对信任方向进行分解,分别提出了受信者模型和施信者模型。最后将两个模型统一起来,最终提出一种基于双向稀疏信任的推荐模型。
[0086]
1.信任传递模型
[0087]
信任传递模型由两部分构成,第一部分是使用卡兹指标模拟信任的传播和聚合从而得到传递后的信任值。第二部分是将传递后的信任值进行划分,得到确切的信任关系和不信任关系。最后将传递后的信任网络应用于推荐模型中。
[0088]
(1)传递信任推导
[0089]
本发明在信任网络中使用卡兹系数来度量不同节点存在相同受信者的程度以及与受信者之间的信任关系的强弱程度。在信任网络中,两个节点之间存在着潜在的全局的信任关系,这种信任关系是通过信任值在不同路径中传递得来的。卡兹系数的思想是任何非零长度的路径都可以使信任网络中的任意两个节点产生潜在的信任关系,但是信任关系的强弱程度随着传播路径长度的增长而减少。我们给出如(1)所示的卡兹系数的数学定义:σ代表了卡兹指标;α代表了衰减因子;a代表邻接矩阵,指数代表不同长度的路径。
[0090][0091]
如上所述,基于内容的推荐系统主要依据相似性大小进行推荐。相似性是共性,指的是用户之间共同的爱好。卡兹系数应用在基于内容的推荐系统中是种基于全局节点相似性的度量方法。在本发明中,我们创新性地将卡兹系数用于信任网络中的信任传递计算,并对其进行了改进,具体计算公式如(2)所示,l表示信任在社交网络中传播的路径长度,信任所能通过的最大的长度路径l
max
的传递值计算公示如(3)所示。
[0092][0093]
我们将l的起始值改为1,是因为当l=0时,(αt)
l
是一个单位矩阵,代表着用户与自身是完全相似的。在绝大多数工作中邻接矩阵表示的信任网络中主对角线的元素全为
零,并且信任传递不存在零距离传递现象,我们延续了这个设定。t表示信任矩阵,在信任网络的设置中,邻接矩阵t是不对称的,它表示一个无权有向信任网络,其中每个节点对应一个用户,每条边代表一个用户对另一个用户发出的信任声明。由于信任矩阵t是一个矩阵表示的信任网络且矩阵中元素全为0和1,所以邻接矩阵的n次方中的元素存在着特殊的含义,t
n
中的元素t
n
[u][v]的值表示着由用户u到用户v的长度为n的路径数目。
[0094]
σ1=αt
[0095]
σ2=α2t2+αt
[0096]
σ3=α3t3+α2t2+αt
[0097][0098]
(2)信任传播和聚合
[0099]
通过信任矩阵相乘我们可以模拟信任传递中信任传播和信任聚合两方面。信任传播指的是起始点对其他用户的信任值沿着不同长度、方向的路径进行传播,而信任聚合是目标点收到了起始点沿着不同路径传播的信任值并以某种特殊的方式组合起来。本文的信任网络不是由三值表示(

1,0,1)而是由二值(0,1)表示,所以我们不需要考虑负值在信任传播中导致的异常,尤其在考虑不信任关系时,信任传递性变得更加复杂。在我们的方法中分别用乘法和加法模拟了信任的传播和聚合。信任矩阵的第零行与信任矩阵的第二列逐位相乘,表示节点0通过各个方向经过长度为2的路径往节点2的方向进行传播。不同路径的结果相加可得到最终信任聚合的结果。具体过程如(4)所示:
[0100][0101]
信任矩阵中对角线上元素全为0,这样既可以保证同一个节点不会同时是起始点和目标点,我们在信任传递过程中对每一个经过的节点设为已访问节点,这样可以避免在信任传递的过程中信任网络里产生闭环。在我们对l逐渐增大的过程中我们将每一次计算出来的信任传递值进行主对角线归零操作,并且进行递归操作代入后续计算过程。如信任传递算法所示,我们将初始节点标记为已经访问过的节点,并且在递归开始之前设置矩阵对角线元素的值为0,这样可以防止信任在传播过程中经过重复的节点,并且将最大传播路径代入算法中,当传播距离超过最大传播路径时,算法将结束并返回结果。
[0102]
(3)信任关系划分
[0103]
在上一步骤中,通过计算信任矩阵相乘,我们模拟了信任传递中信任传播和信任聚合两部分。但是信任传递在信任网络中具有衰减性,我们通过定义一个衰减因子α控制信任在网络中的衰减速度,我们根据相关工作建议将衰减因子的计算公式定义为矩阵最大特征值(λ
t
)的倒数,如(5)所示:
[0104][0105]
对于实验中所用到的数据集来说衰减因子均小于001,也就是说信任传递的影响随着传递距离的增加而急速缩小。不同长度的路径所产生的信任传递值随着路径长度的增加而减小,我们将信任所能通过的最大传递路径设置为3,一方面是为了降低模型的复杂度,另一方面是因为传递距离足够远的信任值对模型的影响已经微乎其微。
[0106]
如上所述,衰减因子的使用是为了模拟信任值在网络中传递的衰减特性。我们将衰减因子设置为邻接矩阵最大特征值的倒数,在每一个传播步骤中,信任传递值衰减得很快。例如,对于epinions数据集来说衰减因子的值是0008.在信任传递超过距离为一的长度后传递的信任值就变小了很多。这意味着我们通过信任传递模型计算的信任值相较于初始的稀疏信任值来说仅仅起到了微乎其微的影响。因此,我们既要扩大传递信任的影响,又要筛选出传递信任中的信任关系。这个额外增加的步骤将增加信任传递值对推荐精度的影响。
[0107]
在对信任传递值进行计算后,我们发现信任传递值都很小,即使是最大的传递信任值也接近于零,所以我们采用归一化的方法将传递的信任值映射到0到1的区间中里,这样做有两个好处:1)通过对传递信任值进行归一化处理可以提升模型的精度;2)增加传递信任值的影响。具体来说,我们对矩阵的每一行向量分别进行l2归一化处理,行向量x(x1,x2,x3,

,x
n
)的l2范数被定义为norm(x)=(x
12
+x
22
+x
32
+

+x
n2
),为了建立一个从x到x
l2
的映射,我们所采用的具体计算公式如(6)所示:
[0108][0109][0110]
通过归一化处理后原本接近零的传递信任值均被映射到(0,1)的区间内,归一化前传递值相较于初始稀疏数值来说显得极小,并不能代表着正向的信任关系,但是经过归一化放大后将对社交推荐模型产生了重要影响。为了将传递信任和稀疏信任整合到同一个信任矩阵中,同时区分传递信任中的信任关系和不信任关系我们提出了具体的计算公式如(7)所示:
[0111][0112]
由(7)可知,对于信任网络中原先存在着的稀疏信任,我们的模型并不会根据信任传递值进行修改。μ代表了信任阈值,对于归一化后小于阈值的信任传递值视为不信任关系,对于不小于阈值的则视为信任关系。我们在存在稀疏信任问题的信任网络中提高了信任数据的密度,解决了二值化信任表示中未知信任的问题,大大缓解了稀疏信任和冷启动的问题。后续我们将扩充后的信任矩阵纳入svd++模型中,从而提高了社交推荐模型的推荐质量。相较于普通的信任传递方法,我们为了解决负信任值产生的传递矛盾,采用了信任值
的二值表示方法,将没有标记为“0’的信息统一视为未知信任数据,本文根据信任传递特性分别通过信任传播和信任聚合两方面计算出不同长度路径的信任传递值,同时根据信任衰减特性,引入了衰减因子的概念。最后我们通过l2归一化的方法放大信任传递值,增加了传递信任值对最终推荐结果的影响。
[0113]
表2:信任传递结果
[0114][0115]
2.双向稀疏信任推荐模型
[0116]
在双向稀疏信任推荐模型中,我们将上述模型的传递信任和稀疏信任融入推荐模型中。为了更合理地使用信任信息,我们认为在社交网络中信任是具有方向性的,用户不仅信任他人,而且也被他人信任。大多数模型只将用户视为施信者,受到了来自所受信者的评价信息的影响。原始的svd++没有使用信任信息,这会导致模型的性能降低。为了在模型中同时采用信任和评级信息,我们在svd++的基础上分别建立了两个模型——trusteesvd模型和trustorsvd模型,并提出了基于双向稀疏信任的推荐模型,即为tt

svd++模型。
[0117]
(1)trusteesvd模型
[0118]
在社交网络中,用户可以对电影或购买的商品进行评论和评分,其他用户根据已有的意见对不同用户表达信任值,从而形成信任网络。在信任信息的影响下用户的意见可能会受到他人的影响,并影响他人。接下来,我们提出了第一种情况下的受信者模型(trusteesvd)。我们对模型的损失函数采用梯度下降的方法,以获得局部最小值。最后,通过学习得到了受信者的用户特征向量w
ue
和项目特征向量q
je

[0119]
施信者q、受信者a、项目j组成一个受信者模型。图中的受信者模型显示了用户q如何影响用户a对项目j的评级。用户a被用户q信任。由于用户q信任用户a,所以用户q在评价物品j时,会参考用户a过去的评分记录,从而受到用户a的影响。但q信任的人越多,他参考的评分记录就越多,a对q的影响就会越来越小,从而降低了a和q的相似性。如果q信任的人较少,那么q和a之间的相似性关系对于预测r
a,j
有很大的帮助。
[0120]
该模型评分预测的过程如下所述:
[0121]
1)我们根据双向信任分解svd++模型,建立trusteesvd模型,其中我们用b
u
,b
j
分别表示用户和项目偏差。用户u和v代表受信者和施信者。μ为全局平均评分;i
u
为用户u评分的项目集,e
u
代表信任用户u的一组用户。内积q
jt
y
i
表示被评级的项目对用户u的第j项评分的影响,p
v
表示施信者对未评级项目的评级的影响。因此,我们在svd++的基础上,不仅保留了显示影响(评分数据)和隐性影响(被评项目),还将来自于施信者的影响纳入模型中,信任
倾向ψ(x;α,μ)控制施信者对模型结果的影响。
[0122]
trusteesvd模型的计算公式如下(8)所示:
[0123][0124]
2)我们还通过最小化trusteesvd模型的损失函数的方法来学习用户特征和项目特征向量以及用户偏差和项目偏差。损失函数同时包含信任信息和评级信息。为了避免度拟合,降低模型的复杂性,我们使用了相同的正则化参数a。尽管给每个变量分配不同的正则化参数可以有助于对模型进行更精细的控制,但为了降低复杂度,我们选择使用同一个参数。||||
f
代表frobenius范式(弗罗贝尼乌斯范式,简称f

范数);u
i
和u
j
分别表示对项目i和项目j进行评分的用户群体;λ
i
是控制信任正则化程度的参数;代表社交网络中施信者集合。
[0125]
trusteesvd模型模型的损失函数如(9)所示:
[0126][0127]
3)关于损失函数的局部最小值,我们使用梯度下降的方法,通过对b
u
、b
j
、q
j
、w
u
、y
i
和p
v
求偏导来得到。具体公式如(10)所示。其中表示的是预测评分和真实评分之间的误差;代表着在社交网络中通过矩阵分解方法预测的信任值和真实的信任值之间的误差。最后,我们可以将训练后得到用户的特征向量和项目特征向量和其他参数代入trusteesvd模型中进行计算,从而得到trusteesvd的模型预测评分。
[0128][0129][0130][0131][0132]
[0133][0134]
(2)trustorsvd模型
[0135]
1)我们将受信人的影响纳入了svd++模型中。例如,如图4所示,施信者a和受信者w与项目j构成了施信者模型(trustorsvd)。施信者a对项目j的评分未知的情况下,施信者a会参考受信者w对于项目的评分。与trusteesvd模型相似,trustorsvd模型的计算公式如(11)所示:
[0136][0137]
2)对于未知的项目,用户往往希望参考自己信任的人的意见。但社交网络中充斥着许多虚假账号。因此,我们将用户的可靠性纳入到模型中,我们将纳入到损失函数之中。trusteesvd模型的损失函数如公式(12)所示:
[0138][0139]
其中代表信任用户v的一组用户。我们之所以这样做,是因为活跃用户往往更值得信任。我们可以通过最小化trustorsvd模型的损失函数来学习用户特征向量p
u
和项目特征向量q
j

[0140]
3)具体的梯度下降算法如公式(13)所示,我们将训练好的参数代入trustorsvd模型中,可以得到基于trustorsvd模型的预测评分。
[0141][0142][0143][0144][0145]
[0146][0147]
(3)tt

svd模型
[0148]
考虑到信任关系是动态作用的,用户在评分过程中会影响彼此之间的信任关系。也就是说,用户对物品的评分会参考他/她所信任的人的意见,同时也会影响他/她所信任的人的选择。通过用户之间的评分互动,信任的传播和反馈会对社会网络中的信任关系产生影响。因此,我们需要将上述两个模型结合起来,将施信者和受信人对项目的评分的影响统一起来,最终得到基于双向稀疏信任的推荐模型,称为tt

svd模型。tt

svd模型的计算公式如(14)所示,在对trustorsvd和trusteesvd模型进行独立训练后,我们通过权重β来统一两个模型的影响,获得最终的预测评级
[0149][0150]
具体来说,我们通过对两个模型的损失函数采用梯度下降方法,并将训练好的b
u
、b
j
、q
j
、w
u
、y
i
和p
v
等参数分别代入trustorsvd和trusteesvd模型,分别计算出两个模型预测的评分信息。最后将两个模型的评分预测结果通过权重组合,得到了最终的评分数据。
[0151]
我们在初始的三个数据集的基础上将用户划分为“全用户”和“冷启动用户”两个用户群体,又分别对其他七个模型进行了对比实验,实验结果分别如附图说明表3和表4所示。根据两个表的实验数据可得无论在“所有用户”视图和“冷启动用户”群体中,我们的模型相比于传统推荐模型和仅仅使用了显式信任信息的社交推荐系统存在着很大的优势,推荐精确率的提升最高可达到29%。实验结表明,我们的双向稀疏信任推荐模型均比其他方法具有更好的性能并可以有效解决冷启动的问题,提高了预测的准确性。双向稀疏信任方案也可以有效地解决稀疏信任的问题。
[0152]
表3:“所有用户”群体的实验数据
[0153][0154]
如表3所示,在“所有用户”群体中,以pmf(正定矩阵因子分解)代表的传统推荐模型的预测准确性低于sorec(概率矩阵分解的社会推荐)、rste(推荐与社会信任合集)和socialmf(带有信任传播的矩阵分解技术用于社交网络中的推荐)等社交推荐模型的预测准确性。但是,svd++模型的性能与上述三个社交推荐模型的性能相差不大。这是因为svd++模型不仅仅考虑了显式的评分信息,同时也将隐式的评分关系纳入模型中。这一创新大大提高了推荐的质量。我们的模型在svd++基础上结合了显式的稀疏信任和隐式的传递信任关系,与svd++相比,我们的双向稀疏信任推荐模型的推荐准确度也得到了不小的提升,达到了8%以上。我们的模型相较于最先进的ssl

svd(基于半监督学习的稀疏信任)模型拥有着更为优秀的表现。由“所有用户”用户群体中的实验结果可知,信任信息作为一种辅助信息对于推荐质量的提高起到了重要作用。我们模型在filmtrust、ciaodvd、epinions这三个数据集上的表现最佳,相较于其他模型推荐准确率的提升最高可达到26.26%。
[0155]
表4:“冷启动用户”群体的实验结果
[0156]
[0157][0158]
如表4所示,在“冷启动用户”的群体中我们的模型依然有着最好的推荐质量。pmf模型这一传统的推荐模型在遇到冷启动问题时,其mae和rmse的数值相较于“全用户”群体中mae和rmse的数值提高了不少。这说明了在遇到冷启动问题时,传统的推荐模型的表现受到了严重的影响。但是对于社交推荐模型sorec、rste和socialmf来说,推荐模型的准确率在“全用户”和“冷启动用户”两个群体中表现相差不大。这说明了信任信息的引入能有效缓解冷启动等问题。我们的模型在“冷启动”用户群体中相较于其他模型的提升甚至比“全用户”视图中的提升更加明显。相较于ssl

svd而言,该模型也挖掘了隐式的信任关系,但是只考虑了单向的信任影响。在本发明的模型中信任关系是双向作用的,双向稀疏信任推荐模型根据方向分解信任从而更充分地利用了稀疏信任和传递信任。因此我们的模型无论是在“全用户”还是“冷启动用户”群体中都比ssl

svd拥有着更好的推荐质量。
[0159]
如上所述,我们验证了在“全用户”和“冷启动用户”两个用户群体中双向稀疏信任推荐模型的优异表现,所使用的数据集是初始的稀疏信任。我们又选取了上述五个社交推荐模型作为对比方法,分别在初始稀疏信任数据集和经过信任传递模型传递后的信任数据集上进行对比实验。实验结果如表5所示,标记为“初始”的数据代表了初始的信任关系,标记为“传递”的数据则代表了传递后的信任关系。除了ssl

svd在filmtrust传递数据集的表现的不如在初始信任数据集的表现以外,所有的社交推荐模型都在信任传递数据集中表现更好。
[0160]
表5:社交推荐模型在初始和传递信任数据集上的实验结果
[0161][0162]
通过对以上实验原理的推导,提供了我们所提出的tt

svd模型的理论支撑,证明了我们的模型的合理性以及科学性。并且,通过对以上的实验数据进行分析,充分证明了我们提出的模型具有准确性、有效性以及实用性的特点。
[0163]
下面结合附图和具体实例进一步详细说明本发明。
[0164]
我们选取三个评级网站的数据被用作实验数据集,三个数据集分别是filmtrus
(ft)、epinions(ep)和ciaodvd(cd),均包含了用户信息、项目信息和对应的评分信息和信任信息。用户可以在这三个数据集中对不同的项目进行评分,同时用户也可以在页面上发表评论,并且对其他用户的评论标记信任。但是在这三个数据集中的无论是信任信息还是评分信息的数据密度都远远小于百分之一,严重影响了推荐模型的表现。由于数据集的介绍内容和真实数据之间不匹配,所以我们对epinions和ciaodvd进行了切分。三个数据集的详细信息如附图表1所示。
[0165]
表1:推荐系统数据集
[0166][0167]
本发明分别对实验分别对信任传递模型和双向稀疏信任推荐模型进行评估,对于信任传递模型本文将从信任传递规模和传递值的准确度两个方面进行验证。对于双向信任推荐模型我们将从全用户和冷启动的角度出发分别对模型的评分预测的准确度进行评估。
[0168]
对于推荐模型预测结果的评估方法,我们采用了五重交叉验证方法,将全部数据信息分为五个子集,每一个子集都用作一次验证集,其余四个子集都用作训练集。这样可以有效避免过拟合和欠拟合问题的存在,提升结果的准确度。在推荐结果评估中,平均绝对误差(mae)
[0169]
和均方根误差(rmse)将被我们用于结果预测,mae和rmse主要的功能是预测与r
u,
i之间的误差,是评估变量精度的最常用的两把标尺。误差值越低意味着模型预测值和真实值之间的差距越小。
[0170]
在实施信任传递规模实验的过程中,我们主要对信任传递模型的传递规模和扩散速度进行了实验,对于传递规模而言我们将对传递后的邻接矩阵中的单向信任数和信任数据密度这两个角度进行计算,我们分别测量信任经过传播距离为1、2、3、4的路径后,邻接矩阵中非零的信任值数目和对应的密度,并根据实验结果,我们将最大传播距离设为3,一方面是为了降低复杂度,一方面是当距离超过3时,信任传播速度严重减缓。而对于扩散速度我们将按照不同传播路径长度进行实验,验证经过不同长度路径传播后的信任数目增长趋势,并根据实验结果确定了最长传播路径。
[0171]
在实施双向稀疏信任推荐模型实验的过程中,我们选取了七种模型与我们的双向稀疏信任推荐模型相比较,七种模型分别属于传统推荐模型和社交推荐模型两大类。传统推荐模型包括svd++和pmf,而社会推荐模型包含sorec、rste、socialmf、trustmf(通过信任进行社会协作过滤)和ssl

svd。验证tt

svd模型的表现,本文在初始的三个数据集上分别
从“全用户”和“冷启动用户”两个用户群体角度出发对七个模型进行对比实验。当用户评估少于5个项目时,该用户被定义为“冷启动用户”。为了验证传递模型能否提高模型的推荐质量,后续本文将传递后的信任信息作为数据集进行对比实验。
[0172]
本文根据先前工作的建议进行对比实验,为每种模型赋予最佳超参数。我们将用户和项目特征矩阵的维度设置为10。参数设置如下所示:对于pmf模型,本文设置λ=0.001;对于svd++模型,本文采纳了原模型中参数推荐的设置;对于rste模型,本文设置α=1.0、λ=0.001、λ
t
=1;对于socialmf模型,本文设置λ=0.001且λ
t
=1;对于trustmf模型,本文设置λ=0.001和λ
t
=1;对于sorec模型,本文为不同的数据集设置了不同的参数,在filmtrust,epinions和ciaodvd中分别设置了λ=0.1、1.0、0.01;ssl

svd的参数设置,我们遵循了作者hu等人的推荐。
[0173]
我们选取了三个真实数据集,用于本节的数据分析以及后续的相关实验,它们分别是:epinions、filmtrust、ciaodvd。这三个数据集均包含用户的评分数据以及用户之间的信任数据。这些数据集来自流行的社交网站。我们采用了七种最先进的方法与我们的方法进行比较,可分为两组:1)基于评分的推荐模型:svd++和pmf;2)基于信任的推荐模型:sorec、rste、socialmf、trustmf和trustsvd进行对比实验。
[0174]
实验结果表明,我们的信任传递模型不仅在信任传播速度和信任传播规模上表现良好,而且对于提高推荐模型的精准度有着很大的助益。
[0175]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1