在同构信息网络中的相似度量算法:
personalized PageRank (P-PageRank),SimRank,SCAN
这些算法往往忽视了对象和联系的不同类型。
由于不同类型的对象和联系带有不同的语义信息,因此很难将这些算法直接应用于异构信息网络中。
为了体现异构信息网络中的语义信息,本文介绍了基于元路径的相似度量框架。
目前有一些方法是基于框架的:
· random walk used in P-PageRank
· pairwise random walk used in P-PageRank
· P-PageRank
· SimRank
提出了一种PathSim算法(meta path-based similarity,基于元路径的相似度算法)
Heterogeneous Information Network 异构信息网络
network schema 网络模式
meta path 元路径 P P P
path instance 路径实例 p p p
commuting matrix 交换矩阵 M M M
1)path count:计算节点 x x x和 y y y之间的路径实例数 s ( x , y ) = ∣ p : p ∈ P ∣ s(x,y)=|p:p\in P| s(x,y)=∣p:p∈P∣
2)random walk:计算从节点 x x x到节点 y y y的元路径中,实例路径 p p p以 x x x为起点, y y y为终点的概率总和 s ( x , y ) = ∑ p ∈ P P r o b ( p ) s(x,y)=\sum_{p\in P}Prob(p) s(x,y)=∑p∈PProb(p)
3)pairwise random walk
以上三种方式存在的不足:更倾向于使高度可见或者高度集中的对象获得更高的相似度
性质:
1)对称性: s ( x i , x j ) = s ( x j , x i ) s(x_i,x_j)=s(x_j,x_i) s(xi,xj)=s(xj,xi)
2)自身最大性: s ( x i , x j ) ∈ [ 0 , 1 ] , s ( x i , x i ) = 1 s(x_i,x_j)\in[0,1],s(x_i,x_i)=1 s(xi,xj)∈[0,1],s(xi,xi)=1
3)平衡可见性:
对于对称元路径的相似度计算
step1. 通过“向量-矩阵”运算得到 M ( i , : ) = M P ( i , : ) M P T M(i,:)=M_P(i,:)M^T_P M(i,:)=MP(i,:)MPT
step2. 对于每个 x i ∈ A 1 x_i\in A_1 xi∈A1,计算相似度 s ( i , j ) = 2 M ( i , j ) M ( i , i ) + M ( j , j ) s(i,j)=\frac{2M(i,j)}{M(i,i)+M(j,j)} s(i,j)=M(i,i)+M(j,j)2M(i,j)
step3. 对计算得到的 s ( i , j ) s(i,j) s(i,j)从大到小进行排序,获得 x i x_i xi的前k个相似节点
不足:当n非常大的时候,“向量-矩阵”运算会变得非常费时。
改进:在step1之前,首先获得与 x i x_i xi相似的候选集 C a n d i d a t e S e t CandidateSet CandidateSet:
根据交换矩阵 M P M_P MP,找到与 x i x_i xi非正交的节点 x j x_j xj
x j ∈ C a n d i d a t e S e t = U y k ∈ M P . n e i g h b o r s ( x i ) M P T . n e i g h b o r s ( y k ) x_j\in CandidateSet={U_{y_k\in M_P.neighbors(x_i)}M_P^T.neighbors(y_k)} xj∈CandidateSet=Uyk∈MP.neighbors(xi)MPT.neighbors(yk)
其中, M P . n e i g h b o r s ( x i ) = { y k ∣ M P ( x i , y k ) ≠ 0 } M_P.neighbors(x_i)=\{y_k|M_P(x_i,y_k)\neq 0\} MP.neighbors(xi)={yk∣MP(xi,yk)̸=0}
分析:
对于单个 x i x_i xi,
平均时间复杂度: O ( d ) O(d) O(d),其中 d d d表示候选对象中不为0的元素平均个数
不足:
当候选对象很多时,需要花费大量的时间进行计算
“向量-矩阵”运算最多将执行 m m m次
第(2)种算法的不足: