一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于LBSN和多图融合的兴趣点推荐方法与流程

2021-12-04 02:41:00 来源:中国专利 TAG:

一种基于lbsn和多图融合的兴趣点推荐方法
技术领域
1.本发明属于自然语言处理和地理信息的技术领域,尤其涉及一种基于lbsn和多图融合的兴趣点推荐方法。


背景技术:

2.地理信息系统和移动网络的发展,促进了基于位置感知的社交媒体的高速发展。伴随着空间web对象(也称为兴趣点)的日益增多,兴趣点推荐作为基于位置的社交网络的重要服务之一,逐渐成为当前web查询、自然语言处理领域和基于位置的社交网络(lbsn)分析的热门课题。协同过滤是最早采用的兴趣点推荐方法,通过学习用户和兴趣点的潜在特征,以向量的形式表示用户和兴趣点,再基于向量预测用户对兴趣点的偏好度。矩阵分解方法利用用户的id信息作为用户的表示向量。
3.随着词嵌入的出现,研究人员开始将用户和兴趣点的特征信息进行嵌入来表示用户和兴趣点。然而,该类方法无法捕获用户

兴趣点交互记录中的协作信息。为此,有人提出图神经网络来学习图数据中的向量表示,图神经网络的出现为图数据的处理带来了新思路,该方法能够整合图中的节点信息、边信息以及拓扑结构,在学习向量表示上获得很大进步。另外,推荐问题本质上是矩阵补全问题,也可以理解为二部图中的链接预测问题,因此可以将推荐系统中用到的数据集转换为图数据,使图神经网络与推荐系统相结合,利用图神经网络对这些图数据进行学习来提升推荐系统的性能。


技术实现要素:

4.基于以上现有技术的不足,本发明所解决的技术问题在于提供一种基于lbsn和多图融合的兴趣点推荐方法,能够从内外两个角度对用户和兴趣点的特征进行学习,由此获得全面的用户和兴趣点描述;通过对聚类算法进行改进,更好的实现聚类;将图神经网络引入到兴趣点推荐中,通过多图融合的方式对用户

兴趣点交互图和用户社交关系图进行学习,为兴趣点推荐提供了新思路;能够有效降低推荐误差,提升推荐结果的准确性。
5.为了解决上述技术问题,本发明通过以下技术方案来实现:本发明提供一种基于lbsn和多图融合的兴趣点推荐方法,包括:
6.s1、用户和兴趣点内部特征建模:通过矩阵分解算法将用户

兴趣点评分矩阵拆分为用户矩阵和兴趣点矩阵的乘积,作为用户和兴趣点的内部潜在向量;
7.s2、用户和兴趣点外部特征建模:通过多图融合和改进的k

means聚类算法学习用户在兴趣点空间和社交空间的特征向量以及兴趣点在用户空间和位置空间的特征向量,进而得到用户和兴趣点的外部表征向量;
8.s3、将用户和兴趣点的最终向量输入神经网络中进行学习,由此获得用户对每个兴趣点的评分,再根据评分将分数最高的前k个兴趣点推荐给用户。
9.进一步的,所述步骤s1的用户和兴趣点内部特征建模的具体步骤如下:
10.通过对一个m行n列的评分矩阵r进行矩阵分解操作,可以得到两个最优子矩阵:用
户矩阵u
m
*
d
和兴趣点矩阵v
n
*
d
,m为评分矩阵中的用户数目,n为评分矩阵中的兴趣点数目;分别将用户和兴趣点映射到一个d维的空间中,u矩阵中的m行d维向量其实就是m个用户在d维空间上的投影,反映了用户对这d个潜在特征的偏好程度;每行的d维数据构成了每个用户的内部潜在向量f
ui
;v矩阵中的n行d维向量其实就是n个兴趣点在d维空间上的投影,反映了兴趣点对这d个潜在特征的贴近程度;每行的d维数据构成了每个兴趣点的内部潜在向量f
pi

