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

一种基于自监督学习和图神经网络的个性化兴趣推荐方法

2022-11-14 13:57:27 来源:中国专利 TAG:


1.本发明涉及兴趣预测的个性化推荐技术领域,具体涉及一种基于自监督学习和图神经网络的个性化兴趣推荐方法。


背景技术:

2.基于位置的社交网络能够使用户随时随地通过打卡、照片、分享和评论等方式反映个人兴趣爱好,通过智能算法根据用户行为模式挖掘出用户潜在的兴趣并根据用户个性化兴趣推荐下一个用户想要打卡的地点已经成为了解决当前互联网时代用户出行需求的最有效技术手段之一。目前研究人员针对于个性化兴趣推荐算法已经提出了较为有效的兴趣学习模型,但是大部分模型都是基于单独用户的行为轨迹进行兴趣建模,从而实现下一个兴趣地点的推荐,并没有考虑用户访问地点之间天然不变的位置关系的潜在特征。另一方面,同时忽视了对访问地点之间的访问流量进行全局性多用户行为分析,因此无法有效的推荐出用户真正想要访问打卡的下一个感兴趣的地点。


技术实现要素:

3.本发明为了克服以上技术的不足,提供了一种基于自监督学习和图神经网络的个性化兴趣推荐方法,实现用户在一定区域内的行动轨迹和行为模式是有迹可循的,并且在现实生活中,在一定区域内的不同用户的行为模式和行动轨迹也具有高度重合性。因此对兴趣访问点(下文简称兴趣点)根据空间坐标和访问流行度进行图结构的建模可以学习出兴趣点之间的一种普遍的行为模式,且用于单个用户时可以将这种行为模式视为用户的长期兴趣。
4.本发明克服其技术问题所采用的技术方案是:
5.一种基于自监督学习和图神经网络的个性化兴趣推荐方法,包括如下步骤:
6.a)从gowalla这个数据集读取兴趣点集合和用户集合其中pi为第i个兴趣点,1≤i≤n
p
,n
p
为兴趣点集合p的长度,uo为第o个用户,1≤o≤nu,nu为用户集合u的长度;b)根据第o个用户的签到时间生成用户o在第b天的日签到序列用户o的全部签到序列全部用户的全部签到序列其中其中为第o个用户待推荐的那一天,为第o个用户第b天的第z个签到点,为第o个用户第b天的第z个签到点,为用户o在第b天的日签
到序列的长度;
7.c)将兴趣点集合p中的每一个兴趣点初始化为原始特征向量e,将所有兴趣点的原始特征向量表示为ei为第i个兴趣点pi的原始特征向量,1≤i≤n
p

8.d)将全部用户的全部签到序列根据签入签出记录构建兴趣点全局图,该兴趣点全局图由用户的历史签到序列创建兴趣点之间的邻接矩阵构成,为实数空间,该兴趣点全局图的节点为兴趣点集合p中全部兴趣点;
9.e)采用随机删边法,随机删除邻接矩阵w
*
中的元素,分别获得增强视图邻接矩阵及
10.f)创建一个基于图同构网络的图编码器模型graphencoder,将兴趣点的原始特征向量e及邻接矩阵w
*
输入到图编码器模型graphencoder中,输出得到邻接矩阵w
*
的兴趣点局部图特征向量g、增强视图邻接矩阵的兴趣点局部图特征向量gq、增强视图邻接矩阵的兴趣点局部图特征向量gk;
11.g)计算infonce损失函数loss
pre
,利用损失函数loss
pre
迭代训练图编码器模型graphencoder,通过反向传播更新兴趣点的原始特征向量e,得到带有空间特征和流行度特征的兴趣点特征向量e
*

