基于图神经网络的时序数据自适应可信采样方法与流程

文档序号:30960747发布日期:2022-07-30 13:07阅读:161来源:国知局
基于图神经网络的时序数据自适应可信采样方法与流程

1.本发明属于深度学习领域,具体涉及一种基于图神经网络的时序数据自适应可信采样方法。


背景技术:

2.图神经网络(gnn)是针对图这一数据结构的深度学习模型,它在多项基于图的机器学习任务当中表现出色,并且具有较高的可解释性,近年来已成为一种广泛应用的图表示学习方法。例如,gnn可以从用户项目交互网络中学习得到有效的用户和项目表示用于推荐系统。gnn在广义上是指以图结构为输入的所有神经网络,其核心思想是学习一个映射,将图结构中的节点及其邻居节点的特征映射为该节点的低维隐特征表示,这就涉及到对节点进行采样。
3.在现有的很多方法中,采用均匀采样可能会忽略掉重要的邻居节点,这可能使的图的一些重要结构特征在采样中被剔除掉,图神经网络的数据源也就无法得到保障。此外,这些方法大都没有考虑结构本身的时序特性,并且忽略了图神经网络中间层输出的浅层结构特征,这都使得图神经网络的应用效果受到了一定程度的限制。
4.近年来,针对图神经网络在推荐系统中的应用研究成果颇多,但其中不少方法仍然存在下列问题:1.针对邻居节点的均匀采样方法可能会忽略掉重要邻居提供的信息以及次邻居节点等其他节点的重要信息;2.没有为评分预测提供合适的可学习参数,限制了图神经网络的性能表现;3.没有邻居结构存在的时序特性;4忽略了图神经网络中间层输出的浅层结构特征。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于图神经网络的时序数据自适应可信采样方法,以解决现有技术中的至少一个缺陷。
6.为实现上述目的及其他相关目的,本发明提供一种基于图神经网络的时序数据自适应可信采样方法,包括:
7.步骤1:基于时序数据构造图神经网络g;其中,在图神经网络g中,相同类型的节点之间没有边,不同类型的节点之间的边存在权重;
8.步骤2:提取每一个节点的两层树拓扑连接结构;
9.步骤3:计算所有同类型节点之间的相似度;
10.步骤4:利用所述时序数据的归一化时间戳信息,计算所有根节点的两层树拓扑连接结构中相连叶子节点的可信度;
11.步骤5:若某一根节点的所有叶子节点的可信度都小于等于阈值,按照相似度高低,选取与所述某一根节点相似的节点的叶子节点并入到所述某一根节点的叶子节点中,并返回步骤4,直到所有根节点的可信度都高于阈值;
12.步骤6:从根节点的叶子节点的数据中按照可信度的比例随机采样,将采样结果作
为状态信息;其中,所述可信度的比例指叶子节点的可信度与该叶子节点所属的根节点的可信度的比例,根节点的可信度等于该根节点下所有叶子节点的可信度的和;
13.步骤7:将所述状态信息输入到图神经网络实现状态的更新和聚合,以输出最终的节点表示;
14.步骤8:将图神经网络g生成的根节点和叶子节点表示进行拼接,利用注意力机制实现评分预测,并结合真实评分计算出mse损失。
15.可选的,计算所有同类型节点之间的相似度包括:
[0016][0017]
其中,ii、ij分别为同类型的节点i和节点j交互的历史记录向量。
[0018]
可选的,所述时序数据的归一化时间戳信息t
ij
为:在根节点i的时间尺度上对叶子节点j发生的时刻进行归一化。
[0019]
可选的,所述可信度计算如下:对于根节点i与节点i的叶子节点j相连的评分的可信度c
i,j
为:
[0020][0021]
其中,di为根节点i的度;λ为调节因子,取值范围为[0,1)。
[0022]
可选的,根节点i的叶子节点j的数据的采样概率p(i|j)为:
[0023]
其中ni为根节点i所有叶子节点j的集合,c
i,j
为可信度。
[0024]
可选的,所述的状态更新和聚合为分别对不用类型的节点进行状态更新和聚合;
[0025]
对于第l层节点i聚合所有的叶子节点j的状态表示的聚合公式为:
[0026][0027]
l-1表示第l层节点,k∈ni,为根节点i所有叶子节点j的集合对应的编号;
[0028]
对于第l层节点i利用聚合的状态表示更新得到最终的节点表示:
[0029][0030]
其中,||为拼接操作,w
(l)
和w'
(l)
均为待学习的参数矩阵,σ(
·
)为sigmoid激活函数,为状态信息输入,l∈[0,l]为层数,l为待定参数。
[0031]
可选的,利用注意力机制实现节点i和节点i的叶子节点j之间的评分为:
[0032]
其中softmax为归一化指数函数,w1、w2、wr为待学习的参数矩阵。
[0033]
可选的,所述的mse损失为:
[0034]
其中,||e
train
||为训练集e
train
的大小,r
i,j
为根节点i和根节点i的叶子节点j的评分。
[0035]
如上所述,本发明的一种基于图神经网络的时序数据自适应可信采样方法,具有以下有益效果:
[0036]
本发明通过时间序列的归一化时间戳信息分析图神经网络邻居节点的可信度,同时根据可信度利用自适应调节采样节点的拓扑结构,确保了节点的可信度,以便更好的对数据特征进行准确的采样,能够实现对时间序列的准确预测。
附图说明
[0037]
图1为本发明一实施例一种基于图神经网络的时序数据自适应可信采样方法的流程图;
[0038]
图2为本发明另一实施例一种基于图神经网络的时序数据自适应可信采样方法的流程图。
具体实施方式
[0039]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0040]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0041]
如图1所示,本技术一实施例提供一种基于图神经网络的时序数据自适应可信采样方法,包括以下步骤:
[0042]
步骤1:基于时序数据构造图神经网络g;其中,在图神经网络g中,相同类型的节点之间没有边,不同类型的节点之间的边存在权重;
[0043]
步骤2:分析图神经网络g的拓扑结构,提取每一个节点的两层树拓扑连接结构;
[0044]
步骤3:通过相似度分析,计算所有同类型节点之间的相似度;
[0045]
步骤4:利用所述时序数据的归一化时间戳信息,计算所有根节点的两层树拓扑连接结构中相连叶子节点的可信度;
[0046]
步骤5:若某一根节点的所有叶子节点的可信度都小于等于阈值,按照相似度高低,选取与所述某一根节点相似的节点的叶子节点并入到所述某一根节点的叶子节点中,并返回步骤4,直到所有根节点的可信度都高于阈值;
[0047]
步骤6:从根节点的叶子节点的数据中按照可信度的比例随机采样,将采样结果作为状态信息;其中,所述可信度的比例指叶子节点的可信度与该叶子节点所属的根节点的可信度的比例,根节点的可信度等于该根节点下所有叶子节点的可信度的和;
[0048]
步骤7:将所述状态信息输入到图神经网络实现状态的更新和聚合,以输出最终的节点表示;
[0049]
步骤8:将图神经网络g生成的根节点和叶子节点表示进行拼接,利用注意力机制
实现评分预测,并结合真实评分计算出mse损失。
[0050]
其中,图神经网络g中相同类型的节点之间没有边,不同类型的节点(用户节点和项目节点)之间的边可存在权重,该权重为用户评分。
[0051]
在步骤1中,数据结构包含时间、类型(用户或项目)、连接关系、数值关系等。
[0052]
在一实施例中,所述的相似度分析采用余弦相似度公式计算:
[0053][0054]
其中,ii、ij分别为同类型的根节点i和叶子节点j交互的历史记录向量。
[0055]
在一实施例中,所述的时序数据的归一化时间戳信息为:用户节点对项目节点的归一化时间戳信息t
ij
,即在根节点i的时间尺度上对叶子节点j发生的时刻进行归一化;
[0056]
在一实施例中,所述的可信度计算如下:对于根节点i,与之叶子节点j相连的评分的可信度为,即对于根节点i与节点i的叶子节点j相连的评分的可信度c
i,j