11.进一步的,所述步骤s2中具体方法为:
12.给定一个兴趣点集合poi={v1,v2,

,v
n
},首先基于高斯核函数的概率密度估计方法,根据下式(a)计算出每个兴趣点v的概率密度,将此作为该兴趣点的典型程度;
[0013][0014]
其中,代表兴趣点v与v
j
之间的综合距离,是高斯核函数,n代表兴趣点个数;
[0015]
根据计算出的典型程度,选出典型度最高的兴趣点作为首个初始聚类中心,然后从剩余的兴趣点中选取与当前选中聚类中心距离最大的兴趣点,作为下一个初始聚类中心,以此类推,直到找出所有的初始聚类中心,之后根据选定的初始类心对兴趣点进行聚类,将每个兴趣点划分到与其最近的类心所属类中,直到相邻两次聚类结果不变,则聚类完成,最后根据每个兴趣点的类标签将兴趣点嵌入到位置空间中,获取兴趣点在位置空间的特征向量;
[0016]
构建用户

兴趣点交互图,通过下式的聚合函数从用户

兴趣点交互图中学习用户在兴趣点空间的特征向量以及兴趣点在用户空间的特征向量;构建用户社交关系图,通过下式(b)的聚合函数从用户社交图中学习用户在社交空间的特征向量;
[0017][0018]
其中,f
it
代表聚合后得到的表征向量,σ为非线性激活函数,w和b为神经网络的权重和偏置,agg为聚合器,c(i)为用户