12.h)在兴趣点集合p中创建用户历史交互兴趣点的掩码数组,已交互的为1,未交互的为0,根据掩码数组从邻接矩阵w
*
中提取出第o个用户的邻接矩阵
13.i)将带有空间特征和流行度特征的兴趣点特征向量e
*
及第o个用户的邻接矩阵输入到步骤g)中训练完成的图编码器模型graphencoder中,输出得到第o个用户的交互子图特征表示
14.j)通过公式计算得到用户的长期兴趣值mlp(
·
)为多层感知机;
15.k)获取第o个用户要预测当天t的签到序列按顺序从带有空间特征和流行度特征的兴趣点特征向量e
*
中取出该签到序列里访问的兴趣点的特征向量,按顺序依次标记为其中hm为预测当天t的第m个访问的兴趣点的特征向量,量,为用户o在预测当天t的日签到序列的长度,将一天时间分成24个时间片,计算当天第m个访问的兴趣点与最后第个访问的兴趣点之间的时间片差值,并将差值编码为64维向量定义一个时间片偏移嵌入矩阵矩阵长度为当前序列长度其中为qm为第m个兴趣点对应的时间片偏移嵌入向量,通过半正矢公式计算当天第m个访问的兴趣点与最后第个访问的兴趣点之间的距离,将距离值编码为64维向量定义一个空间偏移嵌入矩阵矩阵长度为当前序列长度其中为posm为第m个访问的兴趣点对应的空间偏移嵌入向量,
16.l)使用softmax计算注意力权重,将所有兴趣点的特征嵌入向量相加生产短期兴趣值
17.m)通过公式计算得到用户兴趣向量式中和均为注意力权重;
18.n)通过公式计算得到候选兴趣点在预测当天t被签到的概率p
candi
,完成模型的建立;
19.o)将概率p
candi
中最大的前10个兴趣点推荐给用户。
20.进一步的,步骤c)中将兴趣点集合p中的每一个兴趣点初始化为64维的原始特征向量e。
21.进一步的,步骤d)包括如下步骤:
22.d-1)通过公式s
i,j
=ln(freq
i,j
)计算得到第i个兴趣点pi到第j个兴趣点pj的权重影响度s
i,j
,式中freq
i,j
为第i个兴趣点pi到第j个兴趣点pj访问的次数;
23.d-2)通过公式计算得到归一化后的影响度s
i,min
为第i个兴趣点pi的出度边的最小值,s
i,max
为第i个兴趣点pi的出度边的最大值;
24.d-3)通过公式d
i,j
=haversine(loni,lati,lonj,latj)计算得到第i个兴趣点pi与第j个兴趣点pj之间的距离d
i,j
,式中haversine(
·
)为半正矢函数,loni为第i个兴趣点pi的经度,lati为第i个兴趣点pi的纬度,lonj为第j个兴趣点pj的经度,latj为第j个兴趣点pj的纬度;
25.d-4)通过公式计算得到标准化的空间影响度式中sigmoid(
·
)为sigmoid函数;
26.d-5)通过公式计算得到第i个兴趣点pi到第j个兴趣点pj边的权重w
i,j
,δ为权重温度系数;
27.d-6)根据用户的历史签到序列创建兴趣点之间的邻接矩阵完成兴趣点全局图的构建,w
*
中的元素为第i个兴趣点pi到第j个兴趣点pj的边缘归一化权重。
28.优选的,步骤d-5)中δ取值为0.5。
29.进一步的,步骤d-6)中通过公式计算得到边缘归一化权重式中softmax(
·
)为softmax函数。
30.优选的,步骤e)中以0.9的概率随机删除邻接矩阵w
*
中的元素。
31.进一步的,步骤f)包括如下步骤:
32.f-1)在编码器graphencoder中通过公式e
(k)
=mlp
(k)
(w
*e(k-1)
)计算得到邻接矩阵w
*
经过k次节点更新后的兴趣点特征表示e
(k)
,式中k={1,2},mlp
(k)
(
·
)为多层感知机,e
(k-1)
为经过k-1次节点更新后的兴趣点特征表示,当k取值为1时,e
(0)
为所有兴趣点的原始特征向量e,通过公式计算得到增强视图邻接矩阵经过k次节点更新后的兴趣点特征表示通过公式计算得到增强视图邻接矩阵经过k次节点更新后的兴趣点特征表示
33.f-2)在编码器graphencoder中通过公式g=concat(sum(e
(l)
)l=0,1,2)计算得到邻接矩阵w
*
的兴趣点局部图特征向量g,式中concat(
·
)为拼接操作,sum(
·
)为求和操作,e
(l)
为邻接矩阵w
*
经过第l次节点更新后的兴趣点特征表示,通过公式计算得到增强视图邻接矩阵的兴趣点局部图特征向量gq,为增强视图邻接矩阵经过第l次节点更新后的兴趣点特征表示,通过公式计算得到增强视图邻接矩阵的兴趣点局部图特征向量gk,为增强视图邻接矩阵经过第l次节点更新后的兴趣点特征表示。
34.进一步的,步骤g)中通过公式计算得到infonce损失函数loss
pre
,式中t为转置,g
k,
为一个训练批次兴趣点局部图特征向量gq对应生成的兴趣点局部图特征向量gk,g
k,i
为全部训练批次兴趣点局部图特征向量gq对应生成的兴趣点局部图特征向量gk,0≤i≤k,k为一个迭代周期内的训练批次大小,τ为温度系数,τ取值为0.7,利用infonce损失函数loss
pre
迭代100次训练图编码器模型graphencoder。
35.进一步的,步骤l)包括如下步骤:
36.l-1)通过公式
[0037][0038]
计算得到注意力分数式中ω、ω1、ω2、ω3、ω4为可训练权重向量,t为转
置;
[0039]
l-2)通过公式计算得到兴趣点的特征嵌入向量相加生产短期兴趣值式中softmax(
·
)为softmax函数。
[0040]
进一步的,还包括通过公式计算得到损失函数loss,式中num为所有候选兴趣点的总数,y
candi
取值为0或1,y
candi
取值为0表示为负采样,y
candi
取值为1表示为正采样,利用损失函数loss通过二元交叉熵损失迭代500次训练步骤n)中的模型。
[0041]
本发明的有益效果是:使用自监督的图对比学习的方法预训练兴趣点特征表示向量,深度学习兴趣点之间的流行度访问行为模式,训练图编码器模型,使兴趣点特征向量融合空间关联性和交互行为关联性。同时在下游推荐任务中将目标用户个人的兴趣点交互图通过预训练中训练好的图编码器模型学习用户个人的长期行为模式作为长期兴趣,以达到个性化的目的。创新注意力公式,将短期的时间和空间特性考量到注意力机制中,学习用户的短期兴趣,大大的提高推荐任务的准确率。相交其他方法,本方法首次使用图对比学习来捕获兴趣点之间的客观行为趋势,并学习用户长期的行为模式图并把图特征表示向量作为长期兴趣,充分考量了兴趣点推荐中的短期访问兴趣点对推荐任务的影响,大大提高了模型的泛化能力和推荐召回率,实现根据兴趣个性化解决用户出行需求的目的。
附图说明
[0042]
图1为本发明的下游推荐任务的框架图。
具体实施方式
[0043]
下面结合附图1对本发明做进一步说明。
[0044]
用户在一定区域内的行动轨迹和行为模式是有迹可循的,并且在现实生活中,在一定区域内的不同用户的行为模式和行动轨迹也具有高度重合性。因此对兴趣访问点(下文简称兴趣点)根据空间坐标和访问流行度进行图结构的建模可以学习出兴趣点之间的一种普遍的行为模式,且用于单个用户时可以将这种行为模式视为用户的长期兴趣。
[0045]
本发明共分为预训练和下游推荐任务两大阶段。在预训练阶段,初始化全体兴趣点的特征表示向量,将所有兴趣点根据全体用户的签到行为构建兴趣点-兴趣点访问全局流图(下文简称兴趣点全局图),并对其进行基于访问量和空间特征的图同构网络编码器建模,使用自监督的图对比学习方法学习兴趣点之间的全局访问模式以获取兴趣点的初级特征表示。在下游推荐任务阶段,首先将待推荐目标用户的历史访问兴趣点构建成兴趣点-兴趣点用户访问子图,以预训练阶段训练完成的图同构网络编码器对目标用户的长期兴趣行为模式进行学习,生成目标用户的长期兴趣。其次将待推荐当天目标用户访问的兴趣点通过时空片注意力机制学习短期兴趣。最后,将目标用户的长期兴趣与短期兴趣输入到预测层,输出最终的推荐结果。
[0046]
具体的,一种基于自监督学习和图神经网络的个性化兴趣推荐方法,包括如下步
骤:
[0047]
(1)获取数据
[0048]
a)gowalla这个数据集包括用户与兴趣点的交互记录、交互时间和兴趣点的坐标(经纬度),因此从gowalla这个数据集读取兴趣点集合和用户集合其中pi为第i个兴趣点,1≤i≤n
p
,n
p
为兴趣点集合p的长度,uo为第o个用户,1≤o≤nu,nu为用户集合u的长度。
[0049]
b)根据第o个用户的签到时间生成用户o在第b天的日签到序列用户o的全部签到序列全部用户的全部签到序列其中其中为第o个用户待推荐的那一天,为第o个用户第b天的第z个签到点,为第o个用户第b天的第z个签到点,为用户o在第b天的日签到序列的长度。每一个签到点c都由(u,p,t)三元组组成,u是某一个用户,p是某一个兴趣点,t(t=1,2,...,24)是一天24小时中某一个签到小时。
[0050]
(2)对比学习预训练
[0051]
c)将兴趣点集合p中的每一个兴趣点初始化为原始特征向量e,将所有兴趣点的原始特征向量表示为ei为第i个兴趣点pi的原始特征向量,1≤i≤n
p
。e的长度为兴趣点集合p的长度。
[0052]
d)将全部用户的全部签到序列根据签入签出记录构建兴趣点全局图,兴趣点全局图为有向图,根据签到序列中两个兴趣点之间的访问先后关系构成边,边缘权重由边连接的两个兴趣点先后访问次数和兴趣点之间的距离影响,该兴趣点全局图由用户的历史签到序列创建兴趣点之间的邻接矩阵构成,为实数空间,该兴趣点全局图的节点为兴趣点集合p中全部兴趣点。
[0053]
e)采用图对比学习常用的随机删边法,随机删除邻接矩阵w
*
中的元素,分别获得增强视图邻接矩阵及
[0054]
f)创建一个基于图同构网络的图编码器模型graphencoder,将兴趣点的原始特征向量e及邻接矩阵w
*
输入到图编码器模型graphencoder中,输出得到邻接矩阵w
*
的兴趣点局部图特征向量g,为了为了获取兴趣点之间全局访问模式,我们需要采用自监督对比学习的方式通过两个增强视图和学习兴趣点全局图各个节点的局部图结构。将两个增强视图邻接矩阵输入到graphencoder中,分别获得图特征表示向量,获得增强视图邻接矩阵
的兴趣点局部图特征向量gq、增强视图邻接矩阵的兴趣点局部图特征向量gk。
[0055]
g)计算infonce损失函数loss
pre
,利用损失函数loss
pre
迭代训练图编码器模型graphencoder,通过反向传播更新兴趣点的原始特征向量e,得到带有空间特征和流行度特征的兴趣点特征向量e
*

