一种基于图神经网络的异常用户检测方法与流程

未命名 10-19 阅读:94 评论:0


1.本技术涉及一种异常用户检测方法,更具体地说,是涉及一种基于图神经网络的异常用户检测方法。


背景技术:

2.这些非法金融组织在进行资金吸纳和资金运作时,离不开银行账户间的资金交易。银行交易明细是司法实践中认定非法组织成员的重要证据种类之一。传统的异常组织用户检测方法主要包括两种方式:一种方式是采用人工分析检测的方式,这种方式不仅耗费人力物力,同时对于复杂、多样、海量的业务数据,也无法及时准确地得出检测结果。另一种方式是通过不同工具分别执行采集、分析、检测,对复杂事件进行处理时,响应速度慢,对检测结果存在一定的延时性。
3.目前,基于图神经网络的异常用户检测取得了很大进展。这类方法通常是通过账户的交易记录完成金融交易网络的构建,然后训练图神经网络学习图中节点的嵌入表示,最后基于节点嵌入向量和已有标签信息实现对异常用户的检测。然而,金融交易网络中大多数是正常用户,只有极少数是异常用户,属于类别不平衡问题。现有的图神经网络模型主要是基于不同类的节点样本大致平衡的假设,在不平衡数据集上性能不佳。
4.graphsmote将smote(synthetic minority oversampling technique)方法迁移到图结构数据上,在图神经网络的中间嵌入空间使用smote技术进行采样。graphmixup改进了graphsmote框架,首先,使用解纠缠学习获取节点的高阶语义表示,其次,使用自监督学习改善边缘预测器的性能,最后,使用强化混合机制来确定上采样的尺度。gatsmote提出了一个基于注意力机制和图的同质性假设的边缘生成器以适应符合小世界组织的大脑神经网络。graphsmote的两种变体graphmixup和gatsmote,在不平衡数据集上都取得了不错的性能,但是在获取节点表示时都没有考虑复杂图上边的潜在关系,影响了节点嵌入的质量。在进行合成节点生成时随机选择少数类节点进行合成,影响合成节点的质量,进而影响下游分类任务的性能。
5.论文exploring edge disentanglement for node classification着重于边缘层次的自动解缠,并设计了三个自监督任务来指导训练过程,提出了一个结合gnn(graph neural network)模型的边缘解纠缠学习模块disgnn,通过边缘解纠缠学习出节点表示,再对节点表示进行分类。该方法注重挖掘边的潜在意义,分类效果获得显著提升。


技术实现要素:

