一种改进的协同过滤推荐算法(3)
发布时间:2021-06-10
发布时间:2021-06-10
l计I
厦似租向
职业口,b之间的相似度simo(n,6),即:
o(啪户sirTlD(础)一j警“薛6)
o(“,口)=sirTlD(口,6)=.{H。’“”7
(5)
ll,
(口=6)
例如在图2中,职业树的高度Ho=4,对职业日和职业b而言,最近共同父类为职业类A,相应的H^cc如,=2,由此职业口,b的相似度simo(口,6)=O.5。
设用户“的性别为S。,用户口的性别为S。,则用户“,口在特征向量空间性别维的相似性S(u,口)表示为:
sc“,。={::妻兰妻
ce,
设用户“的年龄为A。,用户7./的年龄为A。,则用户“,u
在特征向量空间年龄维的相似性A(u,u)表示为:
舭徊户1志,A—A>5
f1,
A—A≤5
@’
L
I[A—A]f’几m7。
用户乱和7.1在用户特征向量上的相似度si弛(“,v)通过
如下式来计算:
sirrk(乱,口)=zS(u,口)+乱4(”,可)+(1一Z一艿)C)(扎,可)(8)
式中,x,8为修正系数,分别影响性别、年龄和职业3个维在用户特征向量相似度上所起的作用。一般根据统计信息或者实验结果来调整其大小,不同的推荐系统,可以动态调整其值来优化推荐效果。3.4改进算法流程
把上述方法引入到传统的协同过滤推荐算法中,提出了一种改进后的协同过滤算法,通过遗忘函数对原始的用户一评价矩阵R按照评价时间进行修正,增加时间效应,突出用户近期评价数据对推荐的贡献,获得修正后的用户一评价矩阵R7。在传统用户相似度基础上,结合用户在用户特征向量空间上的相似度来构造用户的综合相似度,依据用户综合相似度大小获得用户的最近邻居集。改进后的推荐流程如图3所示。
l信息收集,信忠处理l——
{
建立用户一评价矩阵
建立用户特征向高线
’
量矩阵
I建立修正用户一评价矩阵I
T
—
用麟棚户l
●I
l
●
l计算用户综合相似度,l
在线
获得用户邻居集合l
●
I预测评分,产生推荐l
图3改进算法流程图
输入:目标用户“,用户一评价矩阵R,用户特征向量矩阵y输出:向目标用户u进行推荐的TOP-N推荐集
Setp
1建立修正用户一项目评分矩阵R7
对每个评分ru.iER,采用式(3)计算/“=^。i×^(“,£),建立修正用户一项目评分矩阵R7。用户的兴趣在短期内是相对稳定的,修正用户一项目评分矩阵R7是可以离线生成的,间隔T周期更新。
Step2计算用户特征向量上的相似度sirrk(“,口)在用户特征向量矩阵V上,采用式(8)计算目标用户1.1与用户在用户特征向量上的相似度sirn。(“,口)。
万方数据
228
Step3计算目标用户和候选用户原始相似度sim(u,口)在修正用户一项目评分矩阵R7上,结合式(4)和皮尔森相
关系数法,计算目标用户和候选用户的原始相似度:
∑(/“一无)×(r,“~瓦)Xy(u,i)
8i瓜舶沪亨曩焉亏雨覆雨票可
@’
’V
i∈』删
‘∈J删
Step4计算用户综合相似度,获取目标用户的邻居集合在Step2和Step3基础上,采用式(10)计算目标用户与每个候选用户的复合相似度,同样采用Top-N策略获取以个用户作为目标用户的邻居用户。
sim'(u,口)=口sim(u,口)+(1一a)s吼(t‘,铆)
(10)
Step5进行预测评分,产生推荐
由step4计算得到的邻居用户对目标用户未评分的项目进行预测评分,预测评分的计算以及推荐的产生仍然采用第
2节中介绍的方法。
4实验结果及分析
4.1
实验数据选取和度量标准
实验数据采用美国Minnesota大学GroupLens项目组提
供的Movielens数据集。它包含了943名用户对1682部电影的评价,每个用户至少评价过20部电影,评分值为1到5之间的整数,数值越高,表明用户对该电影的偏爱程度越高。
本文采用通常使用的平均绝对偏差MAE作为准确性度量标准,采用推荐产生的平均消耗时间(MCT)作为算法效率度量标准。MAE通过计算预测的用户评分与实际的用户评分之间的偏差度量可知预测的准确性,MAE越小,推荐质量越高。
设目标用户的预测评价集合为只=(仇.tIi—l,2,…,以),对应的目标用户实际评价集合为R。=(^,ti=1,2,…,砣)。对于每个不为零的预测一评价对<P“,^,z>,计算
∑(轧,f一^.f)
MAE=生百厂_
(11)
式中,L为测试集内目标用户“的预测值和真实评价值都不
为0的项目集。4.2实验结果及分析
本文设计了4组实验,将改进算法与传统的协同过滤算法和基于时间改进型协同过滤算法[3]产生的推荐结果进行对
比。式(3)中的口,b分别取20,1/10;式(8)中的z,占分别取
0.2,0.5。
实验一测试遗忘函数中时间间隔T对推荐结果的影响,T分别取10,15,20进行试验,结果如图4所示。
哺
∞
I}\一
∞嘀
|吣≤兰苯。。
《
=¨
,\≤辽
%
l\≤≮:盯
l—、、一
The
巨互夏三至互珂
Number
of
Neighbor
图4不同T值对推荐结果的影响
实验结果表明,不同T值对推荐准确度有一定的影响,过长或者过短都会对算法起到负面作用。当T=15时算法
(下转第243页)
下一篇:浅谈模板工程的质量控制