兴趣点交互图和用户社交关系图中节点i的相邻节点集合,x
ij
为图中节点i和节点j之间评价感知的交互向量;
[0019]
之后通过下面三个公式(c

e)拼接用户在兴趣点空间和社交空间的特征向量获得用户的外部表征向量;拼接兴趣点在用户空间和位置空间的特征向量获得兴趣点的外部表征向量;
[0020][0021]
c2=σ(w2·
c1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(d)
[0022]
f
i
=σ(w
l
·
c
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(e)
[0023]
其中t
i
,i∈{1,2}代表嵌入空间,当t1和t2分别为兴趣点空间和社交空间时,f
i
为用户的外部表征向量f
uo
;当t1和t2分别为位置空间和用户空间时,f
i
为兴趣点的外部表征向量f
po

[0024]
进一步的,在步骤s3中,根据兴趣点的得分对兴趣点排序,选择分数最高的前k个
兴趣点构成推荐列表推荐给用户,其步骤如下:
[0025]
首先拼接用户的内部潜在向量f
ui
和外部表征向量f
uo
获得用户的最终向量f
u
;拼接兴趣点的内部潜在向量f
pi
和外部表征向量f
po
获得兴趣点的最终向量f
p
,将用户和兴趣点的最终向量输入神经网络中,多层感知机mlp中进行评分预测,采用relu激活函数,计算方法如公式(f)

(i);
[0026][0027]
g2=σ(w2·
g1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(g)
[0028]
g
l
=σ(w
l
·
g
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(h)
[0029]
r
ij
'=w
t
·
g
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(i)
[0030]
以下式(j)为目标函数学习模型的参数;
[0031][0032]
其中|o|为数据集中用户对兴趣点评分的数量,r
ij
为用户u
i
对兴趣点v
j
的真实评分,r’ij
为模型预测出的用户u
i
对兴趣点v
j
的评分;
[0033]
在得到用户对每个兴趣点的评分后,对兴趣点按照评分降序排列,选择分数最高的前k个兴趣点构成推荐列表推荐给该用户。
[0034]
由上,本发明通过内部和外部两个角度对用户和兴趣点进行分析,先是通过对用户

兴趣点评分矩阵进行矩阵分解获取用户和兴趣点的内部潜在向量,在通过多图融合,和改进的k

means聚类算法对用户和兴趣点的外部表征向量进行学习,最后结合内部和外部特征,获取用户和兴趣点的最终向量描述。将用户和兴趣点的最终向量输入神经网络中进行评分预测,将得分最高的前k个兴趣点推荐给用户。
[0035]
本发明提出的基于位置的社交网络(lbsn)和多图融合的兴趣点推荐方法,从内部和外部两个角度对用户和兴趣点进行分析。在内部模块,通过矩阵分解对用户

兴趣点的评分矩阵进行学习得到用户和兴趣点的内部潜在向量。在外部模块,首先构造用户

兴趣点交互图,从图中学习用户在兴趣点空间的表征向量以及兴趣点在用户空间的表征向量。然后,构建用户社交关系图,对用户社交中的信息扩散现象进行建模,捕获用户的朋友关系,得到用户在社交空间的表征向量;对兴趣点按其地理位置进行聚类,将聚类结果嵌入到位置空间,得到兴趣点在位置空间的表征向量。最后结合用户在兴趣点空间的表征向量和用户在社交空间的表征向量得到用户的外部表征向量;结合兴趣点在用户空间的表征向量和兴趣点在位置空间的表征向量得到兴趣点的外部表征向量。将用户和兴趣点在内外两个模块的向量融合得到用户和兴趣点的最终向量表示,并将其输入到多层神经网络模型中进行评分预测,根据评分对兴趣点进行推荐。在真实的数据集上对所提模型进行验证,结果表明本方法能够有效降低推荐误差,提升推荐结果的准确性。
[0036]
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更简明易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
[0037]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
[0038]
图1为本发明的整体结构框图;
[0039]
图2为本发明的聚类算法流程图;
[0040]
图3为本发明的多图融合结构示例图;
[0041]
图4为本发明的注意力机制结构图;
[0042]
图5为本发明的实验结果对比图,(a)是与pmf算法在rmse指标的对比结果图,(b)是与pmf算法在mae指标的对比结果图。
具体实施方式
[0043]
下面结合附图详细说明本发明的基于lbsn和多图融合的兴趣点推荐方法的具体实施方式。
[0044]
如图1至图5所示,本发明的基于lbsn和多图融合的兴趣点推荐方法主要应用于当前热门的自然语言处理、地理信息系统和时空数据分析领域,其步骤如下:
[0045]
(1)用户和兴趣点内部特征建模:对用户

兴趣点评分矩阵进行矩阵分解,以最小化用户对兴趣点的真实评分与预测评分之间的均方误差为目标进行优化,得到两个最优隐式矩阵u和v,以此作为用户和兴趣点的内部潜在向量。
[0046]
通过对一个m行n列的评分矩阵r进行矩阵分解操作,可以得到两个最优子矩阵:用户矩阵u
m
*
d
和兴趣点矩阵v
n
*
d
,m为评分矩阵中的用户数目,n为评分矩阵中的兴趣点数目;分别将用户和兴趣点映射到一个d维的空间中,u矩阵中的m行d维向量其实就是m个用户在d维空间上的投影,反映了用户对这d个潜在特征的偏好程度;每行的d维数据构成了每个用户的内部潜在向量f
ui
;v矩阵中的n行d维向量其实就是n个兴趣点在d维空间上的投影,反映了兴趣点对这d个潜在特征的贴近程度;每行的d维数据构成了每个兴趣点的内部潜在向量f
pi

[0047]
(2)用户和兴趣点外部特征建模:设定四个嵌入空间:兴趣点空间、社交空间、用户空间和位置空间通过聚合函数分别学习用户在兴趣点空间和社交空间的特征向量以及兴趣点在用户空间和位置空间的特征向量。其中用户在兴趣点空间的特征向量和兴趣点在用户空间的特征向量从用户

兴趣点交互图中进行学习;用户在社交空间的特征向量从用户社交图中学习;兴趣点在位置空间的特征向量则通过改进的k

means聚类算法根据兴趣点的地理位置对兴趣点进行聚类,然后再根据相应的类标签嵌入到位置空间中获得。
[0048]
给定一个兴趣点集合poi={v1,v2,

,v
n
},首先基于高斯核函数的概率密度估计方法,根据下式(a)计算出每个兴趣点v的概率密度,将此作为该兴趣点的典型程度;
[0049][0050]
其中,代表兴趣点v与v
j
之间的综合距离,是高斯核函数,n代表兴趣点个数;
[0051]
根据计算出的典型程度,选出典型度最高的兴趣点作为首个初始聚类中心,然后从剩余的兴趣点中选取与当前选中聚类中心距离最大的兴趣点,作为下一个初始聚类中心,以此类推,直到找出所有的初始聚类中心,之后根据选定的初始类心对兴趣点进行聚类,将每个兴趣点划分到与其最近的类心所属类中,直到相邻两次聚类结果不变,则聚类完成,最后根据每个兴趣点的类标签将兴趣点嵌入到位置空间中,获取兴趣点在位置空间的特征向量;
[0052]
构建用户

兴趣点交互图,通过下式的聚合函数从用户

兴趣点交互图中学习用户在兴趣点空间的特征向量以及兴趣点在用户空间的特征向量;构建用户社交关系图,通过下式(b)的聚合函数从用户社交图中学习用户在社交空间的特征向量;
[0053][0054]
其中,f
it
代表聚合后得到的表征向量,σ为非线性激活函数,w和b为神经网络的权重和偏置,agg为聚合器,c(i)为用户

兴趣点交互图和用户社交关系图中节点i的相邻节点集合,x
ij
为图中节点i和节点j之间评价感知的交互向量;
[0055]
之后通过下面三个公式(c

e)拼接用户在兴趣点空间和社交空间的特征向量获得用户的外部表征向量;拼接兴趣点在用户空间和位置空间的特征向量获得兴趣点的外部表征向量;
[0056][0057]
c2=σ(w2·
c1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(d)
[0058]
f
i
=σ(w
l
·
c
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(e)
[0059]
其中t
i
,i∈{1,2}代表嵌入空间,当t1和t2分别为兴趣点空间和社交空间时,f
i
为用户的外部表征向量f
uo
;当t1和t2分别为位置空间和用户空间时,f
i
为兴趣点的外部表征向量f
po

[0060]
(3)评分预测:将用户的内部潜在向量和外部表征向量进行拼接得到用户的最终向量;将兴趣点的内部潜在向量和外部表征向量进行拼接得到兴趣点的最终向量。将用户和兴趣点的最终表征向量输入多层感知机mlp中进行评分预测,并对兴趣点按照评分由高到低排序,将分数最高的前k个兴趣点组成推荐列表推荐给该用户。
[0061]
根据兴趣点的得分对兴趣点排序,选择分数最高的前k个兴趣点构成推荐列表推荐给用户,其步骤如下:
[0062]
首先拼接用户的内部潜在向量f
ui
和外部表征向量f
uo
获得用户的最终向量f
u
;拼接兴趣点的内部潜在向量f
pi
和外部表征向量f
po
获得兴趣点的最终向量f
p
,将用户和兴趣点的最终向量输入神经网络中,多层感知机mlp中进行评分预测,采用relu激活函数,计算方法如公式(f)

(i);
[0063][0064]
g2=σ(w2·
g1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(g)
[0065]
g
l
=σ(w
l
·
g
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(h)
[0066]
r
ij
'=w
t
·
g
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(i)
[0067]
以下式(j)为目标函数学习模型的参数;
[0068][0069]
其中|o|为数据集中用户对兴趣点评分的数量,r
ij
为用户u
i
对兴趣点v
j
的真实评分,r’ij
为模型预测出的用户u
i
对兴趣点v
j
的评分;
[0070]
在得到用户对每个兴趣点的评分后,对兴趣点按照评分降序排列,选择分数最高的前k个兴趣点构成推荐列表推荐给该用户。
[0071]
为了实现上述目标,本发明方法的执行过程如下:
[0072]
步骤1:用户和兴趣点内部特征建模。对用户

兴趣点评分矩阵进行矩阵分解,以最小化公式(1)中的均方误差为目标进行优化,得到两个最优隐式矩阵u和v,以此作为用户和兴趣点的内部潜在向量f
ui
和f
pi

[0073][0074]
其中u和v分别是用户和兴趣点嵌入后得到的d维隐式矩阵,d是隐式矩阵的维度。r
i,j
是用户u
i
对兴趣点v
j
进行评分的真实数据,表示预测出的用户u
i
对兴趣点v
j
的评分。
[0075]
步骤2:兴趣点的位置特征建模
[0076]
步骤2.1:改进传统的k

means聚类,对k

means聚类算法的初始聚类中心选取过程进行改进。采用基于高斯核函数的概率密度估计方法,给定一个兴趣点集合poi={v1,v2,

,v
n
},兴趣点v
j
的典型程度可用概率密度函数f(v)定义。
[0077][0078]
其中,代表兴趣点v与v
j
之间的综合距离,是高斯核函数,n代表兴趣点个数。
[0079]
通过上述过程逐个计算兴趣点集合中每个兴趣点的典型程度,选取典型度最高的兴趣点作为首个初始聚类中心。然后从剩余的兴趣点中选取与当前选中聚类中心距离最大的兴趣点,作为下一个初始聚类中心,以此类推,直到找出所有的初始聚类中心。
[0080]
步骤2.2:对兴趣点进行聚类,并将类标签嵌入到位置空间获得兴趣点在位置空间的表征向量
[0081]
步骤3:多图融合。
[0082]
步骤3.1:构建用户

兴趣点交互图和用户社交关系图。
[0083]
步骤3.2:构建聚合函数。兴趣点在用户空间的表征向量、用户在兴趣点空间的表征向量以及用户在社交空间的表征向量统一通过公式(3)的聚合函数获得。
[0084]
[0085]
其中,f
it
代表聚合后得到的表征向量(当f
it
为p
iu
时代表兴趣点在用户空间的表征向量;当f
it
为时代表用户在兴趣点空间的表征向量;当f
it
为时代表用户在社交空间的表征向量),σ为非线性激活函数,w和b为神经网络的权重和偏置,agg为聚合器,c(i)为用户

兴趣点交互图和用户社交关系图中节点i的相邻节点集合,x
ij
为图中节点i和节点j之间评价感知的交互向量。
[0086]
步骤4:用户和兴趣点的最终向量表示。
[0087]
步骤4.1:计算用户和兴趣点的外部表征向量。将用户在兴趣点空间的特征向量和用户在社交空间的特征向量拼接在一起构成用户的外部表征向量;将兴趣点在位置空间的特征向量和兴趣点在用户空间的特征向量拼接在一起构成兴趣点的外部表征向量。
[0088]
步骤4.2:计算用户和兴趣点的最终向量表示。将用户的内部潜在向量与外部表征向量进行拼接得到用户的最终表征向量;将兴趣点的内部潜在向量与外部表征向量进行拼接得兴趣点的最终表征向量f
p

[0089]
步骤5:评分预测。将用户和兴趣点的最终表征向量f
u
和f
p
输入多层感知机mlp中进行评分预测。
[0090]
在得到用户对每个兴趣点的评分后,对兴趣点按照评分由高到低排序,将分数最高的前k个兴趣点组成推荐列表推荐给该用户。
[0091]
在用户和兴趣点的内部建模环节,本发明采用经典的矩阵分解(mf)算法来实现。mf将高维评分矩阵分解为两个低维隐式矩阵,并对它们进行乘积运算,优化原始矩阵和乘积矩阵之间的均方误差,进而得到两个最优隐式矩阵,以最小化公式(4)为目标进行优化。
[0092][0093]
其中u和v分别是用户和兴趣点嵌入后得到的d维隐式矩阵,d是隐式矩阵的维度。ri,j是用户u
i
对兴趣点v
j
进行评分的真实数据,表示预测出的用户u
i
对兴趣点v
j
的评分。为了有较好的泛化能力,在损失函数中加入l2正则项对参数进行约束,并通过梯度下降法来更新两个隐式矩阵,如公式(5)所示。
[0094][0095][0096][0097][0098]
其中α和β是算法优化过程中需要学习的参数,在实验中设定α=20,β=0.2。
[0099]
通过对一个m行n列的评分矩阵r进行如上所述分解过程,可以得到两个最优子矩阵:用户矩阵u
m
*
d
和兴趣点矩阵v
n
*
d
,m为评分矩阵中的用户数目,n为评分矩阵中的兴趣点
数目;分别将用户和兴趣点映射到一个d维的空间中,u矩阵中的m行d维向量其实就是m个用户在d维空间上的投影,反映了用户对这d个潜在特征的偏好程度;每行的d维数据构成了每个用户的内部潜在向量f
ui
;v矩阵中的n行d维向量其实就是n个兴趣点在d维空间上的投影,反映了兴趣点对这d个潜在特征的贴近程度;每行的d维数据构成了每个兴趣点的内部潜在向量f
pi

[0100]
图2描述的是改进的聚类算法流程图。聚类结果的稳定性极大的依赖于初始聚类中心的选取,传统的k

means聚类算法随机初始类心,存在较大的偶然性,导致传统的k

means算法无法满足人们的聚类需求。为此本发明提出一种改进的k

means聚类方法,通过概率密度估计法选取聚类的初始中心,替代传统的随机生成初始类心,使聚类尽快稳定下来,得到更理想的聚类结果。采用基于高斯核函数的概率密度估计方法,给定一个兴趣点集合poi={v1,v2,

,v
n
},兴趣点v
j
的典型程度可用概率密度函数f(v)定义。
[0101][0102]
其中,代表兴趣点v与v
j
之间的综合距离,是高斯核函数,n代表兴趣点个数。
[0103]
通过上述过程逐个计算兴趣点集合中每个兴趣点的典型程度,选取典型度最高的兴趣点作为首个初始聚类中心。然后从剩余的兴趣点中选取与当前选中聚类中心距离最大的兴趣点,作为下一个初始聚类中心,以此类推,直到找出所有的初始聚类中心。算法1给出了改进的k

means聚类算法确定初始类心的伪代码。初始聚类中心确定好后,分别计算剩余兴趣点到k个聚类中心的距离(k代表聚类个数),将其归到与之最近的类中,全体兴趣点划分完毕则第一轮聚类结束。在每个类中,分别计算该类中兴趣点的平均值,作为该类新的聚类中心。依次计算各兴趣点到新聚类中心的距离,再次将兴趣点归到与之最近的类中,完成第二轮聚类。以此类推,不断的在每个类中产生新类心,并按照新类心对兴趣点进行归类,直到相邻两次聚类结果相同(聚类中心不变),则聚类达到稳定。
[0104]
算法1.改进的k

means聚类算法确定初始类心
[0105]
输入:兴趣点集合v={v1,...,v
n
}
[0106]
输出:k个初始类心集合t
k
={v
i1
,...,v
ik
}
[0107]
方法:
[0108]
(1)
[0109]
(2)通过公式(6)计算兴趣点集合v中每个兴趣点的概率密度,选出概率密度最大的兴趣点v
i1
∈v
[0110]
(3)t
k

t
k
∪{v
i1
}
[0111]
(4)v

v

{v
i1
}
[0112]
(5) for all j=2 to k do
[0113]
(6)
[0114]
(7)t
k

t
k
∪{v
ij
},v

v

{v
ij
}
[0115]
(8)end for
[0116]
(9) return t
k
={ v
i1
, ..., v
ik
}
[0117]
聚类终止后,每个兴趣点将会获得一个类标签,将兴趣点的聚类标签嵌入到向量中,即可得到兴趣点在位置空间的特征向量
[0118]
为验证本发明改进k

means聚类算法的有效性,以yelp数据集为例,分别采用传统的k

means聚类算法和改进后的k

means聚类算法将yelp数据集聚为10类,以簇内变差einner和簇间变差einter两种常用的聚类评判标准对传统k

means聚类算法和改进后的k

means聚类算法进行对比,簇内变差einner和簇间变差einter计算过程如公式(7)和公式(8)所示,对比结果如表1所示。
[0119][0120][0121]
这里c(i)=k代表第k个类中包含的数据点集合,d
ij
代表数据点i和j之间的距离。i
i
和i
j
代表第i个类心和第j个类心。
[0122]
表1两种算法的簇内变差和簇间变差
[0123][0124]
从实验结果中可以发现,改进后的k

means聚类算法得到的结果中簇内变差更小,簇间变差更大,这说明改进后的k

means聚类能够使得同一类簇内的数据点更相似,不同类簇间的兴趣点区别更大,由此也可以证明改进的k

means聚类得到的聚类结果更合理,效果更好。
[0125]
图3为多图融合结构示例图。u
i
代表用户,v
j
代表兴趣点。用户u
i
与兴趣点v
j
之间有连线,代表用户u
i
访问过兴趣点v
j
,连线上的数值代表用户对该兴趣点的打分。用户u
i
彼此相连代表用户间存在朋友关系。假设用户u1访问过兴趣点v1,v2,v3,那么用户u1就会分别与兴趣点v1,v2,v3,产生一条连线,这就形成了一个图结构,称之为用户

兴趣点交互图,如图3(a)所示;假设用户u1与u2、u3具有朋友关系,u3与u5有朋友关系,u5与u2具有朋友关系,同时u4与u2、u6具有朋友关系,那么对用户u
i
的朋友关系进行梳理后就可以得到一个用户社交关系图,如图3(b)所示。将用户

兴趣点交互图和用户社交关系图整合到一起,就形成了多图融合。
[0126]
得到两个图数据后,将图数据输入神经网络中,通过聚合函数提取出每个图数据中的特征。兴趣点在用户空间的表征向量、用户在兴趣点空间的表征向量以及用户在社交空间的表征向量统一通过公式(9)的聚合函数获得。
[0127][0128]
其中,f
it
代表聚合后得到的表征向量(当f
it
为p
iu
时代表兴趣点在用户空间的表征向量;当f
it
为时代表用户在兴趣点空间的表征向量;当f
it
为时代表用户在社交空
间的表征向量),σ为非线性激活函数,w和b为神经网络的权重和偏置,agg为聚合器,c(i)为用户

兴趣点交互图和用户社交关系图中节点i的相邻节点集合,x
ij
为图中节点i和节点j之间评价感知的交互向量,具体形式如公式(10)所示。
[0129][0130]
这里g
v
代表多层感知器;代表两个向量的连接操作;q
j
在用户空间代表访问过兴趣点i的用户的嵌入向量,在兴趣点空间代表用户i访问过的兴趣点j的嵌入向量;e
r
∈rd代表用户对兴趣点的评价嵌入向量;p
j
代表用户社交图中用户i的朋友(邻居节点)的嵌入向量。
[0131]
为了缓解基于均值聚合器的限制,本发明通过设置权重的方式个性化聚合每次交互,即agg=∑
j∈c(i)
α
ij
,允许每次交互对用户/兴趣点的特征向量做出不同贡献。由此,可得用户/兴趣点的表征向量为:
[0132][0133]
其中α
ij
代表交互的注意力权重,通过注意力机制来学习。这里的注意力机制是指一个双层神经网络,以评价感知交互向量x
ij
和目标对象的嵌入向量p
i
为输入对α
ij
进行参数化,其结构如图4所示,具体形式如公式(12)所示:
[0134][0135]
通过softmax函数将注意力得分归一化得注意力权重,以此代表不同交互对用户/兴趣点特征向量所做的贡献:
[0136][0137]
由此可以获得用户在兴趣点空间的特征向量用户在社交空间的特征向量兴趣点在用户空间的特征向量p
iu
,以及兴趣点在位置空间的特征向量将用户在兴趣点空间的特征向量和用户在社交空间的特征向量拼接在一起构成用户的外部表征向量f
uo
;将兴趣点在用户空间的特征向量p
iu
和兴趣点在位置空间的特征向量拼接在一起构成兴趣点的外部表征向量f
po
,具体过程如公式(14)

(16)所示。
[0138][0139]
c2=σ(w2·
c1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0140]
.......
[0141]
f
i
=σ(w
l
·
c
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0142]
其中t
i
,i∈{1,2}代表嵌入空间,当t1和t2分别为兴趣点空间和社交空间时,f
i
为用户的外部表征向量f
uo
;当t1和t2分别为位置空间和用户空间时,f
i
为兴趣点的外部表征向量f
po

[0143]
得到用户和兴趣点的内部嵌入向量f
ui
、f
pi
以及外部表征向量后f
uo
、f
po
,分别将其
内部嵌入向量与外部表征向量进行拼接,以获得用户和兴趣点的最终向量表示f
u
、f
p

[0144]
将用户和兴趣点的最终表征向量f
u
和f
p
输入多层感知机mlp中进行评分预测,采用relu激活函数,计算方法如公式(17)

(20)。
[0145][0146]
g2=σ(w2·
g1 b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0147]
g
l
=σ(w
l
·
g
l
‑1 b
l
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0148]
r'
ij
=w
t
·
g
l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(20)
[0149]
以公式(21)为目标函数学习模型的参数。
[0150][0151]
其中|o|为数据集中用户对兴趣点评分的数量,r
ij
为用户u
i
对兴趣点v
j
的真实评分,r’ij
为模型预测出的用户u
i
对兴趣点v
j
的评分;
[0152]
在得到用户对每个兴趣点的评分后,对兴趣点按照评分由高到低排序,将分数最高的前k个兴趣点组成推荐列表推荐给该用户。
[0153]
本发明采用均方根误差rmse和平均绝对误差mae作为评价指标对兴趣点推荐方法的准确性进行评估。两者数值越小,代表结果越好。
[0154][0155][0156]
其中n是兴趣点总个数,r'
i
为预测值,r
i
为真实值。
[0157]
本发明采用yelp(全球最大的点评网站之一)数据集,截取经度在

112.0和

111.9之间、纬度在33.3和33.45之间的数据作为实验数据,随机选取80%、60%的数据作为训练集,其余20%、40%的数据作为测试集,考虑不同比例下的训练集和测试集对推荐结果的影响。
[0158]
首先对比传统k

means聚类算法和改进的k

means聚类算法得到的实验结果,如表2所示。
[0159]
表2不同聚类算法性能
[0160][0161]
从表2结果可以看出,无论训练集占比80%还是60%,采用改进后的k

means聚类算法得到的推荐模型性能更好,这是因为改进后的k

means算法能够更合理的确定初始聚类中心,而聚类结果很大程度依赖于初始类心,因此改进后的k

means算法能够得到更准确的聚类结果,这对后期计算兴趣点在位置空间的特征向量有着积极的作用。
[0162]
其次验证本发明提出的采用注意力机制代替传统的均值操作对用户/兴趣点在各嵌入空间的特征进行聚合。分为以下三种情况

全体聚合器均采用均值操作(即认为用户的所有朋友对其影响程度相同,用户/兴趣点对与其有交互行为的兴趣点/用户贡献相同);

仅考虑用户亲密度(即认为用户的不同朋友对其影响程度不同,用户/兴趣点对与其有交互行为的兴趣点/用户贡献相同);

同时考虑用户亲密度与注意力机制(即认为用户的不同朋友对其影响程度不同,用户/兴趣点对与其有交互行为的兴趣点/用户贡献也不同)。实验结果如表3所示。
[0163]
表3不同聚合器性能
[0164][0165]
从rmse和mae的结果值看来,显然,情况

全体聚合器均采用均值操作的推荐性能远小于情况

仅考虑用户亲密度,说明考虑朋友之间的亲密度对推荐结果有着积极的影响。同时情况

仅考虑用户亲密度的性能低于情况

同时考虑用户亲密度与注意力机制模型,也体现出注意力机制在捕获用户和兴趣点交互信息方面的有效性。
[0166]
最后将本发明的实验结果与兴趣点推荐领域经典的概率矩阵分解pmf算法进行对比,实验结果如表4所示。
[0167]
表4不同推荐模型性能
[0168][0169][0170]
从表4中可以看出,当采用80%的数据集作为训练集时,本发明算法在rmse和mae指标上分别比pmf降低了31.84%和34.51%;当采用60%的数据集作为训练集时,本发明算法在rmse和mae指标上分别比pmf降低了34.89%和38.22%。为了更直观的展示对比结果,将两种方法得到的实验结果绘制成条形图如图5所示。本发明的方法显著降低了评分预测误差,可以有效提高推荐的准确率,由此也证明了本发明专利所提算法的有效性。
[0171]
最后应说明的是:以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献