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

基于哈希算法的分子分类方法

2022-11-12 12:20:31 来源:中国专利 TAG:


1.本发明属于数据挖掘技术领域,具体涉及一种基于哈希算法的分子分类方法。


背景技术:

2.图数据在现实生活中非常普遍,如生物化学领域的化学分子式、社交网络、道路交通网络等。随着大数据时代的到来,图数据的种类和数量都呈现指数式增长,也推动了图挖掘技术的高速发展。图挖掘领域的一个重要应用是图分类;图分类技术用于通过在已知图上训练一个分类器来学习未知图的标签类别信息。图分类技术也推动了数据挖掘技术在生物化学领域的发展,有利于快速鉴定分子对某种物质的反应,尤其在大规模分子测试中。
3.根据图中顶点所携带的信息,图数据通常分为两类:带离散属性的图和带连续属性的图。前者典型例子为化学分子式,每个顶点表示一个原子,每条边表示一种化学键,这种图仅包括最简单的信息。后者包括蛋白质交互图,顶点表示蛋白质,边表示蛋白质之间的连接,更重要的是,每个顶点包含多个代表理化性质的属性,其值通常为实数值。目前,常用的图分类技术主要聚焦于前者。
4.但是,现今依旧存在一些针对后者(比如蛋白质交互图等复杂图数据)的分类方法。该类方法主要包括核方法和图神经网络方法。作为一类传统方法,核方法主要用于测量图之间的相似度,其关键在于通过提取子结构来将复杂的分子图结构表示成向量。但是,核方法会随着图规模的增加,导致子结构数量急剧增加,进而导致效率低下。图神经网络技术能够学习分子图结构中的隐藏模式;近些年的研究表明图神经网络技术具有强大的图表达能力,能够有效保存分子图中的信息。但是,图神经网络技术由于海量的参数计算,极其依赖价格昂贵的高端硬件(比如图形处理器,graphics processing unit,gpu),并且需要大量的计算和存储资源。


技术实现要素:

5.本发明的目的在于提供一种可靠性高、精确性好且效率较高的基于哈希算法的分子分类方法。
6.本发明提供的这种基于哈希算法的分子分类方法,包括如下步骤:
7.s1.获取已知分类的分子,并构建对应的分子结构图;
8.s2.针对步骤s1获取的分子结构图,采用simhash算法计算图中各个顶点的向量表达;
9.s3.针对图中的每个顶点,找到顶点的所有邻居节点,并将对应的邻居节点的向量表达相加,得到各个顶点的邻接节点向量和表达;
10.s4.拼接各个顶点的向量表达和该顶点的邻接节点向量和表达,得到各个顶点的哈希码向量表达;
11.s5.将各个顶点的哈希码向量表达全部相加;
12.s6.针对步骤s1获取的每一个分子结构图,均重复步骤s2~s5直至设定的次数,得
到每个分子结构图的向量表达;
13.s7.根据步骤s6得到的每个分子结构图的向量表达,计算任意两个分子结构图之间的相似度,从而构建核矩阵;
14.s8.将步骤s7得到的核矩阵输入到支持向量机中,从而训练得到分子图分类器;
15.s9.针对待分类的分子,获取该分子的分子结构图的向量表达,计算该分子与已知分子结构图之间的相似度,并将相似度结果输入到步骤s8得到的分子图分类器中,从而得到待分类的分子的分类结果。
16.步骤s2所述的针对步骤s1获取的分子结构图,采用simhash算法计算图中各个顶点的向量表达,具体包括如下步骤:
17.初始化simhash算法的参数:生成服从高斯分布的k个d维向量;d为分子结构图中顶点的特征个数;
18.将分子结构图中的每个顶点,在初始阶段表示为d维特征向量x,并随机生成k个服从高斯分布的d维超平面法向量n
(k)
,k=1,2,...,k;
19.采用以下算式,将特征向量x转换为k维哈希码,从而得到顶点的向量表达:
[0020][0021]
式中为第k维哈希码。
[0022]
步骤s3所述的将对应的邻居节点的向量表达相加,具体为将对应的邻居节点的向量表达,进行对应位的相加。
[0023]
步骤s4所述的拼接各个顶点的向量表达和该顶点的邻接节点向量和表达,得到各个顶点的哈希码向量表达,具体为拼接各个顶点的向量表达和该顶点的邻接节点向量和表达,从而将每个顶点表达为2k维哈希码,从而得到各个顶点的哈希码向量表达。
[0024]
步骤s5所述的将各个顶点的哈希码向量表达全部相加,具体为将全部顶点的哈希码向量表达,进行对应位相加。
[0025]
步骤s6所述的针对步骤s1获取的每一个分子结构图,均重复步骤s2~s5直至设定的次数,得到每个分子结构图的向量表达,具体包括如下步骤:
[0026]
针对步骤s1获取的每一个分子结构图,重复步骤s2~s5直至设定的次数r,得到每个分子结构图的向量表达;在重复步骤s2时,在初始化simhash算法的参数过程中,生成服从高斯分布的k个k维向量。
[0027]
步骤s7所述的根据步骤s6得到的每个分子结构图的向量表达,计算任意两个分子结构图之间的相似度,从而构建核矩阵,具体包括如下步骤:
[0028]
根据步骤s6得到的每个分子结构图的向量表达,计算任意两个分子结构图之间的海明相似度;
[0029]
采用如下算式计算得到核矩阵:
[0030]
[0031]
式中k(i,j)为核矩阵的第i行第j列的元素,用于表示图gi和图gj的相似度;为图gi在第r次向量表达中的第k维值;为图gj在第r次向量表达中的第k维值;表示上述两值相等时为1,不相等时为0。
[0032]
步骤s8所述的将步骤s7得到的核矩阵输入到支持向量机中,从而训练得到分子图分类器,具体包括如下步骤:
[0033]
采用支持向量机来训练分子图分类器:
[0034]wt
·
x b=0
[0035]
式中w为超平面法向量;x为分子图的向量表达;b为截距;
[0036]
将得到的核矩阵作为支持向量机的非线性核,构建以下目标函数:
[0037][0038][0039]
0≤αi≤c,i=1,2,...,n
[0040]
式中α=[α1,α2,...,αn];n为分子图的个数;αi为拉格朗日乘子;yi为分子图标签;k(i,j)为核矩阵的第i行第j列的元素;c为惩罚因子;
[0041]
采用二次规划算法求解目标函数,得到最优解
[0042]
然后计算b的最优值为
[0043]
最后,得到分子图分类器;对于一个分子所对应的分子结构图gm,该分子的类别标签预测结果为其中k(m,i)为图gm与图gi的相似度,sign(z)为二值函数,若z为正数则sign(z)=1,若z为负数则sign(z)=-1;标签预测结果为1表示阳性,标签预测结果为-1表示阴性。
[0044]
本发明提供的这种基于哈希算法的分子分类方法,通过随机生成若干组simhash函数来高效表达分子图结构,取得了关于分子图数量的线性时间和空间复杂度,并有效保存了图之间的相似度信息,能够生成用于支持向量机的核矩阵,并将核矩阵输入到支持向量机中训练得到分子图分类器,从而完成分子的分类;本发明方法避免了图神经网络中海量的参数学习,同时不再依赖昂贵的高端硬件,能够在满足分子分类精度的前提下,明显降低时间开销,尤其适用于大规模分子图数据集场景下的分类任务,而且可靠性高,精确性好,效率较高。
附图说明
[0045]
图1为本发明的方法流程示意图。
[0046]
图2为本发明方法的整体思路示意图。
[0047]
图3为本发明的步骤s2~s5的过程示意图。
具体实施方式
[0048]
如图1所示为本发明的方法流程示意图:
[0049]
一般场合下,每个分子都可以建模为一个图g=(v,e,a,f),其中v为该图的顶点集,e为该图的边集,a为该图的属性集,图中每个顶点携带多个数值型属性,f:将顶点表示成|a|维的实值向量每个维度代表一个属性,维度值代表属性值。同时,该分子图对应一个类别标签表示该分子的某种属性。本发明方法的主要目标是给定n个分子的分子结构图和对应的类别标签将n个分子结构图表达为n个低维向量通过从中学习得到分子图分类器,从而实现未知分子的标签分类,具体思路如图2所示。
[0050]
因此,本发明提供的这种基于哈希算法的分子分类方法,包括如下步骤:
[0051]
s1.获取已知分类的分子,并构建对应的分子结构图;
[0052]
s2.针对步骤s1获取的分子结构图,采用simhash算法计算图中各个顶点的向量表达;具体包括如下步骤:
[0053]
初始化simhash算法的参数:生成服从高斯分布的k个d维向量;d为分子结构图中顶点的特征个数;
[0054]
将分子结构图中的每个顶点,在初始阶段表示为d维特征向量x,并随机生成k个服从高斯分布的d维超平面法向量n
(k)
,k=1,2,...,k;
[0055]
采用以下算式,将特征向量x转换为k维哈希码,从而得到顶点的向量表达:
[0056][0057]
式中为第k维哈希码;
[0058]
s3.针对图中的每个顶点,找到顶点的所有邻居节点,并将对应的邻居节点的向量表达相加,得到各个顶点的邻接节点向量和表达;具体为将对应的邻居节点的向量表达,进行对应位的相加;
[0059]
s4.拼接各个顶点的向量表达和该顶点的邻接节点向量和表达,得到各个顶点的哈希码向量表达;具体为拼接各个顶点的向量表达和该顶点的邻接节点向量和表达,从而将每个顶点表达为2k维哈希码,从而得到各个顶点的哈希码向量表达;
[0060]
s5.将各个顶点的哈希码向量表达全部相加;具体为将全部顶点的哈希码向量表达,进行对应位相加;
[0061]
s6.针对步骤s1获取的每一个分子结构图,均重复步骤s2~s5直至设定的次数,得到每个分子结构图的向量表达,具体包括如下步骤:
[0062]
针对步骤s1获取的每一个分子结构图,重复步骤s2~s5直至设定的次数r,得到每
个分子结构图的向量表达;在重复步骤s2时,在初始化simhash算法的参数过程中,生成服从高斯分布的k个k维向量;其中,步骤s2~s5的过程示意图,如图3所示;
[0063]
具体实施时,在第一次初始化时,生成服从高斯分布的k个d维向量;在第二次~第r次初始化时,均生成的是服从高斯分布的k个k维向量;
[0064]
s7.根据步骤s6得到的每个分子结构图的向量表达,计算任意两个分子结构图之间的相似度,从而构建核矩阵;具体包括如下步骤:
[0065]
根据步骤s6得到的每个分子结构图的向量表达,计算任意两个分子结构图之间的海明相似度;
[0066]
采用如下算式计算得到核矩阵:
[0067][0068]
式中k(i,j)为核矩阵的第i行第j列的元素,用于表示图gi和图gj的相似度;为图gi在第r次向量表达中的第k维值;为图gj在第r次向量表达中的第k维值;为表示上述两值相等时为1,不相等时为0;
[0069]
s8.将步骤s7得到的核矩阵输入到支持向量机中,从而训练得到分子图分类器;具体包括如下步骤:
[0070]
采用支持向量机来训练分子图分类器:
[0071]wt
·
x b=0
[0072]
式中w为超平面法向量;x为分子图的向量表达;b为截距;
[0073]
将得到的核矩阵作为支持向量机的非线性核,构建以下目标函数:
[0074][0075][0076]
0≤αi≤c,i=1,2,...,n
[0077]
式中α=[α1,α2,...,αn];n为分子图的个数;αi为拉格朗日乘子;yi为分子图标签;k(i,j)为核矩阵的第i行第j列的元素;c为惩罚因子;
[0078]
采用二次规划算法求解目标函数,得到最优解
[0079]
然后计算b的最优值为
[0080]
最后,得到分子图分类器;对于一个分子所对应的分子结构图gm,该分子的类别标签预测结果为其中k(m,i)为图gm与图gi的相似度,sign(z)为
二值函数,若z为正数则sign(z)=1,若z为负数则sign(z)=-1;标签预测结果为1表示阳性,标签预测结果为-1表示阴性,阳性即表示该分子具备该预测属性,阴性表示该分子不具备该预测属性;
[0081]
s9.针对待分类的分子,获取该分子的分子结构图的向量表达,计算该分子与已知分子结构图之间的相似度,并将相似度结果输入到步骤s8得到的分子图分类器中,从而得到待分类的分子的分类结果。
[0082]
本发明提供的这种分子分类方法,适用于包括蛋白质交互图等具有复杂分子结构图的分子的分类。分类结果为该分子是否具有某一种性质,比如环氧合酶cox-2抑制剂在体外活性试验中,根据它们对人类重组酶的反应,分为活性化合物和非活性化合物。
再多了解一些

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

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

相关文献