[0057][0058]
其中,di为根节点i的度;λ为调节因子,取值范围为[0,1),通过对图神经网络训练得到。
[0059]
在一实施例中,所述的阈值根据步骤8计算的mse损失进行调整,初始时刻可以随机给定;新并入的叶子节点的评分与相似节点和该叶子节点原有的评分一致。
[0060]
在步骤6中,所述的根节点i的采样概率公式为:
[0061]
其中ni为根节点i所有叶子节点j的集合。
[0062]
在步骤7中,所述的状态更新和聚合为分别对不用类型的节点进行状态更新和聚合。
[0063]
对于第l层节点i聚合所有的叶子节点j的状态表示的聚合公式为:
[0064][0065]
对于第l层节点i利用聚合的状态表示更新得到节点的最终表示:
[0066][0067]
其中,||为拼接操作,w
(l)
和w'
(l)
均为待学习的参数矩阵,σ(
·
)为sigmoid激活函数,为状态信息输入,l∈[0,l]为层数,l为待定参数。
[0068]
在步骤8中,所述的利用注意力机制实现节点i和它的叶子节点j之间的评分预测为:
[0069]
其中softmax为归一化指数函数,w1、w2、wr为待学习的参数矩阵。
[0070]
所述的mse损失为:
[0071]
其中,||e
train
||为训练集e
train
的大小,r
i,j
为节点i和它的叶子节点j的评分。
[0072]
在一具体实施例中,使用了如下六个由亚马逊提供的公开数据集:
[0073]
1.book:用户和线上书籍的交互网络,选取的子图包含6788854个用户节点,33734个项目节点以及1000000条评分。
[0074]
2.cd:用户和线上音乐专辑的交互网络,选取的子图包含77172个用户节点,11402个项目节点以及500000条评分。
[0075]
3.food:用户和食品的交互网络,包含768438个用户节点,166049个项目节点以及1297156条评分。
[0076]
4.movie:用户和电影的交互网络,包含2088619个用户节点,201298个项目节点以及4607047条评分。
[0077]
5.music:用户和音乐单曲的交互网络,包含478235个用户节点,266414个项目节点以及836006条评分。
[0078]
6.toy:用户和玩具的交互网络,包含1342911个用户节点,327705个项目节点以及2252771条评分。
[0079]
各个数据集的均按照训练集80%,测试集20%进行划分,得到结果如下:
[0080]
采样策略bookcdfoodmoviemusictoy均匀采样1.25531.09211.56540.89220.91451.3857基于时间采样1.22581.07901.52740.86020.92411.3915基于度采样1.23731.09191.51410.87360.93171.3062基于评分可信度采样1.18241.02501.48740.84520.90481.3274
[0081]
可见,基于评分可信度采样较优。
[0082]
进一步,可在此基础上采用自适应方式,提升效果。
[0083]
在一实施例中,本技术还提供一种基于图神经网络的时序数据自适应可信采样装置,包括:
[0084]
图构造模块,用于基于时序数据构造图神经网络g;其中,在图神经网络g中,相同类型的节点之间没有边,不同类型的节点之间的边存在权重;
[0085]
提取模块,用于分析图神经网络g的拓扑结构,提取每一个节点的两层树拓扑连接结构;
[0086]
相似度计算模块,用于通过相似度分析,计算所有同类型节点之间的相似度;
[0087]
可信度计算模块,用于利用所述时序数据的归一化时间戳信息,计算所有根节点的两层树拓扑连接结构中相连叶子节点的可信度;
[0088]
节点并入模块,用于在某一根节点的所有叶子节点的可信度都小于等于阈值时,按照相似度高低,选取与所述某一根节点相似的节点的叶子节点并入到所述某一根节点的叶子节点中,直到所有根节点的可信度都高于阈值;
[0089]
采样模块,用于从根节点的叶子节点的数据中按照可信度的比例随机采样,将采样结果作为状态信息;其中,所述可信度的比例指叶子节点的可信度与该叶子节点所属的根节点的可信度的比例,根节点的可信度等于该根节点下所有叶子节点的可信度的和;
[0090]
更新聚合模块,用于将所述状态信息输入到图神经网络实现状态的更新和聚合,以输出最终的节点表示;
[0091]
损失计算模块,用于将图神经网络g生成的节点表示进行拼接,利用注意力机制实现评分预测,并结合真实评分计算出mse损失。
[0092]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0093]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0094]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0095]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0096]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0097]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0098]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁
碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器((ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0099]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1