[0056]
(3)下游推荐任务
[0057]
h)在兴趣点集合p中创建用户历史交互兴趣点的掩码数组,已交互的为1,未交互的为0,根据掩码数组从邻接矩阵w
*
中提取出第o个用户的邻接矩阵
[0058]
i)将带有空间特征和流行度特征的兴趣点特征向量e
*
及第o个用户的邻接矩阵输入到步骤g)中训练完成的图编码器模型graphencoder中,输出得到第o个用户的交互子图特征表示
[0059]
j)通过公式计算得到用户的长期兴趣值mlp(
·
)为多层感知机。
[0060]
k)获取第o个用户要预测当天t的签到序列按顺序从带有空间特征和流行度特征的兴趣点特征向量e
*
中取出该签到序列里访问的兴趣点的特征向量,按顺序依次标记为其中hm为预测当天t的第m个访问的兴趣点的特征向量,量,为用户o在预测当天t的日签到序列的长度,签到时间对短期兴趣有直观的影响,如果一个签到发生在上午6点,那对于晚上8点的签到影响就微乎其微了,这里我们将一天时间分成24个时间片,计算当天第m个访问的兴趣点与最后第个访问的兴趣点之间的时间片差值,并将差值编码为64维向量定义一个时间片偏移嵌入矩阵矩阵长度为当前序列长度其中为qm为第m个兴趣点对应的时间片偏移嵌入向量,另一方面,预测当天访问的兴趣点之间的空间距离也会影响到用户的短期兴趣,距离近的影响度会变高,这里通过半正矢公式计算当天第m个访问的兴趣点与最后第个访问的兴趣点之间的距离,将距离值编码为64维向量定义一个空间偏移嵌入矩阵矩阵长度为当前序列长度其中
为posm为第m个访问的兴趣点对应的空间偏移嵌入向量,
[0061]
l)使用softmax计算注意力权重,将所有兴趣点的特征嵌入向量相加生产短期兴趣值
[0062]
(4)预测层
[0063]
m)通过公式计算得到用户兴趣向量式中和均为注意力权重。此时长期兴趣、短期兴趣和兴趣点高阶空间信息的潜在特征向量都为64维。
[0064]
n)通过公式计算得到候选兴趣点在预测当天t被签到的概率p
candi
,完成模型的建立。
[0065]
(5)推荐
[0066]
o)将概率p
candi
中最大的前10个兴趣点推荐给用户。
[0067]
使用自监督的图对比学习的方法预训练兴趣点特征表示向量,深度学习兴趣点之间的流行度访问行为模式,训练图编码器模型,使兴趣点特征向量融合空间关联性和交互行为关联性。同时在下游推荐任务中将目标用户个人的兴趣点交互图通过预训练中训练好的图编码器模型学习用户个人的长期行为模式作为长期兴趣,以达到个性化的目的。创新注意力公式,将短期的时间和空间特性考量到注意力机制中,学习用户的短期兴趣,大大的提高推荐任务的准确率。相交其他方法,本方法首次使用图对比学习来捕获兴趣点之间的客观行为趋势,并学习用户长期的行为模式图并把图特征表示向量作为长期兴趣,充分考量了兴趣点推荐中的短期访问兴趣点对推荐任务的影响,大大提高了模型的泛化能力和推荐召回率,实现根据兴趣个性化解决用户出行需求的目的。
[0068]
实施例1:
[0069]
步骤c)中将兴趣点集合p中的每一个兴趣点初始化为64维的原始特征向量e。
[0070]
实施例2:
[0071]
步骤d)包括如下步骤:
[0072]
d-1)通常情况下,节点的影响度为长尾分布,部分节点的具有稠密的连通性(即很受欢迎),因此需要使用对数函数对其频率进行处理。因此,通过公式s
i,j
=ln(freq
i,j
)计算得到第i个兴趣点pi到第j个兴趣点pj的权重影响度s
i,j
,式中freq
i,j
为第i个兴趣点pi到第j个兴趣点pj访问的次数。
[0073]
d-2)通过公式计算得到归一化后的影响度s
i,min
为第i个兴趣点pi的出度边的最小值,s
i,max
为第i个兴趣点pi的出度边的最大值。
[0074]
d-3)通过haversine(半正矢公式)d
i,j
=haversine(loni,lati,lonj,latj)计算得到第i个兴趣点pi与第j个兴趣点pj之间的距离d
i,j
,式中haversine(
·
)为半正矢函数,loni为第i个兴趣点pi的经度,lati为第i个兴趣点pi的纬度,lonj为第j个兴趣点pj的经度,latj为第j个兴趣点pj的纬度。
[0075]
d-4)由于距离影响也呈现长尾分布,因此使用sigmoid进行标准化得到标准化的
空间影响度,具体的,通过公式计算得到标准化的空间影响度式中sigmoid(
·
)为sigmoid函数。
[0076]
d-5)通过公式计算得到第i个兴趣点pi到第j个兴趣点pj边的权重w
i,j
,δ为权重温度系数。
[0077]
d-6)根据用户的历史签到序列创建兴趣点之间的邻接矩阵完成兴趣点全局图的构建,w
*
中的元素为第i个兴趣点pi到第j个兴趣点pj的边缘归一化权重。
[0078]
实施例3:
[0079]
步骤d-5)中δ取值为0.5。
[0080]
实施例4:
[0081]
步骤d-6)中通过公式计算得到边缘归一化权重式中softmax(
·
)为softmax函数。
[0082]
实施例5:
[0083]
步骤e)中以0.9的概率随机删除邻接矩阵w
*
中的元素。
[0084]
实施例6:
[0085]
步骤f)包括如下步骤:
[0086]
f-1)在编码器graphencoder中通过公式e
(k)
=mlp
(k)
(w
*e(k-1)
)计算得到邻接矩阵w
*
经过k次节点更新后的兴趣点特征表示e
(k)
,式中k={1,2},mlp
(k)
(
·
)为多层感知机,e
(k-1)
为经过k-1次节点更新后的兴趣点特征表示,当k取值为1时,e
(0)
为所有兴趣点的原始特征向量e,通过公式计算得到增强视图邻接矩阵经过k次节点更新后的兴趣点特征表示通过公式计算得到增强视图邻接矩阵经过k次节点更新后的兴趣点特征表示
[0087]
f-2)在编码器graphencoder中通过公式g=concat(sum(e
(l)
)|l=0,1,2)计算得到邻接矩阵w
*
的兴趣点局部图特征向量g,式中concat(
·
)为拼接操作,sum(
·
)为求和操作,e
(l)
为邻接矩阵w
*
经过第l次节点更新后的兴趣点特征表示,通过公式计算得到增强视图邻接矩阵的兴趣点局部图特征向量gq,为增强视图邻接矩阵经过第l次节点更新后的兴趣点特征表示,通过公式计算得到增强视图邻接矩阵的兴趣点局部图特征向量gk,为增强视图邻接矩阵经过第l次节点更新后的兴趣点特征表示。
[0088]
实施例7:
[0089]
步骤g)中通过公式计算得到infonce损失函数loss
pre
,式中t为转置,g
k,
为一个训练批次兴趣点局部图特征向量gq对应生成的兴趣点局
部图特征向量gk,g
k,i
为全部训练批次兴趣点局部图特征向量gq对应生成的兴趣点局部图特征向量gk,0≤i≤k,k为一个迭代周期内的训练批次大小,τ为温度系数,τ取值为0.7,利用infonce损失函数loss
pre
迭代100次训练图编码器模型graphencoder。
[0090]
实施例8:
[0091]
步骤l)包括如下步骤:
[0092]
l-1)通过公式
[0093][0094]
计算得到注意力分数式中ω、ω1、ω2、ω3、ω4为可训练权重向量,t为转置。
[0095]
l-2)通过公式计算得到兴趣点的特征嵌入向量相加生产短期兴趣值式中softmax(
·
)为softmax函数。
[0096]
实施例9:
[0097]
还包括通过公式计算得到损失函数loss,式中num为所有候选兴趣点的总数,y
candi
取值为0或1,y
candi
取值为0表示为负采样,y
candi
取值为1表示为正采样,利用损失函数loss通过二元交叉熵损失迭代500次训练步骤n)中的模型。
[0098]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献