一种基于k-truss和图核的图分类方法及其用途

文档序号:30957318发布日期:2022-07-30 10:41阅读:166来源:国知局
一种基于k-truss和图核的图分类方法及其用途
k-truss;如果此时g不为空,k增加1,重复步骤(4)-(6);如果此时g为空,分解过程结束。
18.进一步地,分解过程结束后获得的嵌套子图的层次结构表示如下:
[0019][0020]
其中,ω
*
(g)表示为图中所有边truss值的最大值,用于衡量图的密集程度。
[0021]
进一步地,所述步骤三的具体方法如下:
[0022]
(1)两图之间的图核函数定义为:
[0023]
k(g,g

)=《φ(g),φ(g

)》;
[0024]
(2)选择一种图核作为基础图核,用于图分类任务;
[0025]
(3)将基础图核的核函数作用于步骤二得到的嵌套子图的层次结构,将单一的核函数扩展为一组核函数的和,生成一种truss变体形式的图核,基础图核k的truss变体形式k
t
定义为:
[0026][0027]
其中,和分别表示图g和图g

的2-truss,3-truss,...,子图,表示两个图各自图中所有边truss值的最大值(ω
*
(g)值)中的较小值;
[0028]
(4)采用这种truss变体形式的图核函数获得用于描述图数据中每两个图之间相似性的核矩阵,并利用图类别标签信息,训练c-支持向量机分类器。
[0029]
进一步地,所述的图核选自r-卷积图核、相交图核、分配图核中的任一种。
[0030]
本发明还提供一种所述基于k-truss和图核的图分类方法的用途,该方法可以用于生物酶的分类。
[0031]
与现有技术相比,本发明具有如下有益效果:
[0032]
(1)本发明通过k-truss分解构建一个嵌套子图的层次结构,这允许在多个不同尺度上比较图。
[0033]
(2)本发明提出了一种新的图核改进方法,增强了基础图核对复杂子结构的表达能力,特别的,该方法生成的truss变体形式的图核函数提高了基础图核在图分类任务上的性能。
附图说明
[0034]
图1为本发明实施例所公开的一种基于k-truss和图核的图分类方法流程示意图;
[0035]
图2为图g的k-truss分解阶段的流程示意图;
[0036]
图3为计算truss变体形式的图核函数值的具体流程示意图。
[0037]
图4为给定图g和g’,基础图核weisfeiler-lehman子树核(wl)在迭代次数h=1 时的计算过程;
[0038]
图5为酶的三维结构建模为图的示意图;
[0039]
图6为图g中所有的k-truss子图的分解过程示意图。
具体实施方式
[0040]
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。
附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明公开内容的理解更加透彻全面。
[0041]
实施例一 本实施例提供了一种基于k-truss和图核的图分类方法,流程如图1所示,具体包括以下步骤:
[0042]
步骤一,获取需要分类的图数据,图分类数据的每个样本均带有其类别标签;
[0043]
步骤二,利用图的k-truss分解对每个样本建立一个嵌套子图的层次结构;进一步的技术方案中,分解方法如图2所示,具体如下:
[0044]
(1)已经知道2-truss就是整个图,所以初始化k=3。
[0045]
(2)计算所有边的support值,即包含该边的三角形个数;
[0046]
(3)根据边的support值由小到大的顺序,对边进行排序;
[0047]
(4)找到一条以u和v为端点的边e,假设u的度数小于等于v的度数,它的support 值小于k-2,那么对于u的每个邻居w,如果w和v之间也有边存在,即u,v,w构成一个三角形),则将(u,w)和(v,w)两边的support值减少1;
[0048]
(5)从g中删掉边e,更新剩余边的顺序,维护边的support值由小到大的顺序;
[0049]
(6)重复(4)和(5)直到找不到符合满足support值小于k-2的边,则输出当前g为原图g的k-truss子图,记为tk;如果此时g不为空,k增加1,重复步骤(4)-(6);如果此时g为空,分解过程结束。
[0050]
将图所有边truss值的最大值记为ω
*
(g),则truss分解产生的结果就形成了一个嵌套的“链”:
[0051][0052]
显然,图g中属于(k+1)-truss的边一定属于k-truss。
[0053]
步骤三,利用truss变体形式的图核函数分别测量每两个图之间的相似性,生成核矩阵,并利用图类别标签信息,训练c-支持向量机(svm)分类器,具体方法如下:
[0054]
现有文献中提出了许多图核,即图之间的核函数,以解决图之间的相似性评估问题,例如:r-卷积图核、相交图核和分配图核,r-卷积图核包括小图图核(gr)、weisfeiler-lehman 子树核(wl)、最短路径核(sp)等,相交图核包括邻域哈希核(nh)等,分配图核包括金字塔匹配图核(pm)等。图核隐式地将图嵌入希尔伯特空间中,并计算这些向量表示之间的内积来表达相似性,并用核函数值来表示。本发明的方法中,可以选择上述图核中的任意一种,来解决图分类任务。
[0055]
1、本实施例中选择weisfeiler-lehman子树核作为基础图核,用于图分类任务;
[0056]
weisfeiler-lehman子树核(wl)的基本思想是通过提取图结构的子部分,通过比较子部分的结构相似性来衡量两图的相似性,并将相似度作为图核的核值,weisfeiler-lehman子树核(wl)是基于一维wl图匹配算法,该算法的关键思想是通过对相邻节点的节点标签排序后的集合来扩展节点标签,并将这些扩展后的标签压缩为新的短标签,其具体过程如下:
[0057]
(1)给定两个图g和g’,如图4中a所示。聚合两图中每个节点及其邻居节点的标签,当前节点自身的标签和其邻居节点标签之间用逗号隔开,邻居节点标签按升序排列,如图4 中b所示;
[0058]
(2)用定义在多重集上的哈希函数在(1)中结果的基础上进行计算,得到每个节点的新的标签,并将新标签赋给相应节点,如图4中c所示;
[0059]
(3)迭代过程(1)和(2),如果两个图g、g’是同构的,则在某次迭代之后,这两个图对应节点的标签会变成完全相同的。图4中d所示g和g’对应节点的标签不同,因此是不同构的。
[0060]
设g、g’是两个图,σ[i]是wl算法第i次迭代结束时这两个图中出现的标签集。特别是,σ[0]是原始标签集。在每次迭代中,节点及其相邻节点的标签都会合并为一个多标签集,并给它一个新的标签。那么weisfeiler-lehman子树核定义为。
[0061]kwl
(g,g

)=《φ(g),φ(g

)》
[0062]
其中,φ(g)是一个由h+1个块组成的向量,作为图g的一个特征向量(结构信息),它表示为块0到块h,第j个块中的第i个元素反映了第j次迭代中第i个标签的出现频率,计算过程如图4中e所示。
[0063]
2、将基础图核的核函数作用于步骤二得到的嵌套子图的层次结构,将单一的核函数扩展为一组核函数的和,生成一种truss变体形式的图核函数,基础图核k的truss变体形式k
t
定义为:
[0064][0065]
其中,和分别表示g和g

的2-truss,3-truss,...,子图,表示两个图各自图中所有边truss值的最大值(ω
*
(g)值)中的较小值。
[0066]
图3说明了计算truss变体形式的图核函数值的过程,具体步骤如下:
[0067]
(1)初始化变体核函数值为val;
[0068]
(2)获取两个图ω
*
(g)值的较小值
[0069]
(3)对于i从2到依次将基础图核k在两图的i-truss子图上的核函数值加入val;
[0070]
(4)返回val作为最终的变体核函数值。
[0071]
3、构建基于truss变体形式的图核函数的svm分类器进行图分类任务,具体方法如下:
[0072]
(1)采用这种truss变体形式的图核函数获得用于描述图数据中每两个图之间相似性的核矩阵k,核矩阵k的元素k
ij
计算为:
[0073]kij
=k
ji
=k(gi,gj)。
[0074]
(2)利用图类别标签信息,训练c-支持向量机(svm)分类器,并进行10折交叉验证。 svm对预先计算的核矩阵列表进行交叉验证,通过grid search寻找最优的svm的参数c和基础图核的超参数;
[0075]
(3)保存训练好的svm模型,训练好的分类器模型可用来预测图的类型。
[0076]
实施例二 本实施例提供了采用本发明的基于k-truss和图核的图分类方法,在生物酶分类上的应用实例,具体步骤和过程如下:
[0077]
一、从pdb生物大分子结构数据库中下载六种生物酶的三维结构,分别为氧化还原
酶类、转移酶类、水解酶类、裂合酶类、异构酶类和连接酶类。
[0078]
二、将获取的六大类型酶的三维结构建模为图,建模过程如图5所示,图的顶点是蛋白质的二级结构,如果两个顶点元素在氨基酸序列或三维空间中是相邻的,它们之间就有一条边;如图5中圆圈处展示了这种蛋白质二级结构。这些图的集合构成了酶的数据集。本实施例中,数据集的数量应不少于6*100个,分为6组,每组不少于100个,分别对应六种类型的酶。
[0079]
这些图作为样本图,进行如下处理:
[0080]
1、给定一个样本图g,g的k-truss是g的最大子图,其中每条边至少包含在子图的(k-2) 个三角形中。
[0081]
2、分解图g中的所有的k-truss子图,建立一个嵌套子图的层次结构;分解流程如图2 所示,典型的分解过程如图6所示;具体步骤参见实施例一中的步骤二;
[0082]
3、改进基础图核,生成truss变体图核;具体方法和步骤参见实施例一中的步骤三1、 2;
[0083]
4、应用truss变体图核提取样本图的子结构,通过比较子结构的相似性来衡量两样本图的相似性,从而得到各样本图之间的核函数值。本实施例中,样本图的顶点是蛋白质二级结构元素,在氨基酸序列或三维空间中相邻的任意两个顶点元素之间存在一条边,顶点有一个类型标签(node_label),说明顶点代表的二级结构为一个螺旋、片状或转折。每个样本图对应一种酶的类型标签;
[0084]
5、由各样本图之间的核函数值构成核矩阵k,核矩阵k的元素k
ij
计算为:
[0085]kij
=k
ji
=k(gi,gj)。
[0086]
6、采用样本图训练c-支持向量机(svm)分类器,并进行10折交叉验证,训练好的分类器可用来预测酶的类型。
[0087]
三、将待测酶的三维结构建模为图,建模过程如图5所示,将建好的图输入训练好的svm 分类器中,经过预测,输出该酶对应的类型标签。
[0088]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本发明中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本发明所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1