CN109308497A - 一种基于多标签网络的多向量表示学习方法 - Google Patents
一种基于多标签网络的多向量表示学习方法 Download PDFInfo
- Publication number
- CN109308497A CN109308497A CN201811262282.7A CN201811262282A CN109308497A CN 109308497 A CN109308497 A CN 109308497A CN 201811262282 A CN201811262282 A CN 201811262282A CN 109308497 A CN109308497 A CN 109308497A
- Authority
- CN
- China
- Prior art keywords
- node
- migration
- sequence
- cluster
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
Abstract
本发明公开了一种基于多标签网络的多向量表示学习方法,该方法首先构建一个空的游走节点序列,然后采用基于node2vec随机游走方式采样以任意一个节点为起始节点的节点游走序列;接着采用负采样方法生成模型所需要的训练数据;最后采用基于Skip‑gram的浅层神经网络概率模型进行处理,并为每个节点维护若干个聚类集群,采用随机梯度下降方法不断迭代更新,最终得到网络节点的多向量表示以及全局向量表示。
Description
技术领域
本发明涉及一种表示学习方法,更特别地说,是指一种基于多标签网络的多向量表示学习方法。
背景技术
如今,信息网络在社交网络、生物网络、引用网络和电信网络等形式的大量实际应用中变得无处不在。分析这些网络在许多学科的各种新兴应用中起着至关重要的作 用。众所周知,网络数据通常非常复杂,因此难以处理。为了有效地处理网络数据, 第一个关键挑战就是找到有效的网络数据表示。
目前已经提出了很多网络表示学习算法,如“DeepWalk:Online Learning ofSocial Representations”译文为:深度行走:社交表示的在线学习,Bryan Perozzi 等,26Mar 2014;该文献中使用word2vec方法对网络的表示进行学习。它将网 络嵌入到潜在的低维空间中,该空间能够保持网络的结构和属性,使得网络的原始节 点可以表示为低维向量,以此可以作为任何基于矢量的机器学习算法的特征,例如节 点分类,链路预测等。
但是,先前的一些表示学习方法存在着一些明显的缺陷:每个节点仅具有一个向量表示,这对于一些多标签网络的数据集来说,一个向量将会是这些节点标签的综合 表示,而无法体现出每个标签所独有的特性,进而无法更好的完成多标签分类任务。 这里多标签是指网络中的一个节点拥有多种属性,表现出不同的功能。例如,纽约时 报的新闻语料库可能被同时标记为宗教、政治、教育、金融和教育等主题。如果使用 一个向量来表示,将会是对这些不同主题的一个平均,无法学习出每个主题自己所独 有的向量表示,进而无法完成多标签网络的分类、分析等工作。
发明内容
为了解决网络节点的多标签表示学习的问题,本发明提出了一种基于多标签网络的多向量表示学习方法。在本发明中,网络中的每个节点可以具有多个标签向量和一 个全局向量以供进一步研究。首先借助基于node2vec随机游走统计模型对网络结构 进行采样,得到网络节点邻居信息;采样完成的节点游走序列由一连串的节点组成, 每一次对下一个游走节点的选择都是随机的;在完成所有网络节点的负采样之后,本 发明构建了一个基于Skip-gram模型的浅层神经网络框架,并通过当前节点信息来 预测周围的邻居节点;其次,为每一个游走节点维护多个聚类集群,并通过其游走- 邻居节点的嵌入来生成属于当前节点的节点标签(简称为聚类标签),所述聚类标签 被预测为最接近所述游走邻居向量的集群,标签向量被预测为所述集群的中心。在预 测聚类标签和标签向量之后,本发明对该标签向量进行不断地迭代更新直至收敛。最 后,为了充分利用这些标签向量,本发明为它设置权重,为每个节点形成一个新的向 量表示。
本发明的一种基于多标签网络的多向量表示学习方法,其特征在于表示学习有如下步骤:
步骤一,基于node2vec随机游走方法采样获取游走序列集合WALKS;
步骤101:构建属于任意节点nodea的空的节点游走序列,记为所述节点游走序列用来存储所述nodea节点经随机游走走出来的游走节点;定义所 述节点游走序列的最大序列位数为mw,mw的取值为70~100位;然后执 行步骤102;
步骤102:将所述nodea节点放入所述节点游走序列的第1位;然后执行 步骤103;
步骤103:获取属于所述nodea节点的全部邻居节点集,记为且邻居节点是指与nodea节点之间存在连边的 节点集合;然后执行步骤104;
步骤104:随机选择所述邻居节点集中 的任意一个邻居节点放入所述节点游走序列的第2位;然后执行步骤 105;
步骤105:采用别名采样算法(alias sampling),根据二阶随机游走的跳转 概率选取节点游走序列的第2位之后的所有游走节 点,从而得到属于nodea节点的节点游走序列;然后执行步骤106;
步骤106:对V={node1,node2,…,nodea,…,nodeo,…,nodeA}中的其他节点采用步骤101至步骤105,获得节点对应的节点游走序列;从而得到游走序列集合WALKS, 且然后执行步骤201;
步骤二,采用负采样方法生成模型所需的训练数据;
步骤201:建立空的正样本队列Q正和空的负样本队列Q负,然后执行步骤202; 所述Q正用于存放训练模型所需要的正采样数据,所述Q负用于存放训练模型所需要的 负采样数据;
步骤202:设立邻居窗口大小,记为WD,然后执行步骤203;
对第一任意节点游走序列中的任意序列-节点设立邻居窗口大小WD,认为在节点游走序列中与任 意序列-节点的距离小于WD的全部节点为正样本节点;
每次对序列-节点获取属于所述的2倍WD的相邻-游走节点集, 记为且
步骤203:采用任意两个网络节点与正负样本标识构成一个三元组,然后执行步骤204;
对于序列-相邻节点与任意序列—节点构成一个三元组,即 (δ),其中δ=+1代表该三元组为正样本,反之δ=-1则表示该 三元组为负样本。
对网络中所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}进行采样,每次 从网络中选取任意两个节点,选取的两个节点可以是相邻的,也可以是不相邻的,即 第一任意节点nodea,第二任意节点nodeo;如果两个节点之间不存在连边且两个随机选取的节点不相同(nodea≠nodeo),则将任意 两个节点nodea、nodeo组成三元组(nodea,nodeo,-1)存入负样本队列Q负中,即
对网络中所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}进行采样,每次 从网络中选取任意两个节点,选取的两个节点可以是相邻的,也可以是不相邻的,即 第一任意节点nodea,第二任意节点nodeo;如果两个节点之间存在连边 ((nodea,nodeo)∈E),或者两个随机选取的节点相同,则将任意两个节点nodea、nodeo组成三元组(nodea,nodeo,+1)存入正样本队列Q正中,即
步骤204:设立一个正负样本比例参数β,假设正样本队列Q正中三元组个数为 np,那么Q负中的三元组数量等于β×np;将得到的正样本队列Q正与负样本队列Q负 合并在一起,得到一个新的样本队列Q新={Q1,...,Q(1+β)×np};然后执行步骤205;
步骤205:将新的样本队列Q新={Q1,...,Q(1+β)×np}中的所有元素打乱顺序,得到 乱序的样本队列Q排序={Q1-排序,...,Q(1+β)×np-排序},然后执行步骤301;
步骤三,采用基于Skip-gram的神经网络方法来构建概率模型;
为了方便说明构建神经网络概率模型将中的属于第一任意节点nodea的正样本-节点为将中的属于第一任 意节点nodea的负样本-节点为神经网络概率模型的构建过程包括:
步骤301:从所述Q排序={Q1-排序,...,Q(1+β)×np-排序}中每次选择一个三元组作为一对节点放入神经网络概率模型中进行学习,然后执行步骤302;将任意选择出的一个三 元组记为(nodea,nodeo,δ);
步骤302:对于给定的nodea记它在节点游走序列中在窗口大小WD之内的部分记为 且然后根据计算所述 nodea在节点游走序列中的邻居向量表示,记为vneighbor(nodea),且 vg(η);η表示从中选取的一个游走节点;vg(η)表示选 择出的游走节点η的全局向量;然后执行步骤303;
步骤303:为nodea维护若干个聚类集群,记第r个聚类中心为μ(nodea,r),其 值为第r个聚类中的所有邻居向量的平均,并记此聚类集群中的邻居向量个数为 num(nodea,r),计算所述nodea的每个聚类中心μ(nodea,r)与其邻居向量 vneighbor(nodea)之间的相似程度sim(μ(nodea,r),vneighbor(nodea)),然后执行步骤304;
为nodea所设定的聚类集群个数r(nodea)由超参数λ来确定,初始化每个节点为1个聚类集群;
步骤304:根据所述的nodea的每个聚类中心μ(nodea,r)与其邻居向量 vneighbor(nodea)之间的相似程度来为所述nodea预测聚类标签;如果(这里λ为模型所设定的超参数), 则为所述nodea重新生成一个聚类集群r(nodea)+1,并将所述nodea的聚类标签记为 且将所述预测为否则然后执行步骤305;
聚类中心μ(nodea,r)与其邻居向量vneighbor(nodea)之间的相似程度 sim(μ(nodea,r),vneighbor(nodea))由它们之间的余弦值来衡量,其值越接近1说明越相 似。
步骤305:将nodea的第个标签向量设定为它所属的聚类 中心即更新节点nodea第个聚类中心这是由于新的邻居向量vneighbor(nodea)加入到了这个聚类 集群中,并且更新此聚类集群中的向量个数为然后执行步骤 306;
步骤306:在给定节点nodea的第个标签向量和其在节点 游走序列中在窗口大小WD之内的部分的节点 之后,计算属于nodea的正样本-节点 (即三元组(nodea,nodeo,δ))为正样本的概率和属于第一任意节点nodea的负样本-节点(即三元组(nodea,nodeo,δ))为负样本 的概率Pneg(nodea,nodeo,δ)=1-Ppos(nodea,nodeo,δ),利用δ将正负样本合并放入关于 网络节点分布式表示的损失函数中,并进行损失函数的计算,得到全局损失函数J(θ), 然后执行步骤307;
步骤307:采用随机梯度下降算法更新节点nodea的第个标签向量以及与节点nodea相关的正负样本的全局向量vg(η),最终得到网络 中任意节点nodea的r(nodea)个标签向量全局向量vg(nodea)以及每 个聚类集群中的邻居向量个数然后执行步骤308;
步骤308:设定任意节点nodea的第个聚类集群中的邻居向量个数为节点nodea的第个标签向量的权重,将属 于任意节点nodea的所有标签向量加权平均,得到属于nodea的加权向量,记为 NP(nodea),且
本发明一种基于多标签网络的多向量表示学习方法的优点在于:(A)网络节点 表示是用一个向量将网络中的各个节点进行描述;为了处理多标签网络中的庞杂的信 息和邻居节点关系,本发明的多向量表示学习方法能够使得网络中的每个节点学习出 一个或多个标签向量;对于一个节点的多向量表示,本发明会先使用基于node2vec 随机游走获取其周边节点,再依据Skip-gram浅层神经网络构建节点与其邻居节点 之间的关系,然后通过聚类方法为每个节点维护多个聚类集群,进而学习出多个向量 表示。(B)为了验证本发明方法的效果,本发明选用BlogCatalog、PPI、Wikipedia 等不同领域的多标签网络数据集,对网络的节点进行多标签分类的工作。在该仿真实 验中,本发明方法根据每个节点的每个标签向量的权重,对这些向量做加权平均,最 终为每个节点形成一个新的向量表示,在使用相同分类器的情况下,分类结果要显著 比其他方法好,可以验证本发明方法在对多标签网络进行网络节点表示方面是有效 的。
附图说明
图1是本发明多标签网络节点的多向量表示的学习流程图。
图2A是在BlogCatalog数据集中Macro-F1指标的评价结果。
图2B是在BlogCatalog数据集中Micro-F1指标的评价结果。
图3A是在PPI数据集中Macro-F1指标的评价结果。
图3B是在PPI数据集中Micro-F1指标的评价结果。
图4A是在Wikipedia数据集中Macro-F1指标的评价结果。
图4B是在Wikipedia数据集中Micro-F1指标的评价结果。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
在本发明中,网络中的节点记为node,多个节点node构成一个节点集合,记为V,且V={node1,node2,…,nodea,…,nodeo,…,nodeA};网络中的边记为edge,多条边edge 构成一个边集合,记为E,且E={edge1,…,edgeB};节点的标签记为label,多个标 签label构成一个节点—标签集合,记为L,且L={label1,…,labelC}。由节点集合、 边集合和节点—标签集合构成一个网络,记为G,且G={V,E,L}。edge1表示第一条 边;edgeB表示最后一条边,B表示边的总条数,为了方便说明B也表示任意边的标 识号。label1表示第一个节点—标签;labelC表示最后一个节点—标签,C表示节点— 标签的总标签数,为了方便说明C也表示任意一个节点—标签的标识号。node1表示第 1个节点;node2表示第2个节点;nodea表示第a个节点,a表示节点的标识号,a∈A; nodeA表示最后一个节点,A表示节点总数。
为了方便说明,nodea也称为任意一个节点,nodeo是除nodea之外的另一个任意 节点,下文中将nodea称为第一任意节点,nodeo称为第二任意节点。
在本发明中,以第1个节点node1为起始节点的随机游走序列记为且所述称为第一节点游走序列;表 示第一节点游走序列的第一个游走节点;表示第一节点游走序列的第二个游走 节点;表示第一节点游走序列的任意一个游走节点;表示第一节点游走 序列的最后一个游走节点。d表示节点游走序列中节点的标识号;D表示节点游走序 列中节点的总数;所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}的节点游走 序列中的节点总数是一致的。
在本发明中,以第2个节点node2为起始节点的随机游走序列记为且所述称为第二节点游走序列;表示第二节点游走序列的第一个游走节点;表示第二节点游走序列的第二个游 走节点;表示第二节点游走序列的任意一个游走节点;表示第二节点游 走序列的最后一个游走节点。
在本发明中,以第一任意节点nodea为起始节点的随机游走序列记为且简称为第一任意节点游走序列。 表示第一任意节点游走序列的第一个游走节点;表示第一任意节点游 走序列的第二个游走节点;表示第一任意节点游走序列的任意一个游走节点; 表示第一任意节点游走序列的最后一个游走节点。
在本发明中,以第二任意节点nodeo为起始节点的随机游走序列记为且简称为第二任意节点游走序列。表示 第二任意节点游走序列的第一个游走节点;表示第二任意节点游走序列的第二 个游走节点;表示第二任意节点游走序列的任意一个游走节点;表示第 二任意节点游走序列的最后一个游走节点。
在本发明中,以最后一个节点nodeA为起始节点的随机游走序列记为且简称为最后节点游走序列。表示最 后节点游走序列的第一个游走节点;表示最后节点游走序列的第二个游走节 点;表示最后节点游走序列的任意一个游走节点;表示最后节点游走序 列的最后一个游走节点。
在本发明中,将节点集合V={node1,node2,…,nodea,…,nodeo,…,nodeA}中的所有 节点游走序列的集合记为简 称为游走序列集合WALKS。
本发明提出的一种基于多标签网络的多向量表示学习方法,具体表示学习有如下步骤:
步骤一,基于node2vec随机游走方法采样获取游走序列集合WALKS;
在本发明中,由节点集合V={node1,node2,…,nodea,…,nodeo,…,nodeA}构成的网 络结构中,对每个节点的邻居节点采样是基于node2vec随机游走方法完成的,也就 是以加入二阶随机游走的跳转概率进行的。下面以第一任意节点nodea为起始节点的 随机游走序列进行说明,其余节点与所述nodea节点是一样的处理。
步骤101:构建属于任意节点nodea的空的节点游走序列,记为所述节点游走序列用来存储所述nodea节点经随机游走走出来的游走节点;定义所 述节点游走序列的最大序列位数为mw,mw的取值为70~100位;然后执 行步骤102;
步骤102:将所述nodea节点放入所述节点游走序列的第1位;然后执行 步骤103;
步骤103:获取属于所述nodea节点的全部邻居节点集,记为且在本发明中,邻居节点是指与nodea节点之 间存在连边的节点集合;然后执行步骤104;
表示nodea节点的第1个邻居节点,表示nodea节点的第2个邻居节 点,表示nodea节点的任意一个邻居节点,表示nodea节点的最后一个邻 居节点;f表示nodea节点的邻居节点标识号,F表示nodea节点的邻居节点总数, f∈F,F<A;
步骤104:随机选择所述邻居节点集中 的任意一个邻居节点放入所述节点游走序列的第2位;然后执行步骤 105;
参考图1所示,nodea节点的邻居节点有node1,node2,node3,nodeo,nodeA,在节 点游走序列的第2位是node3节点。
步骤105:采用别名采样算法(alias sampling),根据二阶随机游走的跳转 概率选取节点游走序列的第2位之后的所有游走节 点,从而得到属于nodea节点的节点游走序列;然后执行步骤106;
pos表示当前游走节点,src表示位于所述pos的上一个游走节点,dst表示位于 所述pos的下一个游走节点;p表示跳入参数,q表示跳出参数,distsrc,dst表示位于所 述pos的上、下游走节点之间的最短跳数距离。在本发明中,如果上一个游走节点src 到下一个游走节点dst最少需要2跳,则distsrc,dst=2;
如果上一个游走节点src到下一个游走节点dst最少需要1跳,则distsrc,dst=1;
如果上一个游走节点src就是下一个游走节点dst,则distsrc,dst=0。这里,最短跳数distsrc,dst的取值只能为集合{0,1,2}中的一个。如果希望随机游走更多的在局部跳转,那么p需要设置大一些;反之,q需要设置大一些。
步骤106:对V={node1,node2,…,nodea,…,nodeo,…,nodeA}中的其他节点采用步骤101至步骤105,获得节点对应的节点游走序列;从而得到游走序列集合WALKS, 且然后执行步骤201。
在本发明中,node2vec方法来自于2016年8月13-17日的会议,《node2vec:Scalable Feature Learningfor Networks》,文译文为“node2vec:网络的可扩 展特征学习”,第3.2章节内容,会议名称为“KDD'16Proceedings of the 22nd ACM SIGKDDInternational Conference on Knowledge Discovery and Data Mining Pages 855-864”。
步骤二,采用负采样方法生成模型所需的训练数据;
在本发明中,生成模型可使用的训练数据为步骤一得到的游走序列集合除去游走序列集合中的数据 之外,本发明可以借助负采样算法来产生模型所需的训练数据。下面以第一任意节点 游走序列中的任意序列-节点 为例,详细说明负采样的过程,所述WALKS中的其余节点游走序列与所述 是一样的处理。
步骤201:建立空的正样本队列Q正和空的负样本队列Q负,然后执行步骤202; 所述Q正用于存放训练模型所需要的正采样数据,所述Q负用于存放训练模型所需要的 负采样数据;
步骤202:设立邻居窗口大小,记为WD,然后执行步骤203;
在本发明中,对第一任意节点游走序列中的任意序列-节点设立邻 居窗口大小WD,认为在节点游走序列中与任意序列-节点的距离小 于WD的全部节点为正样本节点;
每次对序列-节点获取属于所述的2倍WD的相邻-游走节点集, 记为且
表示在相邻-游走节点集中最小标识号的节点。
表示在相邻-游走节点集中最大标识号的节点;d表示节点游 走序列中节点的标识号;D表示节点游走序列中节点的总数。
表示在相邻-游走节点集中除和以外的任意 一个节点,简称序列—相邻节点。下角标l表示不是最大也不是最小节点的标识号, 即除这2个节点之外的其他节点标识号。
步骤203:采用任意两个网络节点与正负样本标识构成一个三元组,然后执行步骤204;
在本发明中,对于序列-相邻节点与任意序列—节点构成一个三元组,即(δ),其中δ=+1代表该三元组为正样本,反之δ=-1则 表示该三元组为负样本。
对网络中所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}进行采样,每次 从网络中选取任意两个节点(选取的两个节点可以是相邻的,也可以是不相邻的), 即第一任意节点nodea,第二任意节点nodeo;如果两个节点之间不存在连边且两个随机选取的节点不相同(nodea≠nodeo),则将任意 两个节点nodea、nodeo组成三元组(nodea,nodeo,-1)存入负样本队列Q负中,即
对网络中所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}进行采样,每次 从网络中选取任意两个节点(选取的两个节点可以是相邻的,也可以是不相邻的), 即第一任意节点nodea,第二任意节点nodeo;如果两个节点之间存在连边 ((nodea,nodeo)∈E),或者两个随机选取的节点相同,则将任意两个节点nodea、nodeo组成三元组(nodea,nodeo,+1)存入正样本队列Q正中,即
步骤204:设立一个正负样本比例参数β,假设正样本队列Q正中三元组个数为 np,那么Q负中的三元组数量等于β×np;将得到的正样本队列Q正与负样本队列Q负 合并在一起,得到一个新的样本队列Q新={Q1,...,Q(1+β)×np};然后执行步骤205;
Q1表示新的样本队列Q新中的最小标识号的三元组。
Q(1+β)×np表示新的样本队列Q新中的最大标识号的三元组。下标(1+β)×np代表样本队列Q新中包含有(1+β)×np个三元组。
步骤205:将新的样本队列Q新={Q1,...,Q(1+β)×np}中的所有元素打乱顺序,得到 乱序的样本队列Q排序={Q1-排序,...,Q(1+β)×np-排序},然后执行步骤301;
步骤三,采用基于Skip-gram的神经网络方法来构建概率模型;
在本发明中,为了方便说明构建神经网络概率模型将中的属于第一任意节点nodea的正样本-节点为将中的 属于第一任意节点nodea的负样本-节点为神经网络概率模型的构建过程包 括:
步骤301:从所述Q排序={Q1-排序,...,Q(1+β)×np-排序}中每次选择一个三元组作为一对节点放入神经网络概率模型中进行学习,然后执行步骤302;在本发明中,举例将任 意选择出的一个三元组记为(nodea,nodeo,δ);
步骤302:对于给定的nodea记它在节点游走序列中在窗口大小WD之内的部分记为 且然后根据计算所述 nodea在节点游走序列中的邻居向量表示,记为vneighbor(nodea),且 η表示从中选取的一个游走节点;vg(η)表示选 择出的游走节点η的全局向量;然后执行步骤303;
在本发明中,游走节点的全局向量vg(η)被随机初始化;所述vneighbor(nodea)体现了第一任意节点nodea在第一任意节点游走序列 中的游走-邻居节点的全局向量的 平均。
步骤303:为nodea维护若干个聚类集群,记第r个聚类中心为μ(nodea,r),其 值为第r个聚类中的所有邻居向量的平均,并记此聚类集群中的邻居向量个数为 num(nodea,r),计算所述nodea的每个聚类中心μ(nodea,r)与其邻居向量 vneighbor(nodea)之间的相似程度sim(μ(nodea,r),vneighbor(nodea)),然后执行步骤304;r表 示聚类集群的标识号;
在本发明中,为nodea所设定的聚类集群个数r(nodea)由超参数λ来确定,初始 化每个节点为1个聚类集群。
步骤304:根据所述的nodea的每个聚类中心μ(nodea,r)与其邻居向量 vneighbor(nodea)之间的相似程度来为所述nodea预测聚类标签;如果(这里λ为模型所设定的超参数), 则为所述nodea重新生成一个聚类集群r(nodea)+1,并将所述nodea的聚类标签记为 且将所述预测为否则然后执行步骤305;
在本发明中,聚类中心μ(nodea,r)与其邻居向量vneighbor(nodea)之间的相似程度sim(μ(nodea,r),vneighbor(nodea))由它们之间的余弦值来衡量,其值越接近1说明越相 似。
步骤305:将nodea的第个标签向量设定为它所属的聚类 中心即更新节点nodea第个聚类中心这是由于新的邻居向量vneighbor(nodea)加入到了这个聚类 集群中,并且更新此聚类集群中的向量个数为然后执行步骤 306;
步骤306:在给定节点nodea的第个标签向量和其在节点游走序列中在窗口大小WD之内的部分的节点 之后,计算属于nodea的正样本-节点 (即三元组(nodea,nodeo,δ))为正样本的概率和属于第一任意节点nodea的负样本-节点(即三元组(nodea,nodeo,δ))为负样本 的概率Pneg(nodea,nodeo,δ)=1-Ppos(nodea,nodeo,δ),利用δ将正负样本合并放入关于 网络节点分布式表示的损失函数中,并进行损失函数的计算,得到全局损失函数J(θ), 然后执行步骤307;
步骤307:采用随机梯度下降算法更新节点nodea的第个标签向量以及与节点nodea相关的正负样本的全局向量vg(η),最终得到网络 中任意节点nodea的r(nodea)个标签向量全局向量vg(nodea)以及每 个聚类集群中的邻居向量个数然后执行步骤308;
步骤308:设定任意节点nodea的第个聚类集群中的邻居向量个数为节点nodea的第个标签向量的权重,将属 于任意节点nodea的所有标签向量加权平均,得到属于nodea的加权向量,记为 NP(nodea),且
在本发明中,训练神经网络的目的在于能够将损失函数的值降低到最少,为了对神经网络进行训练,本发明采用随机梯度下降算法进行网络参数的学习。
在使用随机梯度下降的时候,由于训练迭代次数过多,会出现过拟合的现象,因此,本发明采用了early-stop(译文为提前终止)方法,在训练到损失函数J(θ)不 继续变小时即停止训练,来防止训练时发生的过拟合现象。“提前终止”为《深度学 习》第7.8节151页的内容,作者为伊恩·古德费洛,约书亚·本吉奥等,译者为 赵申剑,黎彧君;2017年8月1日第一版。
本发明与之前的网络表示学习方法相比,最大的不同是对于多标签网络中的每个节点都学习出了多个向量,使得每个标签拥有自己独立的向量表示,这是单向量网络 表示学习方法所不能解决的。通过加权的方式对这些标签向量进行处理,最终得到一 个新的节点表示向量,然后在不同领域的多标签数据集上做多标签分类的任务,相对 于之前的一些方法都有不同程度的提升,从而验证了本发明的有效性。
实施例1
本实施例采用了BlogCatalog社交关系网络数据集、PPI蛋白质网络数据集与Wikipedia单词共存网络数据集进行学习和实验工作。
BlogCatalog是一个博客网站上列出的博主的社交关系网络数据集,总共含有10312个节点,333983条边和39个不同的标签。标签代表博主的兴趣爱好,每一 个节点都包含一个或多个标签,表示该博主所拥有的不同的兴趣爱好。
PPI是一个蛋白质与蛋白质之间相互作用的网络数据集,总共含有3890个节点,76584条边和50个不同的标签。标签从标记基因集中获取,代表生物的状态。
Wikipedia是一个出现在Wikipedia存储的前100万个字节中的单词的共存网 络数据集,总共含有4777个节点,184812条边和40个不同的标签。标签代表单 词的词性,从Stanford POS-Tagger推断出来。
为了验证有效性,本发明方法主要对比了不同方法在多标签网络节点分类任务中的表现:
DeepWalk:采用了普通随机游走算法对网络进行采样,随后用word2vec算法 得到网络中每一个节点的表示。(2014DeepWalk:online learning of socialrepresentations[J].Perozzi B,Alrfou R,Skiena S.KDD:701-710.)
Node2Vec:是DeepWalk的升级版,采用了二阶随机游走算法对网络进行采 样,随后用word2vec算法得到网络中每一个节点的表示。(2016,node2vec: Scalable FeatureLearning for Networks[C].Grover A,Leskovec J. KDD:855.)
LINE:主要用于大规模网络嵌入,并且可以保持节点的一阶和二阶邻近度。它 分为两个独立的阶段为一个节点学习出一个d维的向量。在第一阶段,通过广度优 先搜索技术(BFS)在节点的直接邻居上学习前d/2维度;在第二阶段,通过从源 节点的2跳距离中采样出节点学习后d/2维度。最后拼接到一起形成一个向量。 (2015,LINE:Large-scaleInformation Network Embedding[J].Tang J,Qu M, Wang M,et al,2(2):1067-1077.)
Graph2Gauss:这种方法主要用于大规模的带属性网络上,他将每个节点嵌入 为高斯分布,并捕获关于节点表示的不确定性。(2017,Deep Gaussian Embedding ofGraphs:Unsupervised Inductive Learning via Ranking[J]. Bojchevski A,GünnemannS.)
对本发明方法选用多标签节点分类预测方法进行向量表示效果的对比。本实验均采用混合验证技术(cross-validation),在不同的分类预测方法选用one-vs-rest 分类器进行分类。
本发明方法采用了两个评价指标进行衡量分别是Micro-F1和Macro-F1。
其中Macro-F1的计算方法为:
其中Pmacro表示宏差准率,Rmacro表示宏查全率。
Micro-F1的计算方法为:
其中Pmicro表示微差准率,Rmicro表示微查全率。
在BlogCatalog数据集的效果如图2A、图2B所示,在PPI数据集的效果如图 3A、图3B所示,在Wikipedia数据集的效果如图4A、图4B所示,其中图2A、 图3A和图4A代表的是各方法在Macro-F1评价指标下的表现,图2B、图3B和 图4B代表的是各方法在Micro-F1评价指标下的表现。图的横轴代表了分类器的训 练数据占全部数据的百分比(这里用0到1之间的小数表示)。从图中可以看出, 本发明方法在不同领域的多标签数据集上的Macro-F1和Micro-F1评价指标下都比 其他几种网络表示学习方法的效果要好,特别可以看出,相比Node2Vec算法,本 发明方法在Macro-F1和Micro-F1评价指标下,对于各个训练数据所占比例均有 2%左右的提升,可以展现出本发明方法在对多标签网络进行多向量表示之后再进行 加权,得到的网络节点表示向量要显著比单向量的网络节点表示方法要好。
通过图2~图4的多标签分类的实验结果分析,这些实验体现了本发明方法能够更好地表达多标签网络的网络信息,从而得到更好的网络节点表示向量,因此可以验 证本发明方法的有效性。
Claims (6)
1.一种基于多标签网络的多向量表示学习方法,其特征在于表示学习有如下步骤:
步骤一,基于node2vec随机游走方法采样获取游走序列集合WALKS;
步骤101:构建属于任意nodea节点的空的节点游走序列,记为所述节点游走序列用来存储所述nodea节点经随机游走走出来的游走节点;定义所述节点游走序列的最大序列位数为mw,mw的取值为70~100位;然后执行步骤102;
步骤102:将所述nodea节点放入所述节点游走序列的第1位;然后执行步骤103;
步骤103:获取属于所述nodea节点的全部邻居节点集,记为且邻居节点是指与nodea节点之间存在连边的节点集合;然后执行步骤104;
表示nodea节点的第1个邻居节点,表示nodea节点的第2个邻居节点,表示nodea节点的任意一个邻居节点,表示nodea节点的最后一个邻居节点;f表示nodea节点的邻居节点标识号,F表示nodea节点的邻居节点总数,f∈F,F<A;
步骤104:随机选择所述邻居节点集中的任意一个邻居节点放入所述节点游走序列的第2位;然后执行步骤105;
步骤105:采用别名采样算法(alias sampling),根据二阶随机游走的跳转概率选取节点游走序列的第2位之后的所有游走节点,即得到属于nodea节点的节点游走序列;
pos表示当前游走节点,src表示位于所述pos的上一个游走节点,dst表示位于所述pos的下一个游走节点;p表示跳入参数,q表示跳出参数,distsrc,dst表示位于所述pos的上、下游走节点之间的最短跳数距离;
步骤106:对V={node1,node2,…,nodea,…,nodeo,…,nodeA}中的其他节点采用步骤101至步骤105,获得节点对应的节点游走序列;从而得到游走序列集合WALKS,且执行步骤201;
步骤二,采用负采样方法生成模型所需的训练数据;
步骤201:建立空的正样本队列Q正和空的负样本队列Q负,所述Q正、所述Q负分别用于存放训练模型所需要的正采样数据和负采样数据,然后执行步骤202;
步骤202:设立邻居窗口大小,记为WD,然后执行步骤203;
对第一任意节点游走序列中的任意序列-节点设立邻居窗口大小WD,认为在节点游走序列中与任意序列-节点的距离小于WD的全部节点为正样本节点;每次对任意序列-节点获取属于所述的2倍WD的相邻-游走节点集,记为且
表示在相邻-游走节点集中最小标识号的节点。
表示在相邻-游走节点集中最大标识号的节点;d表示节点游走序列中节点的标识号;D表示节点游走序列中节点的总数。
表示在相邻-游走节点集中除和以外的任意一个节点,简称序列—相邻节点。下角标l表示不是最大也不是最小节点的标识号,即除这2个节点之外的其他节点标识号。
步骤203:采用任意两个网络节点与正负样本标识构成一个三元组,执行步骤204;
对于序列-相邻节点与任意序列—节点构成一个三元组,即其中δ=+1代表该三元组为正样本,反之δ=-1则表示该三元组为负样本。
对网络中所有节点V={node1,node2,…,nodea,…,nodeo,…,nodeA}进行采样,每次从网络中选取任意两个节点,选取的两个节点可以是相邻的,也可以是不相邻的,即第一任意节点nodea,第二任意节点nodeo。如果两个节点之间不存在连边且两个随机选取的节点不相同(nodea≠nodeo),则将任意两个节点nodea、nodeo组成三元组(nodea,nodeo,-1)存入负样本队列Q负中,即如果两个节点之间存在连边((nodea,nodeo)∈E),或者两个随机选取的节点相同(nodea=nodeo),则将任意两个节点nodea、nodeo组成三元组(nodea,nodeo,+1)存入正样本队列Q正中,即
步骤204:设立一个正负样本比例参数β,假设正样本队列Q正中三元组个数为np,那么Q负中的三元组数量等于β×np;将得到的正样本队列Q正与负样本队列Q负合并在一起,得到一个新的样本队列Q新={Q1,...,Q(1+β)×np};
Q1表示新的样本队列Q新中的最小标识号的三元组。
Q(1+β)×np表示新的样本队列Q新中的最大标识号的三元组。下标(1+β)×np代表样本队列Q新中包含有(1+β)×np个三元组。
步骤205:将新的样本队列Q新={Q1,...,Q(1+β)×np}中的所有元素打乱顺序,得到乱序的样本队列Q排序={Q1-排序,...,Q(1+β)×np-排序},执行步骤301;
步骤三,采用基于Skip-gram的神经网络方法来构建概率模型;
为了方便说明构建概率模型将中的属于第一任意节点nodea的正样本-节点为将中的属于第一任意节点nodea的负样本-节点为概率模型的构建过程包括:
步骤301:针对所述Q排序={Q1-排序,...,Q(1+β)×np-排序},每次选择一个三元组作为一对节点放入神经网络概率模型中进行学习,执行步骤302;选择出的一个三元组记为(nodea,nodeo,δ);
步骤302:对于给定的nodea记它在节点游走序列中在窗口大小WD之内的部分记为且根据计算所述nodea在节点游走序列中的邻居向量表示,记为vneighbor(nodea),且η表示从中选取的一个游走节点;vg(η)表示游走节点η的全局向量;执行步骤303;
步骤303:为nodea维护若干个聚类集群,记第r个聚类中心为μ(nodea,r),其值为第r个聚类中的所有邻居向量的平均,并记此聚类集群中的邻居向量个数为num(nodea,r),计算所述nodea的每个聚类中心μ(nodea,r)与其邻居向量vneighbor(nodea)之间的相似程度sim(μ(nodea,r),vneighbor(nodea)),然后执行步骤304;r表示聚类集群的标识号;
为nodea所设定的聚类集群个数r(nodea)由超参数λ来确定,初始化每个节点为1个聚类集群;
步骤304:根据所述的nodea的每个聚类中心μ(nodea,r)与其邻居向量vneighbor(nodea)之间的相似程度来为所述nodea预测聚类标签;如果(这里λ为模型所设定的超参数),则为所述nodea重新生成一个聚类集群r(nodea)+1,并将所述nodea的聚类标签记为且将所述预测为否则然后执行步骤305;
聚类中心μ(nodea,r)与其邻居向量vneighbor(nodea)之间的相似程度sim(μ(nodea,r),vneighbor(nodea))由它们之间的余弦值来衡量,其值越接近1说明越相似。
步骤305:将nodea的第个标签向量设定为它所属的聚类中心即更新节点nodea第个聚类中心这是由于新的邻居向量vneighbor(nodea)加入到了这个聚类集群中,并且更新此聚类集群中的向量个数为
步骤306:在给定节点nodea的第个标签向量和其在节点游走序列中在窗口大小WD之内的部分的节点之后,计算属于nodea的正样本-节点(即三元组(nodea,nodeo,δ))为正样本的概率和属于第一任意节点nodea的负样本-节点(即三元组(nodea,nodeo,δ))为负样本的概率Pneg(nodea,nodeo,δ)=1-Ppos(nodea,nodeo,δ),利用δ将正负样本合并放入关于网络节点分布式表示的损失函数中,并进行损失函数的计算,得到全局损失函数J(θ),执行步骤307;
步骤307:采用随机梯度下降算法更新节点nodea的第个标签向量以及与节点nodea相关的正负样本的全局向量vg(η),最终得到网络中任意节点nodea的r(nodea)个标签向量全局向量vg(nodea)以及每个聚类集群中的邻居向量个数执行步骤308;
步骤308:设定任意节点nodea的第个聚类集群中的邻居向量个数为节点nodea的第个标签向量的权重,将属于任意节点nodea的所有标签向量加权平均,得到属于nodea的加权向量,记为NP(nodea),且
2.根据权利要求1所述的基于多标签网络的多向量表示学习方法,其特征在于:步骤105用于获取所有节点的节点游走序列的第3位游走节点及其之后的游走节点。
3.根据权利要求1所述的基于多标签网络的多向量表示学习方法,其特征在于:游走节点的全局向量vg(η)被随机初始化;所述vneighbor(nodea)体现了第一任意节点nodea在第一任意节点游走序列中的游走-邻居节点的全局向量的平均。
4.根据权利要求1所述的基于多标签网络的多向量表示学习方法,其特征在于:在BlogCatalog数据集上针对多标签节点分类试验效果提升2%。
5.根据权利要求1所述的基于多标签网络的多向量表示学习方法,其特征在于:在PPI数据集上针对多标签节点分类试验效果提升2%。
6.根据权利要求1所述的基于多标签网络的多向量表示学习方法,其特征在于:在Wikipedia数据集上针对多标签节点分类试验效果提升3%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811262282.7A CN109308497A (zh) | 2018-10-27 | 2018-10-27 | 一种基于多标签网络的多向量表示学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811262282.7A CN109308497A (zh) | 2018-10-27 | 2018-10-27 | 一种基于多标签网络的多向量表示学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109308497A true CN109308497A (zh) | 2019-02-05 |
Family
ID=65221884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811262282.7A Pending CN109308497A (zh) | 2018-10-27 | 2018-10-27 | 一种基于多标签网络的多向量表示学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308497A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196995A (zh) * | 2019-04-30 | 2019-09-03 | 西安电子科技大学 | 一种基于带偏置随机游走的复杂网络特征提取方法 |
CN110245348A (zh) * | 2019-05-17 | 2019-09-17 | 北京百度网讯科技有限公司 | 一种意图识别方法及系统 |
CN110417594A (zh) * | 2019-07-29 | 2019-11-05 | 吉林大学 | 网络构建方法、装置、存储介质及电子设备 |
CN110889001A (zh) * | 2019-11-25 | 2020-03-17 | 浙江财经大学 | 一种基于图表征学习的大图采样可视化方法 |
CN111062424A (zh) * | 2019-12-05 | 2020-04-24 | 中国科学院计算技术研究所 | 小样本食品图像识别模型训练方法及食品图像识别方法 |
CN111292062A (zh) * | 2020-02-10 | 2020-06-16 | 中南大学 | 基于网络嵌入的众包垃圾工人检测方法、系统及存储介质 |
CN111447179A (zh) * | 2020-03-03 | 2020-07-24 | 中山大学 | 一种针对以太网钓鱼诈骗的网络表示学习方法 |
CN112036165A (zh) * | 2019-05-14 | 2020-12-04 | 西交利物浦大学 | 一种新闻特征向量的构建方法及应用 |
CN113239311A (zh) * | 2021-05-08 | 2021-08-10 | 北京航空航天大学 | 一种在能量和时间约束下求解航天器可发射区范围的算法 |
-
2018
- 2018-10-27 CN CN201811262282.7A patent/CN109308497A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196995A (zh) * | 2019-04-30 | 2019-09-03 | 西安电子科技大学 | 一种基于带偏置随机游走的复杂网络特征提取方法 |
CN110196995B (zh) * | 2019-04-30 | 2022-12-06 | 西安电子科技大学 | 一种基于带偏置随机游走的复杂网络特征提取方法 |
CN112036165A (zh) * | 2019-05-14 | 2020-12-04 | 西交利物浦大学 | 一种新闻特征向量的构建方法及应用 |
CN110245348A (zh) * | 2019-05-17 | 2019-09-17 | 北京百度网讯科技有限公司 | 一种意图识别方法及系统 |
CN110245348B (zh) * | 2019-05-17 | 2023-11-24 | 北京百度网讯科技有限公司 | 一种意图识别方法及系统 |
CN110417594A (zh) * | 2019-07-29 | 2019-11-05 | 吉林大学 | 网络构建方法、装置、存储介质及电子设备 |
CN110889001A (zh) * | 2019-11-25 | 2020-03-17 | 浙江财经大学 | 一种基于图表征学习的大图采样可视化方法 |
CN110889001B (zh) * | 2019-11-25 | 2021-11-05 | 浙江财经大学 | 一种基于图表征学习的大图采样可视化方法 |
CN111062424A (zh) * | 2019-12-05 | 2020-04-24 | 中国科学院计算技术研究所 | 小样本食品图像识别模型训练方法及食品图像识别方法 |
CN111292062A (zh) * | 2020-02-10 | 2020-06-16 | 中南大学 | 基于网络嵌入的众包垃圾工人检测方法、系统及存储介质 |
CN111447179A (zh) * | 2020-03-03 | 2020-07-24 | 中山大学 | 一种针对以太网钓鱼诈骗的网络表示学习方法 |
CN113239311A (zh) * | 2021-05-08 | 2021-08-10 | 北京航空航天大学 | 一种在能量和时间约束下求解航天器可发射区范围的算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308497A (zh) | 一种基于多标签网络的多向量表示学习方法 | |
Dong et al. | Sequence data mining | |
Breve et al. | Particle competition and cooperation in networks for semi-supervised learning | |
Niu et al. | GMNN2CD: identification of circRNA–disease associations based on variational inference and graph Markov neural networks | |
Hosseini et al. | A big data driven distributed density based hesitant fuzzy clustering using Apache spark with application to gene expression microarray | |
Esmaili-Taheri et al. | Evolutionary solution for the RNA design problem | |
CN103559252A (zh) | 给游客推荐其很可能会浏览的景点的方法 | |
Micale et al. | GASOLINE: a greedy and stochastic algorithm for optimal local multiple alignment of interaction networks | |
CN108228728A (zh) | 一种参数化的论文网络节点表示学习方法 | |
Lagani et al. | Structure-based variable selection for survival data | |
Strąk et al. | A self-adaptive discrete PSO algorithm with heterogeneous parameter values for dynamic TSP | |
Kassiano et al. | Mining uncertain graphs: An overview | |
Bianchini et al. | Deep neural networks for structured data | |
Kim et al. | Graph applications to RNA structure and function | |
CN108427756A (zh) | 基于同类用户模型的个性化查询词补全推荐方法和装置 | |
Chen et al. | Self-training enhanced: Network embedding and overlapping community detection with adversarial learning | |
Bezáková et al. | Graph model selection using maximum likelihood | |
Trivodaliev et al. | Exploring function prediction in protein interaction networks via clustering methods | |
CN109326328A (zh) | 一种基于谱系聚类的古生物谱系演化分析方法 | |
Nasiri et al. | A node representation learning approach for link prediction in social networks using game theory and K-core decomposition | |
Ali et al. | Detection of gene ontology clusters using biclustering algorithms | |
Czajkowski et al. | Steering the interpretability of decision trees using lasso regression-an evolutionary perspective | |
Wu et al. | Sega: Structural entropy guided anchor view for graph contrastive learning | |
CN102708285A (zh) | 基于复杂网络模型并行化PageRank算法的核心药物挖掘方法 | |
Linder et al. | Deep exploration networks for rapid engineering of functional DNA sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190205 |