相似性度量的方法及设备技术

技术编号:13794149 阅读:116 留言:0更新日期:2016-10-06 08:50
本发明专利技术实施例提供了一种相似性度量的方法,包括:获取网络中的节点之间的指向关系并确定转移矩阵;根据转移矩阵和所获取的衰减因子计算约束矩阵;构建线性方程组,其中,线性方程组的系数矩阵为所述约束矩阵,线性方程组的变量为矫正向量;通过Jacobi方法迭代求解线性方程组,确定矫正向量;根据转移矩阵、衰减因子和由矫正向量所生成的对角矫正矩阵,计算节点之间的相似度。本发明专利技术实施例中,采用Jacobi方法确定矫正向量,进一步可计算节点之间的相似度。在Jacobi方法的每一次迭代中,计算矫正向量的各个元素是互相独立的,这样能够并行计算,从而能够利用计算机集群有效地减少计算时间,降低计算时的时间复杂度和空间复杂度,并且能够适用于大网络。

【技术实现步骤摘要】

本专利技术实施例涉及数据处理领域,并且更具体地,涉及一种相似性度量的方法及设备
技术介绍
在如今的大数据互联网时代,大图和大网络是数据和信息的常见表达方式,例如,社交网络、互联网、电子商务、通信网络等。基于图的应用可以包括检索和推荐。其中,检索可以例如谷歌(google)搜索引擎。推荐可以例如脸书(Facebook)朋友推荐、领英(LinkedIn)职业推荐、网飞(Netflix)电影推荐、易贝(Ebay)和亚马逊(Amazon)商品推荐、推特(Twitter)消息推荐等。一般地,检索和推荐都是基于图中节点之间的相似性进行的。例如,社交网络是朋友之间分享信息的重要平台。朋友越多,信息共享和交流越频繁。因此维护社交网络的一个重要功能是,根据节点之间的相似性进行朋友推荐。再例如,在华为离网分析中,假设客户A放弃联通业务转向移动业务,那么对于联通来说,需要了解与客户A最为“相似”的客户,作为潜在的可能会流失的客户并重点关注。一种衡量节点间的相似性的方法为:收集所有节点的各种属性,例如年龄、职业、收入、爱好等,然后根据各种属性的相似性来衡量节点之间的相似性。然而,这种方法不仅需要收集大量的客户信息,对存储要求高,并且这种方法可能会涉及到客户的个人隐私信息。另一种较为有效地进行节点之间的相似性度量的方法为SimRank。目前,SimRank已经被广泛地应用在各种场景中,例如,推荐系统、信息检索、连接预测(link prediction)、引文网络(citation network)、学生课程网络等。但是,现有技术当中基于SimRank的相似性度量的方法是根据定义直接计算的,造成时间和空间复杂度高,不适于大网络。
技术实现思路
本专利技术实施例提供一种相似性度量的方法,时间和空间复杂度低,能够适于大网络。第一方面,提供了一种相似性度量的方法,包括:获取网络中的n个节点两两之间的指向关系,并根据所述指向关系确定转移矩阵,其中,所述转移矩阵的维度为n×n,n为大于或等于2的正整数;获取衰减因子,并根据所述转移矩阵和所述衰减因子计算约束矩阵,其中,所述衰减因子为SimRank相似度方法中定义的衰减因子,且所述约束矩阵的维度为n×n;根据所述约束矩阵,构建线性方程组,其中,所述线性方程组的系数矩阵为所述约束矩阵,所述线性方程组的变量为矫正向量;采用雅可比Jacobi方法迭代求解所述线性方程组,确定所述矫正向量;根据所述矫正向量生成对角矫正矩阵,其中,所述对角矫正矩阵的对角元素为所述矫正向量的分量,且所述对角矫正矩阵的维度为n×n;根据所述转移矩阵、所述衰减因子和所述对角矫正矩阵,计算所述n个节点之间的相似度。结合第一方面,在第一方面的第一种可能的实现方式中,所述采用Jacobi方法迭代求解所述线性方程组,确定所述矫正向量,包括:采用Jacobi方法迭代求解所述线性方程组,并将收敛时的解确定为所述矫正向量,或者,将达到预设的最大迭代次数时的解确定为所述矫正向量。结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述约束矩阵表示为A,所述矫正向量表示为x,所述线性方程组表示为Ax=b,其中,b为每个元素均为1的向量。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述采用Jacobi方法迭代求解所述线性方程组,确定所述矫正向量,包括:通过 x i ( k ) = 1 a ii ( b i - Σ j ≠ i a ij x j ( k - 1 ) ) ]]>计算所述矫正向量;其中,xi表示所述矫正向量x的第i个元素,xj表示所述矫正向量x的第
j个元素,aij表示所述约束矩阵A的第i行第j列的元素,aii表示所述约束矩阵A的第i行第i列的元素,bi=1,k表示所述Jacobi方法的迭代次数,i,j=1,2,…,n,并且,k为正整数。结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述衰减因子表示为c,所述转移矩阵表示为P,所述约束矩阵表示为A,所述根据所述转移矩阵和所述衰减因子计算约束矩阵,包括:确定所述约束矩阵A的元素为aij=ei·ej+cPei·Pej+…+ctPtei·Ptej,其中,ei、ej为正交单位向量,t为预设的正整数。结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述矫正向量表示为x,所述对角矫正矩阵表示为D,所述根据所述矫正向量生成对角矫正矩阵,包括:确定所述对角矫正矩阵D的元素Dij为: D ij = x i , i = j 0 , i ≠ j , ]]>其中,Dij表示所述对角矫正矩阵D的第i行第j列的元素,xi表示所述矫正向量x的第i个元素,i,j=1,2,…,n。结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述衰减因子表示为c,所述转移矩阵表示为P,所述对角矫正矩阵表示为D,所述节点之间的相似度表示为S,所述根据所述转移矩阵、所述衰减因子和所述对角矫正矩阵,计算所述n个节点之间的相似度,包括:根据下式计算所述n个节点之间的相似度:S=D+cPTDP+c2(PT)2DP2+…+ct(PT)tDPt;其中,T表示转置,t为预设的正整数,S所表示的矩阵的第i行第j列的元素sij表示第i个节点与第j个节点之间的相似度。结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述获取网络中的n个节点两两之间的指向关系,并根据所述指向关系确定转移矩阵,包括:根据所述网络中的n个节点两两之间的指向关系,构建图,其中本文档来自技高网
...