6.为解决上述技术问题,本技术提出了一种不平衡数据集下基于图神经网络的异常用户检测方法,包括:步骤一:对原始数据集进行数据预处理,构建金融交易网络g,即原图;步骤二:使用主动学习选择少数类节点,并生成合成节点;步骤三:对合成节点集和原有图节点进行边缘预测,形成增广图;
步骤四:在增广图上进行节点分类器的训练,然后使用训练结束的节点分类器对测试集进行分类。
7.优选地,步骤一中,金融交易网络;其中,是金融交易网络的节点集合,是金融交易网络的邻接矩阵,是账户的特征向量矩阵。
8.优选地,步骤二中,选择少数类节点是指,在主动学习每次迭代时,选择b个异常账户,具体步骤:(1)计算增广图中异常账户的kl散度;(2)选取kl散度最大的前b个账户。
9.优选地,步骤二中,还包括使用边缘解纠缠学习在金融交易网络上训练,得到账户的嵌入向量矩阵。
10.优选地,步骤二中,将每次迭代选取的b个账户添加到中,进行合成节点生成:中,进行合成节点生成:其中,为从选择的异常账户,为的嵌入向量表示;是除以外的账户,即,为的嵌入向量表示;为最近的异常账户,为的嵌入向量表示;为生成的合成节点,为的嵌入向量表示;为随机变量,在[0,1]范围内服从均匀分布。
[0011]
优选地,步骤三中,使用边缘预测器,预测合成节点与原有图节点之间的边,得到,表示第i次迭代时,合成节点与原有图节点之间存在的边;若合成节点与原有图节点之间无边,则为0;若合成节点之间与原有图节点之间存在边,则为1;若合成节点之间与原有图节点之间具有存在边的概率,则在(0,1)之间;表示第i次迭代时合成节点的数目,表示增广图中所有节点的数目。
[0012]
优选地,步骤三中,边缘预测是通过基于注意力机制实现,还可以通过两个假设实现:(1)通过保持局部拓扑来进一步调节边缘生成器,(2)边缘生成器通过为合成节点引入新边来减小类内节点间平均最短路径的长度。
[0013]
优选地,具体指,将金融交易网络作为disgnn网络层的输入,得到一组解纠缠边分布;构建q+1个通道,获取解纠缠的邻接矩阵集;使用边缘恢复、标签一致性、通道差异性三个自监督任务指导训练过程,最终得到账户的嵌入向量矩阵。
[0014]
优选地,基于注意力机制方法中,注意力系数计算公式为:
式中,节点v和u在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的加权连接;表示在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的权重矩阵;表示第t步消息传递时节点v的嵌入向量;表示第t步消息传递时节点u的嵌入向量;第i次迭代时,第t步消息传递迭代中,第k步注意力机制时单层前馈神经网络的权重矩阵。
[0015]
优选地,步骤四,使用节点分类器对训练集中的账户进行标签预测,公式为:进行标签预测,公式为:其中,节点的嵌入向量,节点的嵌入向量,,表示第步消息传递时的参数矩阵,。
[0016]
本发明的有益效果:能够用于不平衡的银行账户数据集中,进行异常用户检测,通过使用基于边缘解纠缠学习出高质量的节点特征表示,以及使用主动学习和合成采样技术改善数据集的不平衡性,提高异常用户的检测性能。
附图说明
[0017]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]
图1为本发明基于图神经网络的异常用户检测方法的流程图。
具体实施方式
[0019]
为了使本技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0020]
现对本技术实施例提供的基于图神经网络的异常用户检测方法进行说明。
[0021]
请参阅图1,本技术提出了一种不平衡数据集下基于图神经网络的异常用户检测方法,包括以下步骤:步骤一:对原始的银行账户信息进行数据预处理,构建金融交易网络,即原图。
[0022]
首先,读取原始的银行账户信息作为原始数据集,原始数据集包括银行账户的开户信息表和账户交易明细表。其中,开户信息表中包括以下信息项:账户开户名称、开户人证件号码、交易卡号、账号开户时间、开户网点、账户余额以及账户当前状态等。账户交易明细表中包含以下信息项:姓名、帐号、交易日期、交易金额、交易后余额、摘要、交易行号、对方账号、对方名称等。
[0023]
随后,进行数据预处理,流程如下:(1)统计交易流水数据所涉及的卡号集合:,表示一共有n个账号,对应金融交易网络中的n个节点。
[0024]
(2)读取开户信息表和账户交易明细表。获取每个账户的证件号码、交易卡号、开户时间(处理为时间戳)、开户网点、账户余额、账户可用余额以及账户支出次数(向其他账户转账的次数)和账户收入次数(收到其他账户的转账的次数),这8条信息项构成每个节点的特征向量。在实际应用过程中,可根据数据集情况对节点的特征向量进行更改,即。故所有节点的特征向量矩阵为,,即是一个()的向量矩阵。
[0025]
(3)清洗交易记录中交易账号项和对方账号项位数与标准银行卡账号位数不一致的记录。
[0026]
(4)整合任意两个账户之间交易的多条记录,将二者之间的交易金额进行累加,然后清洗交易金额小于100元的交易记录。
[0027]
(5)根据卡号集合和经过清洗的交易记录构建金融交易网络的邻接矩阵,即是一个()的向量矩阵;当账户之间存在交易记录时,说明之间存在连接,此时,否则,。
[0028]
最终构建金融交易网络,其中,是金融交易网络的节点集合,表示所有银行账户;是金融交易网络的邻接矩阵,表示账户之间是否进行过交易;是账户的特征向量矩阵。
[0029]
步骤二:使用边缘解纠缠学习在金融交易网络上训练,得到账户的嵌入向量矩阵,为所有账户的高级特征表示组成的矩阵。
[0030]
将金融交易网络作为disgnn网络层的输入,得到一组解纠缠边分布。构建q+1个通道,获取解纠缠的邻接矩阵集。使用边缘恢复、标签一致性、通道差异性三个自监督任务指导训练过程,最终得到账户的嵌入向量矩阵,为所有账户的高级特征表示组成的矩阵。账户在嵌入空间的向量矩阵,融合了各个账户间的关联信息,更有利于节点的分类效果。
[0031]
步骤三:使用主动学习对少数类节点进行选择。
[0032]
在不失一般性的情况下,在主动学习每次迭代时,从异常账户中选择b个账户的批处理设置,并添加中,获得采样的异常账户集合。迭代次数为,其中,是过采样尺度,是异常账户的数量。对于过采样尺度可以借鉴graphmix框架中的强化混合机制进行自适应更新。
[0033]
初始时,采样的异常账户集合为空集,即;代表选择出的异常账户集合,后续每次迭代选择的异常账户以及生成的异常账户都会添加到里。
[0034]
具体地,b个账户的选择:对于第i次迭代,计算增广图中异常账户的kl散度,选取
kl散度最大的前b个账户。其中,增广图,增广图是在原图(金融交易网络g)的基础上,添加了合成节点。初始时,。
[0035]
kl散度是基于节点的标签预测分布及其邻居的标签分布,衡量测量节点和它的邻居的不同程度,这可以更好地识别增广图中的决策边界。异常账户的kl散度计算公式如下:其中,kl() =σlog(/);表示异常账户对应的kl散度值,示异常账户的邻居节点集合,表示异常账户的某一邻居节点,表示账户的标签值。
[0036]
步骤四:将本次迭代选取的b个账户添加到中,进行合成节点生成。
[0037]
合成节点通过对嵌入空间中的异常账户及其最邻近中的异常账户进行插值生成。每次从选择一个异常账户,设异常账户的嵌入向量表示为,其邻近异常账户的嵌入向量表示为。因为,均为异常账户,二者对应的标签,其中,是账户集合除节点以外的账户,即。使用公式(1)查找异常账户的最近异常账户,其嵌入向量表示为;使用公式(2)生成合成节点的嵌入向量表示。
[0038][0038]
其中,为随机变量,在[0,1]范围内服从均匀分布。由于节点和属于异常账户,且彼此非常接近,因此生成的合成节点也应该属于异常账户。
[0039]
根据实际情况,确定合成节点数量。对于第一次迭代,生成的合成节点集合为,对应的节点特征集合为,对应的标签集合为。
[0040]
对于第i次迭代,生成的合成节点集合为,对应的节点特征集合为,对应的标签集合为,并将新生成的合成节点集合添加到,标签集合添加到。
[0041]
步骤五:使用边缘预测器,预测合成节点与原有图节点之间的边。得到,将添加到边集,其中,表示第i次迭代时合成节点与原有图节点之间存在的边,若合成节点与原有图节点之间无边,则为0;若合成节点之间与原有图节点之间存在边,则为1;若合成节点之间与原有图节点之间具有存在边的概率,
则在(0,1)之间;表示第i次迭代时合成节点的数目,表示增广图中所有节点的数目。
[0042]
进行下一轮迭代,直至采样节点数目达到。
[0043]
步骤六:对合成节点集和原有图节点的关系进行注意力机制的边缘预测,形成一个增广图。为得到增广图的全边连接,并调节边缘连接。
[0044]
根据上一步骤生成合成节点,得到第i次迭代生成的合成节点集合,对应的节点特征集合为,对应的标签集合为。然而,新生成的合成节点集合与原始账户集合之间没有任何连接。因此需要训练一个边缘预测器以建模边缘连接。
[0045]
使用gat (graph attention networks)中的自注意力机制来计算加权边连接的值。在第t步消息传递迭代时,合成节点的嵌入向量集合为,其中,,即为原始账户和合成账户的增广集。对于第k个注意力机制,遵循gat:使用一个参数为权值矩阵的线性变换,以及一个参数为权值向量来计算注意系数的单层前馈神经网络。注意力系数计算公式为:式中,节点v和u在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的加权连接;表示在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的权重矩阵;表示第t步消息传递时节点v的嵌入向量;表示第t步消息传递时节点u的嵌入向量;第i次迭代时,第t步消息传递迭代中,第k步注意力机制时单层前馈神经网络的权重矩阵。
[0046]
采用多头注意来稳定学习过程,为节点之间的加权边连接生成多个值。使用一个线性层来融合每个注意机制的注意系数,公式如下所示:式中,为第t步消息传递迭代的融合边连接,和是权重向量和偏置向量。其中,还需要用原始邻接矩阵a增广(即),才能得到增广图的全边连接。在第t步消息传递迭代时,可以使用增宽的嵌入向量和邻接矩阵作为节点分类器的输入。
[0047]
除了注意力系数,另外使用两个假设来进一步调节边缘连接。第一个假设是通过保持局部拓扑来进一步调节边缘生成器,其定义如下:假设1.相似的账户往往通过关系边连接。
[0048]
根据图论中的同质性,节点倾向于与类似节点连接,所以相似的账户往往通过关
系边连接,可以通过计算账户之间的相似性确定账户之间的连接。账户之间的相似度可以根据其嵌入向量之间的余弦相似度来计算。如果任意两个账户之间相似度高,则它们之间很可能存在联系;否则,这些账户可能会断开连接。这个假设在数学上的公式表述如下:式中,是第i次迭代的账户相似性,是人为设置的参数值,是第t步迭代时的边连接,count(
·
)是计算非零元素个数的函数,是第t迭代时节点u和节点v的边连接,、是增广图中任意两个账户对应的嵌入表示;cos(
·
)是增广图中任意两个嵌入向量的余弦相似度的函数,其取值范围为0 ~ 1,此处将余弦相似度归一化为(

1,1)。最小化局部化等价于最大化边缘连接和余弦相似度的乘积。
[0049]
假设2.边缘生成器通过为合成节点引入新边来减小类内节点间平均最短路径的长度。
[0050]
相似的节点是由相同的类标签决定的,所以节点倾向于与共享相同标签的其他节点连接。故异常账户倾向于与异常账户进行连接。与graphsmote相比,在合成账户和原始账户中的异常账户之间添加了一条额外的边。
[0051]
由于银行账户交易网络具有“小世界”现象,路径长度较短,所以引入这些新边,减少增广图的平均短路径长度。
[0052]
将增广图中节点的标签进行one-hot编码,得到对于其中任意两个账户q,r,其标签为。在数学上,假设2的公式表述为:其中,是增强邻接矩阵,是n个矩阵的矩阵乘积,中的元素表示从一个节点q到另一个节点r的无向行走次数,损失值表示图的平均距离长度最短。
[0053]
本次迭代完成后进行下一轮迭代,直至采样节点数目达到。
[0054]
步骤六:在增广图上进行节点分类器的训练,然后使用训练结束的节点分类器对测试集进行分类。
[0055]
将增广图划分为训练集和测试集,其中,和分别表示训练集中节点的集合及其相应的标签,和分别表示测试集中节点的集合及其相应的标签。
[0056]
使用节点分类器对训练集中的账户进行标签预测,进行标签预测,其中,节点的嵌入向量,
节点的嵌入向量,,表示第步消息传递时的参数矩阵,。
[0057]
上述节点分类器在更新的标记集上使用交叉熵损失优化:其中,表示节点分类器在训练集上训练的损失,表示账户的真实标签,是节点分类器预测的标签。
[0058]
综合考虑,完整的训练目标实现如下:其中,表示完整的损失,表示节点分类器在训练集上训练的损失,是解纠缠学习的损失函数,p表示迭代次数,是边缘预测预测任务中两个损失函数的权重。
[0059]
使用训练好的节点分类器对无标签账户集(测试集)进行分类,即可得到异常用户检测结果。
[0060]
具体实施例输入某银行账户数据集d,进行异常用户检测:步骤一:对d进行数据预处理工作,构造用户集合v,用户的特征向量集合x,邻接矩阵a,最终获得金融交易网络。
[0061]
步骤二:使用解纠缠学习,得到节点的嵌入表示h。
[0062]
步骤三:使用主动学习对少数类节点进行选择。
[0063]
步骤四:对步骤三所选择的节点使用smote技术生成合成节点。
[0064]
步骤五:对合成节点和原有图节点的关系进行预测,形成一个增广图。
[0065]
步骤六:在增广图上划分出训练集和测试集,并在训练集上进行节点分类器的训练,然后使用训练出的节点分类器对测试集进行分类。
[0066]
至此,实施例执行完毕。
[0067]
本发明提出了一种不平衡数据集下基于图神经网络的异常用户检测方法,首先根据提供的银行账户交易信息进行数据预处理,构建出金融交易网络,应用边缘解纠缠表示学习获取高质量的节点特征表示,然后使用主动学习选择有价值的少数类节点,并应用smote采样技术生成合成节点,再使用注意力机制对生成的节点和原始图的节点的边缘进行预测,最后使用节点分类器进行分类,识别出异常用户。本发明能够用于不平衡的银行账户数据集中,进行异常用户检测,通过使用基于边缘解纠缠学习出高质量的节点特征表示,以及使用主动学习和合成采样技术改善数据集的不平衡性,提高异常用户的检测性能。
[0068]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种基于图神经网络的异常用户检测方法,其特征在于,包括:步骤一:对原始数据集进行数据预处理,构建金融交易网络g,即原图;步骤二:使用主动学习选择少数类节点,并生成合成节点;步骤三:对合成节点集和原有图节点进行边缘预测,形成增广图;步骤四:在增广图上进行节点分类器的训练,然后使用训练结束的节点分类器对测试集进行分类。2.如权利要求1所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤一中,所述金融交易网络;其中,是金融交易网络的节点集合,是金融交易网络的邻接矩阵,是账户的特征向量矩阵。3.如权利要求2所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤二中,所述选择少数类节点是指,在主动学习每次迭代时,选择b个异常账户,具体步骤:(1)计算增广图中异常账户的kl散度;(2)选取kl散度最大的前b个账户。4.如权利要求3所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤二中,还包括使用边缘解纠缠学习在金融交易网络上训练,得到账户的嵌入向量矩阵。5.如权利要求3所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤二中,将每次迭代选取的b个账户添加到中,进行合成节点生成:中,进行合成节点生成:其中,为从选择的异常账户,为的嵌入向量表示;是除以外的账户,即,为的嵌入向量表示;为最近的异常账户,为的嵌入向量表示;为生成的合成节点,为的嵌入向量表示;为随机变量,在[0,1]范围内服从均匀分布。6.如权利要求1所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤三中,使用边缘预测器,预测合成节点与原有图节点之间的边,得到,表示第i次迭代时,合成节点与原有图节点之间存在的边;若合成节点与原有图节点之间无边,则为0;若合成节点之间与原有图节点之间存在边,则为1;若合成节点之间与原有图节点之间具有存在边的概率,则在(0,1)之间;表示第i次迭代时合成节点的数目,表示增广图中所有节点的数目。7.如权利要求6所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤三中,所述边缘预测是通过基于注意力机制实现,还可以通过两个假设实现:(1)通过保持局部拓扑来进一步调节边缘生成器;(2)边缘生成器通过为合成节点引入新边来减小类内节
点间平均最短路径的长度。8.如权利要求7所述的基于图神经网络的异常用户检测方法,其特征在于:具体指,将金融交易网络作为disgnn网络层的输入,得到一组解纠缠边分布;构建q+1个通道,获取解纠缠的邻接矩阵集;使用边缘恢复、标签一致性、通道差异性三个自监督任务指导训练过程,最终得到账户的嵌入向量矩阵。9.如权利要求8所述的基于图神经网络的异常用户检测方法,其特征在于:所述基于注意力机制方法中,注意力系数计算公式为:式中,节点v和u在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的加权连接;表示在第i次迭代时,第t步消息传递迭代中,第k步注意力机制时的权重矩阵;表示第t步消息传递时节点v的嵌入向量;表示第t步消息传递时节点u的嵌入向量;第i次迭代时,第t步消息传递迭代中,第k步注意力机制时单层前馈神经网络的权重矩阵。10.如权利要求9所述的基于图神经网络的异常用户检测方法,其特征在于:所述步骤四,使用节点分类器对训练集中的账户进行标签预测,公式为:进行标签预测,公式为:其中,节点的嵌入向量,节点的嵌入向量,,表示第步消息传递时的参数矩阵,。

技术总结
本申请提供了一种基于图神经网络的异常用户检测方法;其解决了现有的图神经网络不能用于不平衡的银行账户数据集检测的技术问题。主要包括:步骤一:对原始数据集进行数据预处理,构建金融交易网络G;步骤二:使用主动学习选择少数类节点,并生成合成节点;步骤三:对合成节点集和原有图节点进行边缘预测,形成增广图;步骤四:在增广图上进行节点分类器的训练,然后使用训练结束的节点分类器对测试集进行分类。本发明可广泛应用于异常用户检测技术领域。术领域。术领域。


技术研发人员:王巍 孙紫文 魏玉良 王孝朋 王佰玲
受保护的技术使用者:威海天之卫网络空间安全科技有限公司
技术研发日:2023.05.19
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