一个推荐系统可以表示为一个由两部分构成的网络
G
(
U
,
O
,
E
),在那里
U
=
{
u
1
,
u
2
,
…
,
u
米
},
O
=
{
o
1
,
o
2
,
…
,
o
n
},
E
=
{
e
1
,
e
2
,
…
,
e
问
}是用户的设置、对象和链接,分别为(
7]。表示由
一个
米
×
n的邻接矩阵元素
一个
我
一个
=
1如果用户
我已选择的对象
一个和
一个
我
一个
=
0否则。
2.1。标准质量扩散推荐算法
作为显示在图
1,标准的质量扩散(SMD)算法相当于一个三步随机游走过程。首先,由两部分构成的网络中对象分配一个初始资源
f,
f
我
=
{
f
1
我
,
f
2
我
,
…
,
f
α
我
,
…
,
f
n
我
}为目标用户
我。为简单起见,如果一个对象是用户收集的
我,其初始资源分配是1,否则被分配为0。也就是说,最初的资源向量
f可以写成
(1)
f
α
我
=
一个
我
α
。
然后,每个对象的资源分配给用户收集的对象一般,和用户的资源收到对象是资源的总和。最后,每个用户的资源分配给他收集了一般的对象。对象的最后得分的资源可以通过转换计算
f
′
=
W
f,在那里
W是资源转移矩阵。
(2)
w
α
β
=
1
k
β
∑
l
=
1
米
一个
l
α
一个
l
β
k
l
,在哪里
k
β对象的学位吗
β和
k
l是用户的程度
l。
2.2。这部小说优惠扩散算法根据用户最近的邻居
根据先前的研究[
14),小说的扩散过程优先扩散推荐算法根据用户最近的邻居(NNMD)如图
2。首先,我们计算Jaccard目标用户之间的相似之处
我和其他用户
N类似的邻居。Jaccard相似的公式
(3)
J
我
j
=
N
我
∩
N
j
N
我
∪
N
j
,在哪里
J
我
j是Jaccard用户之间的相似之处吗
我和用户
j和
N
我和
N
j用户邻居的用户吗
我和用户
j,分别。然后我们可以得到对象的初始资源用向量
f
1,
f
1
我
=
{
f
11
我
,
f
12
我
,
…
,
f
1
α
我
,
…
,
f
1
n
我
}为目标用户
我。
f
1可以写成
(4)
f
1
α
我
=
一个
我
α
+
∑
k
∈
U
一个
k
α
,在哪里
U目标用户的最近邻居集吗
我。在图
2,
f
1
=
(
3、1
,
2、2
,
0
)。但只有目标用户的对象
我选择了可以分配资源给用户通过转换,然后重新分配吗
(5)
f
2
=
W
f
1
f
,在哪里
W是一样的(
2)。在图
2,
f
2
=
(
2、0.5、1
,
1.5,0
)。最后,我们使用资源向量的线性组合
f
1和
f
2得到最后一个向量对象的资源
F。也就是说,
(6)
F
=
α
f
1
+
1
- - - - - -
α
f
2
,在哪里
α是一个从0到1的变量参数。
为了测试算法的性能,我们使用三个基准数据集如表所示
1。这些数据集的稀疏表的最后一列所示
1。他们非常稀疏,特别是Epinions这样数据集。MovieLens 100 k和MovieLens 1 m的数据集
15)被GroupLens研究小组收集。他们由100000评级从1682种不同的电影和1000209 943用户评级从6040用户3952个不同的电影,分别。评级是整数数字1到5的范围。Epinions这样的数据集(
16]由22166用户,296277对象,和922267年评级。有人指出Epinions这样数据集非常稀疏。用户只有少数项目系统中,为了得到更好的结果,我们删除这些用户和对象与程度小于7。最后,我们得到一个新的数据集由4066用户,7649个对象,154122评级。我们随机将数据集划分为两个部分:训练集
E
T包含80%的数据,其余20%的数据构成了探针集
E
P。
这三个数据集的基本性质和稀疏的定义是
E
/
(
N
u
N
o
)。
网络
E
N
u
N
o
稀疏
MovieLens 100 k
100000年
943年
1682年
0.063
MovieLens 1米
1000209
6040年
3952年
0.042
Epinions这样
154122年
4066年
7649年
0.005
3.2。指标
已经有相当多的研究领域的推荐系统评价。准确性是最重要的方面在评估推荐算法的性能。在本文中,我们使用排名分数(
8)来衡量的能力推荐算法来生成一个目标用户排名的狼狈的对象匹配用户的偏好。为目标用户
u
我,推荐算法将返回
u
我他没有选择对象的排名,根据
E
P,如果
u
我已选择的对象
o
j和
o
j是在
r
我
j在排名,我们说的位置
o
j是
(7)
R
我
j
=
r
我
j
l
,在哪里
l是他没有选择对象的数量。我们获得所有用户对象排名得分的平均值
E
P;也就是说,
(8)
R
=
1
E
P
∑
我
j
∈
E
P
R
我
j
。
显然,排名分数越大,算法的精度越低,反之亦然。
在实际的推荐系统,我们可以考虑对象的数量,用户的推荐列表。因此,我们需要另一个精度指标精度。对于一个目标对象
o
j和用户
u
我在推荐系统,有4例。首先,推荐系统推荐对象和用户喜欢它。第二,推荐系统推荐对象,但用户不喜欢它。第三,用户喜欢的对象,但推荐系统不推荐它。最后,用户不喜欢的对象和推荐系统不推荐它。如表所示
2,
C
t
p,
C
f
n,
C
f
p,
C
t
n表示对象的四个病例的数量。
的四例未经选择的对象目标用户的推荐系统。
用户喜欢
推荐系统推荐
推荐系统不推荐
喜欢
C
t
p
C
f
n
不喜欢
C
f
p
C
t
n
为目标用户
u
我,推荐的精度
P
我
(
l
)被定义为
(9)
P
我
l
=
C
t
p
l
=
C
t
p
C
t
p
+
C
f
p
。
我们获得的平均精度
P
(
l
)所有用户的推荐系统。除了准确性,多样性是考虑评估推荐算法作为另一个重要方面。有两种类型的多样性。一个叫intrauser-diversity [
17];另一个叫做interuser-diversity [
18]。在本文中,我们考虑interuser-diversity。它认为在推荐列表中用户之间的不同对象。为两个用户
u
我和
u
j,可以使用由汉明距离测量的差异(
18]:
(10)
H
我
j
l
=
1
- - - - - -
年代
我
j
l
l
,在哪里
年代
我
j
(
l
)之间的共同对象的数量吗
u
我和
u
j在推荐列表中
l推荐列表的长度。显然,如果
u
我和
u
j有相同的推荐列表,
H
我
j
(
l
)
=
0,而如果推荐列表是完全不同的,
H
我
j
(
l
)
=
1。