【技术保护点】
一种相似性度量的方法,其特征在于,包括:获取网络中的n个节点两两之间的指向关系,并根据所述指向关系确定转移矩阵,其中,所述转移矩阵的维度为n×n,n为大于或等于2的正整数;获取衰减因子,并根据所述转移矩阵和所述衰减因子计算约束矩阵,其中,所述衰减因子为SimRank相似度方法中定义的衰减因子,且所述约束矩阵的维度为n×n;根据所述约束矩阵,构建线性方程组,其中,所述线性方程组的系数矩阵为所述约束矩阵,所述线性方程组的变量为矫正向量;采用雅可比Jacobi方法迭代求解所述线性方程组,确定所述矫正向量;根据所述矫正向量生成对角矫正矩阵,其中,所述对角矫正矩阵的对角元素为所述矫正向量的分量,且所述对角矫正矩阵的维度为n×n;根据所述转移矩阵、所述衰减因子和所述对角矫正矩阵,计算所述n个节点之间的相似度。

【技术特征摘要】
1.一种相似性度量的方法,其特征在于,包括:获取网络中的n个节点两两之间的指向关系,并根据所述指向关系确定转移矩阵,其中,所述转移矩阵的维度为n×n,n为大于或等于2的正整数;获取衰减因子,并根据所述转移矩阵和所述衰减因子计算约束矩阵,其中,所述衰减因子为SimRank相似度方法中定义的衰减因子,且所述约束矩阵的维度为n×n;根据所述约束矩阵,构建线性方程组,其中,所述线性方程组的系数矩阵为所述约束矩阵,所述线性方程组的变量为矫正向量;采用雅可比Jacobi方法迭代求解所述线性方程组,确定所述矫正向量;根据所述矫正向量生成对角矫正矩阵,其中,所述对角矫正矩阵的对角元素为所述矫正向量的分量,且所述对角矫正矩阵的维度为n×n;根据所述转移矩阵、所述衰减因子和所述对角矫正矩阵,计算所述n个节点之间的相似度。2.根据权利要求1所述的方法,其特征在于,所述采用Jacobi方法迭代求解所述线性方程组,确定所述矫正向量,包括:采用Jacobi方法迭代求解所述线性方程组,并将收敛时的解确定为所述矫正向量,或者,将达到预设的最大迭代次数时的解确定为所述矫正向量。3.根据权利要求1或2所述的方法,其特征在于,所述约束矩阵表示为A,所述矫正向量表示为x,所述线性方程组表示为Ax=b,其中,b为每个元素均为1的向量。4.根据权利要求3所述的方法,其特征在于,所述采用Jacobi方法迭代求解所述线性方程组,确定所述矫正向量,包括:通过 x i ( k ) = 1 a ii ( b i - Σ j ≠ i a ij x j ( k - 1 ) ) ]]>计算所述矫正向量;其中,xi表示所述矫正向量x的第i个元素,xj表示所述矫正向量x的第j个元素,aij表示所述约束矩阵A的第i行第j列的元素,aii表示所述约束矩阵A的第i行第i列的元素,bi=1,k表示所述Jacobi方法的迭代次数,
\ti,j=1,2,…,n,并且,k为正整数。5.根据权利要求1至4任一项所述的方法,其特征在于,所述衰减因子表示为c,所述转移矩阵表示为P,所述约束矩阵表示为A,所述根据所述转移矩阵和所述衰减因子计算约束矩阵,包括:确定所述约束矩阵A的元素为aij=ei·ej+cPei·Pej+…tPtei·Ptej,其中,ei、ej为正交单位向量,t为预设的正整数。6.根据权利要求1至5任一项所述的方法,其特征在于,所述矫正向量表示为x,所述对角矫正矩阵表示为D,所述根据所述矫正向量生成对角矫正矩阵,包括:确定所述对角矫正矩阵D的元素Dij为: D ij = x i , i = j 0 , i ≠ , ]]>其中,Dij表示所述对角矫正矩阵D的第i行第j列的元素,xi表示所述矫正向量x的第i个元素,i,j=1,2,…,n。7.根据权利要求1至6任一项所述的方法,其特征在于,所述衰减因子表示为c,所述转移矩阵表示为P,所述对角矫正矩阵表示为D,所述节点之间的相似度表示为S,所述根据所述转移矩阵、所述衰减因子和所述对角矫正矩阵,计算所述n个节点之间的相似度,包括:根据下式计算所述n个节点之间的相似度:S=D+cPTDP+c2(PT)2DP2+…+ct(PT)tDPt;其中,T表示转置,t为预设的正整数,S所表示的矩阵的第i行第j列的元素sij表示第i个节点与第j个节点之间的相似度。8.根据权利要求1至7任一项所述的方法,其特征在于,所述获取网络中的n个节点两两之间的指向关系,并根据所述指向关系确定转移矩阵,包括:根据所述网络中的n个节点两两之间的指向关系,构建图,其中,所述n个节点构成所述图中的n个节点,所述指向关系构成所述图中的节点之间的有向边;将所述图的逆向图上的一阶转移矩阵作为所述转移矩阵。9.根据权利要求8所述的方法,其特征在于,所述转移矩阵表示为P,并且 P ij = 1 / | In ( j ) | , ( i , j ) ∈ E 0 , ( i , j ) ∉ E , ]]>其中,Pij表示所述转移矩阵P的第i行第j列的元素,In(j)表示所有指向节点j的节点集合,E表示具有指向关系的节点组的...

【专利技术属性】
技术研发人员:李震国成杰峰范伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1