一种基于集成学习和主动学习的图异常检测方法和系统
未命名
07-27
阅读:281
评论:0
:
1.本发明涉及一种基于集成学习和主动学习的图异常检测方法和系统,属于计算机人工智能领域。
背景技术:
2.图上的节点异常检测是一种广泛应用于图分析领域的技术,它旨在通过对节点和边的特征分析,发现图中存在的异常点或异常边。相比于传统的异常检测方法,基于图的异常检测方法可以更好地应对复杂网络结构等各种挑战。
3.在现实生活中,图上的异常检测具有广泛的应用前景。以电子商务欺诈检测为例,电子商务平台上的卖家数量庞大,但其中也存在一定数量的虚假卖家,他们通过各种手段骗取消费者的钱财。针对这个问题,基于图的异常检测算法可以分析卖家的属性和连接关系,识别出那些有欺诈行为的卖家。此外,在社交网络识别、金融风险管理、医疗诊断等领域,图上异常检测的技术也被广泛应用。
4.尽管在过去几十年里,已经发展了很多图上的异常检测方法,但是现有的方法仍然存在一些局限性。例如,许多方法需要大量标记数据来训练模型,这会增加人力成本和时间成本;而也有许多方法需要手动选择特征或调整参数,这会使算法的泛化性能受到限制。同时,现有的图异常检测方法往往在不同的数据集上表现相差很大,对于一些数据集,现有的图异常检测算法可能会表现良好,而在另一些数据集上表现较差。这可能会导致算法的应用范围受到限制,并且需要耗费大量时间和精力来进行算法调优和参数选择。
技术实现要素:
5.针对现有技术的以上问题和难点,本发明提出了一种基于集成学习和主动学习的图异常检测方法和系统。
6.本发明提出了一种基于集成学习和主动学习的图异常检测方法,它使用集成学习和主动学习的方式学习一个映射,将几种图异常检测模型进行集成,从而在不同的数据集上都能够达到较好的效果。这种方法可以更好地应对不同领域、不同规模、不同结构的数据,从而提高了算法的泛化性和鲁棒性。
7.一种基于集成学习和主动学习的图异常检测方法,包括如下步骤:
8.s1:采集数据并对数据进行预处理
9.s1-1:确定数据集的范围和类别:首先需要确定所需的数据集的范围和类别,例如需要采集哪些类型的图数据、需要采集多少数据等。
10.s1-2:数据获取:在获取数据时,可以使用各种不同的数据接口来获取数据。
11.s1-3:数据清洗:获取的原始数据可能包含缺失、重复或错误的信息。因此需要对原始数据进行清洗和处理,例如填补缺失值、去除重复数据以及删除错误数据等。对于图数据,还需要检查并修正节点和结构信息的错误。
12.s1-4:特征提取:在将图数据用于机器学习或深度学习模型之前,需要将其转换为
特征向量。特征提取的方法应根据具体任务而定,例如特征嵌入等。
13.s2:选择几个不同的图异常检测模型,并对每个模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;
14.s3:利用主动学习的策略,从未标记数据中选择一些样本进行标记,并将其加入到训练集中;
15.s4:使用训练集来训练集成模型,集成模型会使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;
16.s5:重复步骤s3至s4,直到达到预设的迭代次数;
17.s6:输出最终节点的异常得分。
18.优选地,集成模型的优化目标,可以形式化如公式(1):
[0019][0020][0021]
其中,公式中的θ
*
是要求解的集成模型的模型参数;函数f(
·
)代表着要求解的集成模型θ是它的参数;[z1,z2...zk]代表一个k个不同的图异常检测模型;k是每个不同模型的编号;xi和yi分别代表着节点vi的属性和标签;d
l
是指已经通过查询拥有标签的那一部分训练数据集,训练中使用的节点都是来自d
l
;公式中使用的损失函数是交叉熵损失函数;而损失函数是每个图异常检测算法zk各自定义的自监督损失函数,它们会根据自己各自的算法流程来训练,其中a代表图结构,x代表节点属性。
[0022]
而对于集成模型的函数f具体的有公式(2):
[0023][0024]
其中,ek(xi)代表每个图异常检测模型[z1,z2...zk]对节点xi的节点嵌入向量;g(
·
)是参数为θ的权重预测函数,它会使用节点嵌入向量ek(xi)计算出一个权重;sk(xi)是图异常检测模型zk对节点xi的异常打分,它会和对应的权重相乘。然后一共k个权重和异常打分的乘积的和将作为当前节点的最终异常打分。
[0025]
优选地,s1中采用的数据为真实采集的数据集或者现成的数据集。
[0026]
优选地,s2中选择几个不同的基于图自动编码器的图异常检测模型,具体为:
[0027]
dominant模型,这是一种基于深度学习的属性图异常检测算法,它由一个共享的图卷积编码器、一个结构重建解码器和一个属性重建解码器组成,它可以同时利用图的结构和属性信息来识别异常节点;
[0028]
anomalydae模型,这是一种双自编码器的属性图异常检测算法,它由一个结构自编码器和一个属性自编码器组成。它可以同时学习节点的嵌入和属性的嵌入,并在隐空间中进行异常检测。结构自编码器使用图注意力层来捕捉图的拓扑信息,属性自编码器使用两个非线性特征变换来压缩和重建节点的属性信息;
[0029]
conad模型,这是一种对比属性网络异常检测算法,它由一个共享的图卷积编码器、一个结构重建解码器和一个属性重建解码器组成。它可以同时学习节点的结构和属性
特征,并在隐空间中进行对比学习,从而区分正常节点和异常节点。
[0030]
优选地,s3中采用的主动学习策略中包含节点中心性策略,具体为:
[0031]
节点中心性是一种用于衡量网络中节点重要性的指标,它基于节点在网络结构中的位置和角色,衡量节点对网络的控制和影响能力。在社交网络、信息网络、交通网络等实际应用中,节点中心性具有广泛的应用。
[0032]
常用的节点中心性指标包括:
[0033]
1.度中心性:度中心性是指节点的度数,即与该节点相连的边的数量。度中心性较高的节点在网络中具有较大的影响力。
[0034]
2.接近中心性:接近中心性是指节点与其他节点的平均距离的倒数。接近中心性较高的节点在网络中具有较大的影响力,能够更快地传播信息。
[0035]
3.介数中心性:介数中心性是指节点在所有最短路径上出现的频率。介数中心性较高的节点在网络中扮演着重要的中介角色,能够连接不同的社区和集群。
[0036]
4.特征向量中心性:特征向量中心性是指节点在网络中的邻居节点中具有较高中心性的节点数量。特征向量中心性较高的节点在网络中具有较大的影响力。
[0037]
5.pagerank中心性:是由google公司创始人拉里
·
佩奇(larry page)和谢尔盖
·
布林(sergey brin)提出的一种中心性指标,用于衡量网页在搜索引擎排名中的重要性。pagerank中心性是基于节点之间的链接关系来计算的,它认为一个网页的重要性取决于其他页面链接到它的数量和质量。
[0038]
常用的节点中心性指标都能被使用在本发明所提出的方法中,可以根据数据集不同的特点来选择合适的节点中心性指标来使用。计算出所有节点的节点中心性,并在每次查询中选择节点中心性值最大的节点。因为那些在图上最为中心的节点往往更加能代表整个图的特点,查询这些节点的实际标签往往能对模型最终效果带来较大的提升。
[0039]
s3中采用的主动学习策略中包含不确定度策略,具体为:
[0040]
根据每个节点在各个图异常检测算法中获得的异常得分,选择那些在多个图异常检测算法中整体具有高度不确定性的节点进行标注,每个节点整体的不确定度计算如公式(3)所示:
[0041][0042]
其中,φ
uc
(vi)表示节点vi的不确定度;pk(vi)是由第k个图异常检测算法zk给出的关于节点vi的属于异常的概率,在这里pk(vi)=sk(xi)。这样可以算出整体上所有图异常检测算法在节点vi上的不确定度,可以体现出图异常检测算法对当前节点是否属于异常的不确定程度。通过公式(3)计算出每个节点的不确定度,并在每次查询时选择未标记节点中不确定度最大的节点。因为查询那些不确定度较高的节点的实际标签往往能对模型最终效果带来较大的提升。
[0043]
s3中采用的主动学习策略中包含节点传播可疑度策略,具体为:
[0044]
节点的传播可疑度分数如公式(4)所示:
[0045]
φ
su
(vi)=de
p
(vi)-r
p
(vi)
ꢀꢀ
(4)
[0046]
其中,r
p
(vi)是节点的传播可信度,它是由节点的初始可信度r0(v)在图上传播而
来,对于所有查询过标签的节点v∈d
l
定义初始可信度为1,所有未查询过标签的节点v∈du的初始可信度定为0。在图结构上对节点的可信度进行总共p轮的标签传播的过程如公式(5)所示:
[0047]rp
(v)=a
p
r0(v)
ꢀꢀ
(5)
[0048]
de
p
(vi)是节点的传播争议度分数,它由节点的初始争议度分数de0(v)在图上进行有注意力的传播获得。对于每个节点,定义它们的初始争议度分数为:de0(vi)=max(s(vi))-min(s(vi))。公式中的s(vi)=[s1(xi),s2(xi)...sk(xi)]是每个图异常检测模型[z1,z2...zk]对于当前节点vi的异常打分,这些打分中max和min之间的差值能体现出不同的图异常检测算法对当前节点判断的争议程度,因此定义为节点的初始争议度分数。然后,在图结构上对节点的争议度进行传播,传播的过程采用注意力机制,总共传播p轮,具体公式(6)如下:
[0049][0050]
其中α
ij
是节点vi和邻居节点vj之间的注意力分数如公式(7):
[0051][0052]
其中,ek(xi)和ek(xj)是节点vi和vj由第k个图异常检测算法给出的节点嵌入向量。通过计算他们之间的余弦相似度来获得他们之间的相关性系数e
ij
。
[0053]
这样便得到了每个节点的最终可信度r
p
(v)以及争议度de
p
(v),把二者的差值定义为节点的传播可疑度,并在每次查询时选择未标记节点du中传播可疑度分数最大的节点,因为查询最可疑的节点的实际标签往往能对模型最终效果带来较大的提升。
[0054]
s3中采用的主动学习策略中包含节点区分度策略,具体为:
[0055]
根据节点的嵌入特征,选择与其他剩余节点相距最远的那一个节点,每个节点的区分度如公式(8)所示:
[0056][0057]
其中,φ
di
(vi;t)代表节点vi在当前第t轮的区分度;而d(ek(xi),ek(xj))代表节点vi和节点vj在第k个图异常检测算法中节点嵌入向量之间的欧式距离;d
l
代表当前t轮已经获得标签的节点集。通过公式(8)计算出每个节点vi∈du与d
l
中节点的整体区分度,并选择其中区分度最大的节点。因为当一直使用一些固定的策略来查询节点时,会使得被查询的节点趋向于同质化,造成信息的冗余,因此需要查询更多不同的节点来获得更多的信息,以此来获得模型性能提升。
[0058]
优选地,s3中在每一个轮次t中都会通过以上的每一种主动学习策略各自挑选出一个查询节点来查询,然后加入到已获得查询的节点集d
l
中。
[0059]
优选地,在s4中集成学习被作为一种将多个基本模型进行融合的方法,得到比基本的图异常检测模型更准确和稳定的最终预测结果。集成学习的具体流程为:
[0060]
使用主动学习获得的带有标签信息的图数据作为训练集来训练集成模型,使其能够在未见过的数据上实现较好的异常检测效果。其中,集成模型由多个基本图异常检测模型组成,每个图异常检测模型都会关注到图上不同类型的异常。通过将这些基本模型的输出进行融合,集成模型可以利用每个节点的节点嵌入以及异常打分来得到最终预测结果。
[0061]
优选地,对于s4中集成模型常用的解决方法有简单平均、加权平均、投票法、堆叠等。在本专利中,选择使用可学习的集成模型,可以更好的获取数据节点的特征与异常打分之间的关系。通过为每个基本模型分配相应的权重,且这些权重可以由集成模型自动学习得到,集成模型可以更加高效地使用不同基本模型之间的信息,并且不会受到手动调整权重所带来的主观性和局限性的影响。具体的,由公式(2)可以将集成模型的优化目标公式(1)写为:
[0062][0063]
其中,g(ek(xi);θ)是一个用于预测图异常检测模型重要性权重预测模块,这个权重预测模块的输入是图神经网络模型对节点的嵌入,输出是对应的图异常检测模型训练获得的异常得分在最终的集成模型中所占的权重。权重预测模块的参数θ是由模型最终给出的节点异常得分和节点的实际标签之间的交叉熵损失函数来更新的。因此集成模型的训练目标就是为了找到一个最优的参数θ,它可以很好的用不同图异常检测模型给出的节点嵌入预测出模型权重,然后使用这个权重对不同图异常检测模型给出的节点异常打分进行加权求和,获得优于所有图异常检测模型的结果。例如,对于s2中选取的三个模型,会分别得到三个节点的嵌入,这三个嵌入会一起作为权重预测模块的输入,权重预测模块会使用三个节点的嵌入计算获得三个权重,它们分别会乘上对应的图异常检测模型给出的异常得分,然后全部相加获得最终的节点异常得分。
[0064]
本发明还涉及一种基于集成学习和主动学习的图异常检测系统,包括:
[0065]
数据采集和预处理模块,用于采集数据并对数据进行预处理;
[0066]
节点异常分数和嵌入向量计算模块,选择不同的图异常检测模型,并对每个图异常检测模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;
[0067]
数据标记模块,利用主动学习的策略,从未标记数据中选择一些样本进行标记,并将其加入到训练集中;
[0068]
节点最终异常得分计算模块,使用训练集来训练集成模型,集成模型使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;
[0069]
迭代模块,重复步骤s3至s4,直到达到预设的迭代次数;
[0070]
结果输出模块,用于输出最终节点的异常得分。
[0071]
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的方法。
[0072]
本发明具有如下优点:
[0073]
(1)通过主动学习的方式,可以有效地利用少量标记数据来提高异常检测的准确性;
[0074]
(2)通过集成学习的方式,可以有效地融合不同类型的图异常检测模型,从而利用
它们各自的优势以捕捉图数据中各类复杂信息;
[0075]
(3)通过本发明提出的方法,可以在不同领域、不同规模、不同结构的图数据上都能够达到较好的异常检测效果,从而提高了算法的泛化性和鲁棒性。
附图说明:
[0076]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0077]
图1是本发明方法的总体流程图。
[0078]
图2是本发明系统的结构图。
具体实施方式:
[0079]
下面将参照附图更详细地描述本公开的示例性实施例。下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
[0080]
实施例1
[0081]
一种基于集成学习和主动学习的图异常检测方法,包括如下步骤:
[0082]
s1:选择数据集
[0083]
本实施例采用了开源的torch_geometric库中提供的现成的数据集,该数据集包含了多个不同领域、不同规模、不同结构的属性图数据。例如,其中一个数据集是cora数据集,它是一个引文网络,每个节点代表一篇论文,每条边代表两篇论文之间的引用关系。每个节点有1433维的特征向量,表示论文中出现的单词。每个节点也有一个类别标签,表示论文所属的领域。具体为:
[0084]
planetoid数据库,它包含三个citation网络数据集:cora,citeseer和pubmed,这些数据集是基于引文网络构建的,用于节点分类任务,每个节点表示一个文档,并且具有一个文档的特征向量和标签,边缘表示引用关系,即一个文档引用另一个文档;
[0085]
weibo数据集,微博数据集是一个包含有关中国社交媒体平台“微博”的数据集。数据集包含来自2012年至2016年的微博文章、用户、关系和标签数据。它可用于社交网络分析、情感分析、用户行为分析等领域的研究;
[0086]
reddit数据集,reddit数据集是一个包含了reddit社区发布的公共内容的数据集,包括文章、评论、用户和社区信息。该数据集可用于进行文本分析、社交网络分析、情感分析、主题建模等领域的研究;
[0087]
disney数据集,迪士尼数据集是一个包含有关迪士尼电影的数据集,其中包括了电影、电视节目、角色和声优等信息。这个数据集可以用于分析迪士尼电影的特点、观众群体和市场策略等方面的研究;
[0088]
books数据集,图书数据集是一个包含各种类型图书信息的数据集,包括书名、作者、出版日期、isbn等信息。这个数据集可以用于推荐系统、图书分类、销售分析等领域的研
究。
[0089]
dgraph数据集,dgraph数据集是一个包含了图形数据库dgraph的数据集,其中包括了社交网络、食品营养、短语学习等不同类型的数据。这个数据集可以用于研究图形数据库的性能、存储和查询等方面的问题。
[0090]
s1-1:插入异常节点
[0091]
由于挑选的数据集本身并不含有异常节点,因此要在图数据中插入异常节点。插入异常节点的方法选择使用开源的python库pygod中实现的gen_contextual_outliers和gen_structural_outliers方法。
[0092]
其中,gen_contextual_outliers是生成上下文异常的方法,它的做法是在属性图数据中随机选择一些节点,然后修改它们的属性特征,使其与其他节点的属性特征差异较大,从而形成上下文异常。举例地来说,对于实例中使用的数据集cora,首先随机选择70个节点作为属性扰动候选节点。对于每个选定的节点vi,从数据集中再次随机选择另外10个节点,通过最大化节点欧几里得距离,选择其属性与节点vi偏离最大的节点vj。然后,将节点vi的属性xi更改为xj,这样就获得了70个异常节点。
[0093]
其中,gen_structural_outliers是生成结构异常的方法,它的做法是在图数据中随机选择一些节点,然后增加它们之间的边缘连接,使其形成一个完全连通的团,从而形成结构异常。举例来说,对于实例中使用的数据集cora,首先从网络中随机选取10个节点,然后将这些节点完全连接起来,然后将集团中的所有10个节点视为离群值。然后迭代地重复这个过程,直到产生一定数量的7个团,从而产生的结构异常值的总数为70。
[0094]
s2:选择几个不同的属性图异常检测算法并进行训练
[0095]
选择几个不同的属性图异常检测算法,例如在开源的python库pygod中实现的dominant模型、anomalydae模型、conad模型等。对每个模型进行初始化和训练,并计算出在属性图数据上每个节点的异常分数,以及获得每个模型对每个节点的嵌入向量。
[0096]
s3:计算主动学习得分
[0097]
使用主动学习的策略,基于上一步计算获得的异常分数以及每个节点的嵌入向量,计算这一轮每个节点的四种主动学习策略的得分,四种主动学习策略分别是:节点中心性策略、不确定度策略、传播可疑度策略、节点区分度策略。从未标记过的数据中根据每一种主动学习策略分别挑选一个样本然后获取它们的标签,并将它们加入到训练集中,以提高集成模型的性能。
[0098]
s4:训练神经网络
[0099]
使用通过主动学习获得的训练集,来训练一个集成模型。集成模型的输入是每个训练集中的节点在多个属性图异常检测算法中的节点嵌入以及节点异常打分,集成模型的输出是每个节点的最终异常得分。
[0100]
s5:迭代
[0101]
重复步骤s3至s4,直到达到预设的迭代次数或者满足停止条件。
[0102]
s6:输出结果
[0103]
输出图深度学习模型得到的节点的最终异常得分。
[0104]
实施例2
[0105]
本实施例涉及应用本发明的一种基于集成学习和主动学习的图异常检测方法的
电子商务欺诈检测方法,包括如下步骤:
[0106]
s1:采集数据并对数据进行预处理;
[0107]
具体为:在一种电子商务平台的应用场景下,以信用卡交易为例,图异常检测的任务为检测出用户交易记录中的欺诈交易,属于节点分类任务。各交易平台以各种方式获取到每个用户和每笔交易的相关数据,提取其中的用户作为节点集合v,提取用户之间的交易关系作为连边集合e,提取用户的各类信息作为特征x,构建了图网络g(v,e,x)。
[0108]
s2:选择几个不同的图异常检测模型,并对每个模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;
[0109]
s3:利用主动学习的策略,从未标记的用户中选择一些可疑的样本进行标记,并将其加入到训练集中;
[0110]
所选取的主动学习策略具体包括以下四种:节点中心性、节点不确定度、传播可疑度、节点区分度。
[0111]
其中,节点中心性可以采用各自不同的节点中心性指标以适应不同的图结构类型,如:度中心性、接近中心性、介数中心性、特征向量中心性、pagerank中心性。
[0112]
其中,节点不确定度公式(3)为:
[0113][0114]
pk(vi)是由第k个图异常检测算法zk给出的关于节点vi的属于异常的概率,其含义与节点vi的异常打分相同,因此在这里pk(vi)就是节点vi在第k个图异常检测算法zk中的异常得分sk(xi)。
[0115]
其中,节点传播可疑度公式(4)为:
[0116]
φ
su
(vi)=de
p
(vi)-r
p
(vi)
ꢀꢀ
(4)
[0117]rp
(v)是节点的可信度以及de
p
(v)是节点的争议度。节点可信度公式是:
[0118]rp
(v)=a
p
r0(v)
ꢀꢀ
(5)
[0119]
对于所有查询过标签的节点v∈d
l
定义初始可信度r0(v)为1,所有未查询过标签的节点v∈du的初始可信度r0(v)定为0。而a是图结构的邻接矩阵。节点争议度公式是:
[0120][0121]
α
ij
是节点vi和邻居节点vj之间的注意力分数:之间的注意力分数:ek(xi)和ek(xj)是节点vi和vj由第k个图异常检测算法给出的节点嵌入向量,通过计算他们之间的余弦相似度来获得他们之间的相关性系数e
ij
。而节点的初始争议度分数为:de0(vi)=max(s(vi))-min(s(vi))。其中max(s(vi))和min(s(vi))是每个图异常检测模型[z1,z2...zk]对于当前节点vi的异常打分s(vi)=[s1(xi),s2(xi)...sk(xi)]中的最大值和最小值。
[0122]
其中,节点区分度公式(8)为:
[0123]
[0124]
d(ek(xj),ek(xj))代表节点vi和节点vj在第k个图异常检测算法中节点嵌入向量之间的欧式距离,且每个未查询的节点只会和已经查询过标签的节点集d
l
中的节点计算欧式距离。
[0125]
对于上述的四种主动学习策略,每次会将所使用的每一种主动学习策略挑选的节点都加入查询列表。反复经过多轮的查询来构建集成学习的训练集。
[0126]
s4:使用训练集来训练集成模型,集成模型会使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;
[0127]
具体为:集成模型的输入是前面步骤s2中获得的每个训练集中的节点在多个图异常检测模型中的嵌入和对节点的异常打分,集成模型的输出是节点的异常打分。
[0128]
s5:重复步骤s3至s4,直到达到预设的迭代次数;
[0129]
s6:输出最终节点的异常得分,实现电子商务欺诈检测;
[0130]
对于被模型赋予较高异常得分的节点往往意味着该节点代表的信用卡用户有较大的可能是一个信用卡欺诈用户,应该进一步的调查他的信用卡使用行为。
[0131]
实施例3
[0132]
参照图2,本实施例涉及本发明还涉及一种基于集成学习和主动学习的图异常检测系统,包括:
[0133]
数据采集和预处理模块,用于采集数据并对数据进行预处理;
[0134]
节点异常分数和嵌入向量计算模块,选择不同的图异常检测模型,并对每个图异常检测模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;
[0135]
数据标记模块,利用主动学习的策略,从未标记数据中选择一些样本进行标记,并将其加入到训练集中;
[0136]
节点最终异常得分计算模块,使用训练集来训练集成模型,集成模型使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;
[0137]
迭代模块,重复步骤s3至s4,直到达到预设的迭代次数;
[0138]
结果输出模块,用于输出最终节点的异常得分。
[0139]
实施例4
[0140]
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现实施例1的方法。
技术特征:
1.一种基于集成学习和主动学习的图异常检测方法,其特征在于,包括以下步骤:s1:采集数据并对数据进行预处理s2:选择不同的图异常检测模型,并对每个图异常检测模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;s3:利用主动学习的策略,从未标记数据中选择一些样本进行标记,并将其加入到训练集中;s4:使用训练集来训练集成模型,集成模型使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;s5:重复步骤s3至s4,直到达到预设的迭代次数;s6:输出最终节点的异常得分。2.根据权利要求1所述的基于主动学习和集成学习的图异常检测方法的具体步骤,其特征在于:步骤s4所述的集成模型的优化目标,能形式化如公式(1):特征在于:步骤s4所述的集成模型的优化目标,能形式化如公式(1):其中,公式中的θ
*
是要求解的集成模型的模型参数;函数f(
·
)代表着要求解的集成模型θ是它的参数;[z1,z2…
z
k
]代表一个k个不同的图异常检测模型;k是每个不同模型的编号;x
i
和y
i
分别代表着节点v
i
的属性和标签;d
l
是指已经通过查询拥有标签的那一部分训练数据集,训练中使用的节点都是来自d
l
;公式中使用的损失函数是交叉熵损失函数;而损失函数是每个图异常检测算法z
k
各自定义的自监督损失函数,它们会根据自己各自的算法流程来训练,其中a代表图结构,x代表节点属性;对于集成模型的函数f具体的有公式(2):其中,e
k
(x
i
)代表每个图异常检测模型[z1,z2…
z
k
]对节点x
i
的节点嵌入向量;g(
·
)是参数为θ的权重预测函数,它会使用节点嵌入向量e
k
(x
i
)计算出一个权重;s
k
(x
i
)是图异常检测模型z
k
对节点x
i
的异常打分,和对应的权重相乘;然后一共k个权重和异常打分的乘积的和将作为当前节点的最终异常打分。3.根据权利要求1所述的基于主动学习和集成学习的图异常检测方法的具体步骤,其特征在于:所述步骤s2中,通过对所选择的图异常检测模型进行训练,不仅要获得每个节点的异常得分,还要获得每个节点的节点嵌入用于接下来的步骤。4.据权利要求1所述的基于集成学习和主动学习的图异常检测方法的具体步骤,其特征在于,步骤s3中所使用的主动学习策略包括以下一种或多种:节点中心性、节点不确定度、传播可疑度、节点区分度。5.据权利要求3所述的方法,其特征在于,所述的节点中心性可以采用各自不同的节点中心性指标以适应不同的图结构类型,如:度中心性、接近中心性、介数中心性、特征向量中
心性、pagerank中心性。6.据权利要求3所述的方法,其特征在于,所述的节点不确定度公式(3)为:其中p
k
(v
i
)是由第k个图异常检测算法z
k
给出的关于节点v
i
的属于异常的概率,其含义与节点v
i
的异常打分相同,因此在这里p
k
(v
i
)就是节点v
i
在第k个图异常检测算法z
k
中的异常得分s
k
(x
i
)。所述的节点传播可疑度公式(4)为:φ
su
(v
i
)=de
p
(v
i
)-r
p
(v
i
)
ꢀꢀꢀꢀꢀꢀ
(4)其中r
p
(v
i
)是节点的可信度以及de
p
(v
i
)是节点的争议度。所述的节点可信度公式是:r
p
(v)=a
p
r0(v)
ꢀꢀꢀꢀꢀꢀ
(5)其中,对于所有查询过标签的节点v∈d
l
定义初始可信度r0(v)为1,所有未查询过标签的节点v∈d
u
的初始可信度r0(v)定为0;而a是图结构的邻接矩阵。所述的节点争议度公式是:其中α
ij
是节点v
i
和邻居节点v
j
之间的注意力分数:之间的注意力分数:其中,e
k
(x
i
)和e
k
(x
j
)是节点v
i
和v
j
由第k个图异常检测算法给出的节点嵌入向量,通过计算他们之间的余弦相似度来获得他们之间的相关性系数ei
j
;而节点的初始争议度分数为:de0(v
i
)=max(s(v
i
))-min(s(v
i
))。其中max(s(v
i
))和min(s(v
i
))是每个图异常检测模型[z1,z2…
z
k
]对于当前节点v
i
的异常打分s(v
i
)=[s1(x
i
),s2(x
i
)
…
s
k
(x
i
)]中的最大值和最小值。所述的节点区分度公式(8)为:其中d(e
k
(x
i
),e
k
(x
j
))代表节点v
i
和节点v
j
在第k个图异常检测算法中节点嵌入向量之间的欧式距离,且每个未查询的节点只会和已经查询过标签的节点集d
l
中的节点计算欧式距离。7.据权利1所述的基于集成学习和主动学习的图异常检测方法的具体步骤,其特征在于,步骤s3中每次会将所使用的每一种主动学习策略挑选的节点都加入查询列表。8.根据权利要求1所述的基于集成学习和主动学习的图异常检测方法,其特征在于,步骤s4中的集成模型的输入是前面步骤s2中获得的每个训练集中的节点在多个图异常检测模型中的嵌入和对节点的异常打分,集成模型的输出是节点的异常打分。9.一种基于集成学习和主动学习的图异常检测系统,其特征在于,包括:
数据采集和预处理模块,用于采集数据并对数据进行预处理;节点异常分数和嵌入向量计算模块,选择不同的图异常检测模型,并对每个图异常检测模型进行训练,计算出在图数据上每个节点的异常分数以及每个节点的嵌入向量;数据标记模块,利用主动学习的策略,从未标记数据中选择一些样本进行标记,并将其加入到训练集中;节点最终异常得分计算模块,使用训练集来训练集成模型,集成模型使用节点的异常分数和节点的嵌入向量计算获得每个节点的最终异常得分;迭代模块,重复步骤s3至s4,直到达到预设的迭代次数;结果输出模块,用于输出最终节点的异常得分。10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的方法。
技术总结
一种基于主动学习和集成学习的图异常检测方法和系统,包括:采集数据并预处理,选择不同的图异常检测模型,并对每个模型进行训练,计算出图数据上每个节点的异常分数及嵌入向量;利用主动学习的策略,根据数据特征,从未标记数据中选择一些样本进行标记,并将其加入到集成模型的训练集中;使用主动学习获得的训练集,来训练集成模型,集成模型的输入是节点在多个图异常检测模型中的节点嵌入和节点异常打分。集成模型包含一个权重预测模块,给出每个图异常检测模型的集成权重,这个权重最终会乘上对应图异常检测模型输出的异常得分,然后求和获得每个节点的最终得分作为集成模型的最终得分。本发明能利用少量标记数据提高异常检测的准确性。检测的准确性。检测的准确性。
技术研发人员:王海帅 郑鑫 高扬 蔡晓旭 卜佳俊 王炜
受保护的技术使用者:浙江大学
技术研发日:2023.04.28
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种PCB板加工钢网清理装置的制作方法 下一篇:一种可变直径的向上钻进热融钻头
