一种链路预测方法和装置转让专利
申请号 : CN201910576954.X
文献号 : CN110335165B
文献日 : 2021-03-30
发明人 : 高俊杰
申请人 : 京东数字科技控股有限公司
摘要 :
权利要求 :
1.一种链路预测方法,其特征在于,包括:根据现有关系网络数据生成第一训练集,所述第一训练集包括现有关系网络的各条边的类别标签,其中,边表示关系网络中两个用户间的关系,所述边的类别标签指示两个用户间的关系是否存在;
对选定模型进行参数优化,利用参数优化后的选定模型修正所述第一训练集中各条边的类别标签,以得到第二训练集;对选定模型进行参数优化的步骤,包括:初始化所述选定模型的多组参数;在所述选定模型的每组参数下,利用所述选定模型修正所述第一训练集中各条边的类别标签,以得到第三训练集,并利用所述第三训练集对链路预测模型执行第一训练,使用第一训练后的链路预测模型对预先生成的测试集进行链路预测,并根据预测结果计算该组参数下链路预测模型的预测准确度;根据所述多组参数和各组参数下链路预测模型的预测准确度,建立选定模型参数与链路预测模型的预测准确度之间的函数关系式;利用遗传算法优化所述函数关系式中的选定模型参数,得到所述参数优化后的选定模型的参数;
利用所述第二训练集训练链路预测模型;
使用训练后的链路预测模型对输入的关系网络数据进行链路预测。
2.根据权利要求1所述的方法,其特征在于,所述选定模型用于生成所述各条边的预测值,
修正所述第一训练集中各条边的类别标签,包括:将所述第一训练集中各条边的类别标签替换为所述各条边的预测值。
3.根据权利要求1所述的方法,其特征在于,根据现有关系网络数据生成第一训练集的步骤,包括:
根据现有关系网络数据,按照预设指标计算所述现有关系网络的各条边的特征集;
根据所述各条边的特征集和所述各条边的类别标签得到数据集;
将所述数据集按照预设比例划分为两部分,以其中一部分作为所述第一训练集;
所述测试集通过如下方式生成:
将所述数据集中除所述第一训练集之外的部分作为第一测试集;
对所述第一测试集进行多次采样,直到累计采样得到的样本总数量与所述第一测试集中样本数量相同时停止采样,将所有采样得到的样本的集合作为所述测试集。
4.根据权利要求1所述的方法,其特征在于,利用遗传算法优化所述函数关系式中的选定模型参数,得到所述参数优化后的选定模型的参数的步骤,包括:初始化种群,该种群中每一染色体通过将所述选定模型的一组参数值的二进制编码首尾连接得到;
对初始化的种群,计算种群中每个染色体对应的预测准确度,并判断其中的最高预测准确度是否达到预设要求,若是,则将对应最高预测准确度的染色体的二进制编码还原为一组十进制参数,作为所述参数优化后的选定模型的参数;若否,则对种群进行染色体选择、交叉和变异操作,以得到新的种群,并不断重复上述过程,直到某次得到的最新种群中染色体对应的最高预测准确度达到所述预设要求时,将对应最高预测准确度的一染色体的二进制编码还原为一组十进制参数,作为所述参数优化后的选定模型的参数;其中,染色体对应的预测准确度为将组成该染色体的二进制编码还原为所述选定模型的一组参数后,该组参数下链路预测模型的预测准确度,根据所述函数关系式计算所述染色体对应的预测准确度。
5.根据权利要求1所述的方法,其特征在于,所述选定模型为逻辑回归模型或前馈神经网络模型。
6.一种链路预测装置,其特征在于,包括:第一训练集生成模块,用于根据现有关系网络数据生成第一训练集,所述第一训练集包括现有关系网络的各条边的类别标签,其中,边表示关系网络中两个用户间的关系,所述边的类别标签指示两个用户间的关系是否存在;
第二训练集生成模块,用于对选定模型进行参数优化,利用参数优化后的选定模型修正所述第一训练集中各条边的类别标签,以得到第二训练集;其中,所述第二训练集生成模块包括参数优化子模块,用于:初始化所述选定模型的多组参数;在所述选定模型的每组参数下,利用所述选定模型修正所述第一训练集中各条边的类别标签,以得到第三训练集,并利用所述第三训练集对链路预测模型执行第一训练,使用第一训练后的链路预测模型对预先生成的测试集进行链路预测,并根据预测结果计算该组参数下链路预测模型的预测准确度;根据所述多组参数和各组参数下链路预测模型的预测准确度,建立选定模型参数与链路预测模型的预测准确度之间的函数关系式;利用遗传算法优化所述函数关系式中的选定模型参数,得到所述参数优化后的选定模型的参数;链路预测模型训练模块,用于利用所述第二训练集训练链路预测模型;
链路预测模块,用于使用训练后的链路预测模型对输入的关系网络数据进行链路预测。
7.一种电子设备,其特征在于,包括:一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
说明书 :
一种链路预测方法和装置
技术领域
背景技术
边),链路预测技术广泛应用于社交好友推荐、异常交易监测等领域。
确地观察到所有边,例如,虽然当前没有观测到,但是某一连边可能真实存在,或者,虽然观
察到该边存在,但是该边是虚假的,这些情况使得判定准确度大幅度下降。
发明内容
述边的类别标签指示两个用户间的关系是否存在;对选定模型进行参数优化,利用参数优
化后的选定模型修正所述第一训练集中各条边的类别标签,以得到第二训练集;利用所述
第二训练集训练链路预测模型;使用训练后的链路预测模型对输入的关系网络数据进行链
路预测。
别标签,以得到第三训练集,并利用所述第三训练集对所述链路预测模型执行第一训练,使
用第一训练后的链路预测模型对预先生成的测试集进行链路预测,并根据预测结果计算该
组参数下链路预测模型的预测准确度;根据所述多组参数和各组参数下链路预测模型的预
测准确度,建立选定模型参数与链路预测模型的预测准确度之间的函数关系式;利用遗传
算法优化所述函数关系式中的选定模型参数,得到所述参数优化后的选定模型的参数。
值。
和所述各条边的类别标签得到数据集;将所述数据集按照预设比例划分为两部分,以其中
一部分作为所述第一训练集;所述测试集通过如下方式生成:将所述数据集中除所述第一
训练集之外的部分作为第一测试集;对所述第一测试集进行多次采样,直到累计采样得到
的样本总数量与所述第一测试集中样本数量相同时停止采样,将所有采样得到的样本的集
合作为所述测试集。
型的一组参数值的二进制编码首尾连接得到;对初始化的种群,计算种群中每个染色体对
应的预测准确度,并判断其中的最高预测准确度是否达到预设要求,若是,则将对应最高预
测准确度的染色体的二进制编码还原为一组十进制参数,作为所述参数优化后的选定模型
的参数;若否,则对种群进行染色体选择、交叉和变异操作,以得到新的种群,并不断重复上
述过程,直到某次得到的最新种群中染色体对应的最高预测准确度达到所述预设要求时,
将对应最高预测准确度的一染色体的二进制编码还原为一组十进制参数,作为所述参数优
化后的选定模型的参数;其中,染色体对应的预测准确度为将组成该染色体的二进制编码
还原为所述选定模型的一组参数后,该组参数下链路预测模型的预测准确度,根据所述函
数关系式计算所述染色体对应的预测准确度。
络中两个用户间的关系,所述边的类别标签指示两个用户间的关系是否存在;第二训练集
生成模块,用于对选定模型进行参数优化,利用参数优化后的选定模型修正所述第一训练
集中各条边的类别标签,以得到第二训练集;链路预测模型训练模块,用于利用所述第二训
练集训练链路预测模型;链路预测模块,用于使用训练后的链路预测模型对输入的关系网
络数据进行链路预测。
各条边的类别标签,以得到第三训练集,并利用所述第三训练集对所述链路预测模型执行
第一训练,使用第一训练后的链路预测模型对预先生成的测试集进行链路预测,并根据预
测结果计算该组参数下链路预测模型的预测准确度;根据所述多组参数和各组参数下链路
预测模型的预测准确度,建立选定模型参数与链路预测模型的预测准确度之间的函数关系
式;利用遗传算法优化所述函数关系式中的选定模型参数,得到所述参数优化后的选定模
型的参数。
值。
标签得到数据集;将所述数据集按照预设比例划分为两部分,以其中一部分作为所述第一
训练集;所述装置还包括测试集生成模块,用于通过如下方式生成所述测试集:将所述数据
集中除所述第一训练集之外的部分作为第一测试集;对所述第一测试集进行多次采样,直
到累计采样得到的样本总数量与所述第一测试集中样本数量相同时停止采样,将所有采样
得到的样本的集合作为所述测试集。
种群,计算种群中每个染色体对应的预测准确度,并判断其中的最高预测准确度是否达到
预设要求,若是,则将对应最高预测准确度的染色体的二进制编码还原为一组十进制参数,
作为所述参数优化后的选定模型的参数;若否,则对种群进行染色体选择、交叉和变异操
作,以得到新的种群,并不断重复上述过程,直到某次得到的最新种群中染色体对应的最高
预测准确度达到所述预设要求时,将对应最高预测准确度的一染色体的二进制编码还原为
一组十进制参数,作为所述参数优化后的选定模型的参数;其中,染色体对应的预测准确度
为将组成该染色体的二进制编码还原为所述选定模型的一组参数后,该组参数下链路预测
模型的预测准确度,根据所述函数关系式计算所述染色体对应的预测准确度。
明提供的链路预测方法。
化,利用参数优化后的选定模型修正第一训练集中各条边的类别标签,以得到第二训练集;
利用第二训练集训练链路预测模型;使用训练后的链路预测模型对输入的关系网络数据进
行链路预测。能够提高链路预测的准确性,改善关系网络数据挖掘的效果。
附图说明
具体实施方式
到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同
样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
用户B为好友关系,B与C为好友关系,则关系挖掘的目的是研究A与C是否有机会成为好友关
系。
间的关系,如果观察到两个用户间存在关系,则对应该条边存在,记为1,如未观察到该条
边,表示两个用户之间不存在关系,则记为0,从而将用户间的关系转换为网络数据图或邻
接矩阵,为方便计算,现有关系网络数据通常采用邻接矩阵的形式。
路预测模型训练的数据格式,数据具体由行和列组成,其中每一行代表一条边,例如网络中
有3个用户,则对应会产生C32条边,每一列代表对应于该条边的一个特征,每个特征即上述
计算的一个指标值,每条边的指标值的集合构成该条边的特征集,从而得到现有关系网络
的各条边的特征集。
行表示一条边,每条边对应的各列(最后一列除外)为该条边的特征,最后一列为该条边的
类别标签。
个节点的邻居数是指与该节点相连接的其他节点的数目。两个节点如果有更多的共同邻
居,则它们更倾向于连边,例如A与B有一条连边,B与C有一条连边,则A与C的共同邻居为B。
定义平均首达时间m(x,y)为一个随机游走粒子从节点vx到节点vy平均需要的步数,那么节
点vx和vy的平均通勤时间n(x,y)=m(x,y)+m(y,x)。局部路径指标(LP)是在共同邻居指标的
基础上考虑三阶邻居(即经过三条边连接两节点的路径)的贡献。Katz指标考虑的是连接两
个节点的所有可能的路径数。偏好连接相似性(PA)是指在关系网络中,一条即将加入的新
边连接到节点x的概率正比于节点x的度k(x),因此新边连接节点x和y的概率正比于两节点
度的乘积,节点的度即节点的邻居数。有重启的随机游走指标(RWR)假设随机游走粒子在每
一步的时候都以一定概率返回初始位置,由此可以得到从某一节点开始游走的粒子在t步
到达每个节点的可能性。
值替代第一训练集中各条边的类别标签后,得到的训练集即第二训练集。
训练集,并利用第三训练集对链路预测模型执行第一训练,使用第一训练后的链路预测模
型对预先生成的测试集进行链路预测,并根据预测结果计算该组参数下链路预测模型的预
测准确度;根据多组参数和各组参数下链路预测模型的预测准确度,建立选定模型参数与
链路预测模型的预测准确度之间的函数关系式;利用遗传算法优化该函数关系式中的选定
模型参数,得到参数优化后的选定模型的参数。
边生成新的类别标签,并可以组成新的训练集(即第三训练集)。
样本总数量与第一测试集中样本数量相同时停止采样,将所有采样得到的样本的集合作为
该测试集。
链路预测模型的预测准确度。
参数值和对应的预测准确度可以得到选定模型参数与链路预测模型的预测准确度之间的
函数关系式:y=g(f(x1,x2...)),其中g为准确度函数,该函数由选定模型与预测准确度的
度量方法两部分组成,该函数由于不可微分,所以无法使用传统的优化方法得到参数值,本
发明实施例将该步骤包装为函数形式,函数的输入值为选定模型参数,输出值为预测准确
度。
对初始化的种群,计算种群中每个染色体对应的预测准确度,并判断其中的最高预测准确
度是否达到预设要求,若是,则将对应最高预测准确度的染色体的二进制编码还原为一组
十进制参数,作为参数优化后的选定模型的参数;若否,则对种群进行染色体选择、交叉和
变异操作,以得到新的种群,并不断重复上述过程,直到某次得到的最新种群中染色体对应
的最高预测准确度达到预设要求时,将对应最高预测准确度的一染色体的二进制编码还原
为一组十进制参数,作为参数优化后的选定模型的参数;其中,染色体对应的预测准确度为
将组成该染色体的二进制编码还原为选定模型的一组参数后,该组参数下链路预测模型的
预测准确度,根据函数关系式计算所述染色体对应的预测准确度。
有参数都将在这个区间中,编码方式选择二进制编码,具体地,采用区间划分,通过将有限
区间划分为小段,如[0,1]以0.1为精度划分为10段,则这10段区间可以用2^4>10,即4位二
进制数表示。例如0.637197可以编码为1000101110110101000111。
[0.637197,0.637197]为例,首先进行二进制编码为[1000101110110101000111,
1000101110110101000111],随后将二进制编码首尾连接为:
进制编码收尾连接,生成50个连接后的值,并将该50组值的集合称为初始化的种群。
将该参数值代入选定模型参数与链路预测模型的预测准确度之间的函数关系式,即可得到
对应于该参数值下的预测准确度,50组参数值对应50个染色体,50个染色体相应可得到50
个预测准确度。
体,对应的预测准确度为[0.6,0.3],则第一个染色体被选择的概率为0.6/(0.3+0.6)=
0.66,第二个染色体被选择概率为0.3/(0.3+0.6)=0.34,则可以根据该选择概率进行采
样,概率大的染色体有更高的概率被选中,例如可以从50个染色体中选择25个染色体。
中原染色体数量相同,例如选出的25个染色体经25次交叉操作后,得到50个新染色体。
即将原始节点“1”变成“0”、将原始节点“0”变成“1”。例如变异前:
求,若不满足预设要求,则以该新的种群作为当前种群,继续进行染色体选择、交叉和变异,
再得到新的种群,如此循环,直到某次得到的最新种群中染色体的最高预测准确度满足预
设要求时,停止循环,并输出参数优化后的选定模型的参数,参数优化后的选定模型的参数
通过将对应最高预测准确度的染色体的二进制编码还原为十进制而得到。
如果当前种群中有某一个染色体对应的预测准确度达到了预设的准确度值。
训练链路预测模型,得到训练后的链路预测模型。
后的链路预测模型,以确定该关系网络的各条边(用户间关系)是否存在。
过用户的转账数据发现用户A、B之间存在转账关系,但是B、C之间则通过现金交易,并且无
法观察到该关系。现有技术则认为B、C间既然没有观察到,则B、C间不存在任何金融关系,从
而导致挖掘关系的模型效果受到影响。本实施例利用逻辑回归模型调整此类错误的关系,
在调整之后进行建模,从而提高最后的支持向量机模型的链路预测效果。
指标等指标,以得到各条边的特征集。
度的函数形式。
训练集对初始化的支持向量机模型执行第一训练,使用第一训练后的支持向量机模型对预
先生成的测试集进行链路预测,并根据预测结果计算该组参数下支持向量机模型的预测准
确度;根据多组参数和各组参数下支持向量机模型的预测准确度,建立逻辑回归参数与支
持向量机模型的预测准确度之间的函数关系式,该函数形式的输入为逻辑回归参数、输出
为支持向量机模型的预测准确度。其中,测试集根据第一测试集生成,具体生成方法上文已
经介绍,此处不再赘述。
并判断其中的最高预测准确度是否达到预设要求,若是,则将对应最高预测准确度的染色
体的二进制编码还原为一组十进制参数,作为参数优化后的逻辑回归参数;若否,则对种群
进行染色体选择、交叉和变异操作,以得到新的种群,并不断重复上述过程,直到某次得到
的最新种群中染色体对应的最高预测准确度达到预设要求时,将对应最高预测准确度的一
染色体的二进制编码还原为一组十进制参数,作为参数优化后的逻辑回归参数;其中,染色
体对应的预测准确度为将组成该染色体的二进制编码还原为逻辑回归模型的一组参数后,
该组参数下支持向量机模型的预测准确度,根据函数关系式计算染色体对应的预测准确
度。
得到第二训练集。
存在大量无法观察到却真实存在的边与虚假边时关系网络数据挖掘的效果差的缺陷。
的类别标签指示两个用户间的关系是否存在。
集;将数据集按照预设比例划分为两部分,以其中一部分作为第一训练集。
计采样得到的样本总数量与第一测试集中样本数量相同时停止采样,将所有采样得到的样
本的集合作为测试集。
到第三训练集,并利用第三训练集对链路预测模型执行第一训练,使用第一训练后的链路
预测模型对预先生成的测试集进行链路预测,并根据预测结果计算该组参数下链路预测模
型的预测准确度;根据多组参数和各组参数下链路预测模型的预测准确度,建立选定模型
参数与链路预测模型的预测准确度之间的函数关系式;利用遗传算法优化函数关系式中的
选定模型参数,得到参数优化后的选定模型的参数。
群中每个染色体对应的预测准确度,并判断其中的最高预测准确度是否达到预设要求,若
是,则将对应最高预测准确度的染色体的二进制编码还原为一组十进制参数,作为参数优
化后的选定模型的参数;若否,则对种群进行染色体选择、交叉和变异操作,以得到新的种
群,并不断重复上述过程,直到某次得到的最新种群中染色体对应的最高预测准确度达到
预设要求时,将对应最高预测准确度的一染色体的二进制编码还原为一组十进制参数,作
为参数优化后的选定模型的参数;其中,染色体对应的预测准确度为将组成该染色体的二
进制编码还原为选定模型的一组参数后,该组参数下链路预测模型的预测准确度,根据函
数关系式计算染色体对应的预测准确度。
包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信
息--仅为示例)反馈给终端设备。
施例的功能和使用范围带来任何限制。
执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。
CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总
线504。
以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因
特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如
磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出
的计算机程序根据需要被安装入存储部分508。
可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在
这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可
拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统
中限定的上述功能。
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计
算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便
携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储
器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、
或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程
序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本
申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,
其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限
于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可
读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于
由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的
程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述
的任意合适的组合。
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个
用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所
标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际
上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要
注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规
定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组
合来实现。
括第一训练集生成模块、第二训练集生成模块、链路预测模型训练模块、链路预测模块。其
中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一训练集生成模
块还可以被描述为“用于根据现有关系网络数据生成第一训练集的模块”。
机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使
得该设备包括:根据现有关系网络数据生成第一训练集,所述第一训练集包括现有关系网
络的各条边的类别标签,其中,边表示关系网络中两个用户间的关系,所述边的类别标签指
示两个用户间的关系是否存在;对选定模型进行参数优化,利用参数优化后的选定模型修
正所述第一训练集中各条边的类别标签,以得到第二训练集;利用所述第二训练集训练链
路预测模型;使用训练后的链路预测模型对输入的关系网络数据进行链路预测。
的选定模型修正第一训练集中各条边的类别标签,以得到第二训练集;利用第二训练集训
练链路预测模型;使用训练后的链路预测模型对输入的关系网络数据进行链路预测。能够
提高链路预测的准确性,改善关系网络数据挖掘的效果。
在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围
之内。