一种基于深度置信网络的链路预测方法技术

技术编号:15910800 阅读:49 留言:0更新日期:2017-08-01 22:30
本发明专利技术公开了一种基于深度置信网络的链路预测方法,首先训练数据采集模块从给定网络结构中随机采样得到训练边集、验证边集和测试边集;网络结点特征表示模块在经过训练数据采集模块处理过的网络中,使用deepwalk算法生成每一个网络结点的特征表示;边特征表示生成模块完成对训练边集、验证边集和测试边集中的每一条边计算特征表示,为了符合深度置信网络对输入数据的要求,还需要对生成的边的特征向量进行归一化处理;最后深度置信网络训练模块构建深度置信网络结构,并加载训练边集、验证边集和测试边集进行训练。本发明专利技术可以取得比传统的链路预测算法更高的预测正确率,对各种结构特征的网络具有普适性。

A link prediction method based on depth confidence network

The invention discloses a link prediction methods based on deep belief network, first training data acquisition module from a given network structure in random sampling while training set and validation set and test set of edge edge; network node feature representation module after the training data acquisition module is processed in the network, using deepwalk algorithm to generate feature representation each network node; edge feature representation module to complete the verification and testing side edge set focused on the training set of edges, each edge computing feature representation, in order to meet the requirements of deep belief networks to input data, it is necessary to generate feature vectors of edges are normalized; finally deep belief network training modules to build a deep belief network structure, and load the training set and validation set and edge edge edge test set for training. The invention can achieve higher prediction accuracy than the traditional link prediction algorithm, and has universal applicability to networks with various structural characteristics.

【技术实现步骤摘要】
一种基于深度置信网络的链路预测方法
本专利技术属于人工神经网络
,具体涉及一种基于深度置信网络的链路预测方法。
技术介绍
基于游走的网络表示学习算法,例如deepwalk,是利用了word2vec的理论方法,将网络中的结点与自然语言处理中的词单元进行了类比,将网络中的一条一条的连接路径类比作自然语言处理中的一条语句;利用概率语言模型中求解每一个词语之间共现关系(即所有的条件概率参数)的方法来探讨网络结点之间的连接结构;利用生成词向量的方法生成了网络中结点的向量表示方法。通过这种类比算法得到的网络结点的向量,反映了对应网络结点与周围邻居结点联系的结构特征,同时实现了网络结点的低维向量表示,这就为针对网络数据的一些数据挖掘问题,比如网络结点分类,链路预测,社区发现等等,提供了一个新的使用机器学习算法进行处理或是优化的思路。深度学习是机器学习的一个分支,是基于传统人工神经网络计算模型,利用新的训练方式改进传统浅层神经网络的一类智能算法的总称。传统的浅层的神经网络模型通常面临着数据特征人工或者自行提取、容易求得局部极小值、多层(超过三层)的神经网络模型很难进行优化三个难题。Hinton于2006年提出深度置信网络,深度置信网络计算模型采用全新的网络结构和训练方式,很好的解决了上述的三个问题。现在,DBN已被广泛作为一种典型的改造传统的浅层神经网络计算模型网络层数和训练方式的一种深度学习算法。链路预测是通过给定网络的结点属性信息和网络的连接结构信息对网络中尚未存在边的结点对之间出现边的可能性的预测。链路预测任务既包括对网络中已经存在但尚未被发现的边的预测,也包括对网络中尚未存在但未来有可能出现的边的预测。其中,前者属于对网络的数据挖掘过程,而后者涉及对网络的演化的研究。根据网络数据所代表的物理含义的不同,链路预测具有不同的研究价值,同时也吸引了不同领域的学者的深入研究。在最常见的社交网络中,链路预测的原理已被广泛地应用到好友推荐、兴趣推荐等功能的实现中。另外,链路预测的理论和方法还可以被用于在已知部分结点标签的网络中对未知的结点的标签的类型进行预测。在生物领域,对蛋白质相互作用网络中蛋白质之间的相互作用关系,人类依旧知之甚少。如果可以设计一种对该网络行之有效的链路预测算法,利用该算法的预测结果来指导对蛋白质相互作用关系的研究,设计具体生物实验来验证,那么将节省大量的实验开销,同时大大推动人类认识蛋白质相关作用原理的步伐。为了评价链路预测算法的有效性,通常的做法是将E分为测试集和训练集两部分。链路预测算法处理的无向网络中只包含了训练集中的边信息。在链路预测算法处理之前要将测试集中的边从网络中移除,然后,利用链路预测算法对测试集中的边与采样得到的不存在边的结点对进行打分。最后,使用链路预测结果的不同评判指标,对打分结果,即预测结果进行评估,检测该链路预测算法的预测准确性。但上述传统方法存在链路预测算法预测正确率偏低,以及对网络的各种结构特征的普适性偏低的问题。
技术实现思路
本专利技术是针对传统的链路预测算法预测正确率偏低,以及对网络的各种结构特征的普适性偏低的问题。为达到上述目的,本专利技术提出一种基于深度置信网络的链路预测方法,具体包含以下步骤:步骤1:训练数据采集模块完成从给定网络结构中随机采样得到训练边集、验证边集和测试边集,其中每一个边集中包含等比例的正样本和负样本;步骤2:网络结点特征表示模块在经过训练数据采集模块处理过的网络中,使用deepwalk算法生成每一个网络结点的特征表示;步骤3:边特征表示生成模块完成对训练边集、验证边集和测试边集中的每一条边计算边的特征表示,为了符合深度置信网络对输入数据的要求,还需要对生成的边的特征向量进行归一化处理;步骤4:深度置信网络训练模块完成深度置信网络结构的建立,并加载训练边集、验证边集和测试边集进行训练。进一步,步骤1中,每个边集的大小可以灵活配置,可以通过train_percent参数配置在所用现存的边中训练边集的正样本所占的比例;通过valid_percent参数配置验证边集和测试边集之间的比例关系。又进一步,上述验证边集和测试边集中的正样本需要从原始网络结构中去除,在去除过程中为了保证网络的连通性,需要首先建立一个网络的生成树,负样本的采集需要在正样本采集之前,以防止采集到正样本采集中去除的边。进一步,步骤3中对于得到的每一个结点的特征表示,使用拼接得到一条边的特征表示。步骤4中深度置信网络模型包含输入层、隐层和输出层,输入层维度是边特征向量的维度,隐层可以包括若干层,可以根据分类效果灵活设置,输出层包括两维。上述训练过程包含以下步骤:(1)首先使用训练边集对深度置信网络中的受限玻尔兹曼机模型进行预训练,在预训练结束之后,使用训练边集对逻辑回归模型进行训练,逻辑回归模型的目标函数使用对数似然函数的负数;(2)逻辑回归模型的每一轮训练中,在使用训练边集进行训练之后,使用验证边集对整个深度置信网络模型的参数进行微调,计算预测错误率;(3)记录错误率最低时模型参数,并使用测试边集进行测试,输出的测试结果包括对测试边集中每一条边的打分值和对应的真实值;(4)对测试结果的输出使用AUC,Precision和RankingScore对测试边集中的每一条边的预测结果进行评估。本专利技术的有益效果在于:1、通过设置合适的深度置信网络训练参数,本专利技术设计的链路预测算法可以取得比传统的链路预测算法更高的预测正确率。2、传统的链路预测算法的预测效果通常依赖于具体的网络的结构特征,如网络的集聚系数等,本专利技术设计的链路预测算法通过深度学习边周围的网络结构特征,对各种结构特征的网络具有普适性。附图说明图1为训练数据集采集过程图。图2为正样本采集过程图。图3为负样本采集过程图。图4为深度置信网络模型的结构示意图。具体实施方式现结合附图对本专利技术做进一步详细的说明。本专利技术针对无向网络提出一种使用深度置信网络分类模型进行链路预测的算法,具体实施方法包括:训练数据集采集模块,根据深度置信网络训练过程的特点,该模块需要采集得到训练边集、验证边集和测试边集。网络结点特征表示模块,对采集数据集处理过后的网络数据,使用deepwalk算法得到每一个网络结点的特征向量表示;生成边特征表示模块,每一条边可以使用结点对来表示,我们使用将两个结点对各自的特征向量直接拼接的方式(joint)生成对应的边的特征向量表示;构建深度置信网络结构,根据生成的边特征向量表示的维度来确定输入层神经元的个数,隐层若干层,包括一个以上的受限玻尔兹曼机模型结构,输出层为两层,分别代表输入的边样本在网络中存在或是不存在两个类别,使用一个逻辑回归模型对受限玻尔兹曼机模型训练得到的边特征进行分类。步骤1:训练数据采集模块完成从给定网络结构中随机采样得到训练边集、验证边集和测试边集,其中每一个边集中包含等比例的正样本(表示对应边在网络中已存在的样本)和负样本(表示对应边在网络中不存在的样本),详见图1。每个边集的大小可以灵活配置,可以通过train_percent参数配置在所用现存的边中,训练边集的正样本所占的比例;通过valid_percent参数配置验证边集和测试边集之间的比例关系。验证边集和测试边集中的正样本需要从原始网络结构中本文档来自技高网
...
一种基于深度置信网络的链路预测方法

【技术保护点】
一种基于深度置信网络的链路预测方法,其特征在于包含以下步骤:步骤1:训练数据采集模块完成从给定网络结构中随机采样得到训练边集、验证边集和测试边集,其中每一个边集中包含等比例的正样本和负样本;步骤2:网络结点特征表示模块在经过训练数据采集模块处理过的网络中,使用deepwalk算法生成每一个网络结点的特征表示;步骤3:边特征表示生成模块完成对训练边集、验证边集和测试边集中的每一条边计算边的特征表示,为了符合深度置信网络对输入数据的要求,还需要对生成的边的特征向量进行归一化处理;步骤4:深度置信网络训练模块完成深度置信网络结构的建立,并加载训练边集、验证边集和测试边集进行训练。

【技术特征摘要】
1.一种基于深度置信网络的链路预测方法,其特征在于包含以下步骤:步骤1:训练数据采集模块完成从给定网络结构中随机采样得到训练边集、验证边集和测试边集,其中每一个边集中包含等比例的正样本和负样本;步骤2:网络结点特征表示模块在经过训练数据采集模块处理过的网络中,使用deepwalk算法生成每一个网络结点的特征表示;步骤3:边特征表示生成模块完成对训练边集、验证边集和测试边集中的每一条边计算边的特征表示,为了符合深度置信网络对输入数据的要求,还需要对生成的边的特征向量进行归一化处理;步骤4:深度置信网络训练模块完成深度置信网络结构的建立,并加载训练边集、验证边集和测试边集进行训练。2.根据权利要求1所述的基于深度置信网络的链路预测方法,其特征在于步骤1中,每个边集的大小可以灵活配置,可以通过train_percent参数配置在所用现存的边中训练边集的正样本所占的比例;通过valid_percent参数配置验证边集和测试边集之间的比例关系。3.根据权利要求2所述的基于深度置信网络的链路预测方法,其特征在于验证边集和测试边集中的正样本需要从原始网络结构中去除,在去除过程中为了保证网络的连通性,需要首先建立一个网络的生成树,负...

【专利技术属性】
技术研发人员:李涛王次臣李华康
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1