异构网络
同质网络
了解异构网络之前需要先了解什么是同质网络。所谓同质网络即网络中结点都是同一类型主体,链接方式也是相同的。比如论文,论文之间链接为引用,这就构成了一个简单的同质网络。
异构网络
一个异构网络是由多种对象节点与不同类型链接构成的网络,也可看做是多个不同同质网络所结合而成。比如论文,作者,会议,学术名词构成的一个异构网络。
聚类与排序
聚类与排序
RankClus
排序与聚类相互加强:更好聚类可从排序中获得,排序范围又从聚类习得
启发式
排序分数可以在不同类型的主体间通过网络进行传播
1、高排名的作者发布高排名论文在排名较高的会议或期刊:
rY(j)=i=1∑mWYX(j,i)rX(i)
2、顶级会议或期刊吸引高排名作者发高排名论文:
rX(i)=j=1∑mWXY(i,j)rY(j)
3、作者的排名受与他合作的作者的论文排名影响:
rY(i)=αj=1∑mWYXrX(j)+(1−α)j=1∑nWYY(i,j)rY(j)
4、所分析网络领域的其他特性(由于本例基于DBLP,就先用上3个)
算法
初始化:随机聚类
迭代://EM框架
排序,每个主体的排名由每个子类的每个子网络影响
生成新的目标主体参数
调整聚类
终止:直到变化<阈值
NetClus
NetClus把一个网络分割成一个个子网络
算法
初始化:为目标主体生成初始分区和初始网络聚类簇
迭代://EM框架
对每一个网络聚类簇构建基于排序的概率生成模型
计算每个目标主体的后验概率
根据后验概率调整每个簇类
终止:簇类变化不大
DBLP为例:
G=(V,E,W),其中权重 wxixj 为节点 xi 与 xj 的链接
V=A∪C∪D∪T ,作者、会议、论文、词汇
wxixj=⎩⎨⎧1, if xi(xj)∈A∪C and xj(xi)∈D and xi has link to xjc, if xi(xj)∈T and xj(xi)∈D and xi(xj) appears c times in xj(xi)0, otherwise
Ranking: p(x∣Tx,G)=∑x′∈Tx∑y∈NG(x′)Wx′y∑y∈NG(x)Wxy
对于DBLP来说即:
P(Y∣TY,G)=WYZWZXP(X∣TX,G)
P(C,TC,G)=WCDDDA−1WDAP(A∣TA,G)
P(A∣TA,G)=WADDDC−1WDCP(C∣TC,G)
相似查找
异构信息网络中的相似查找是聚类分析的基础,比如社交网络中,哪一个人与目标人最相似
Random walk
通过Meta-path P,从 x 随机行走到达 y 的概率:
在Personalized PageRank(P-Pagerank)中被使用,对于有高的度的节点敏感
Pairwise random walk
根据Meta-path (p1,p2) ,从 (x,y) 点随机行走,到达共同节点 z 的概率:
在SimRank中被使用,对于纯节点(in-link或out-link为高度倾斜的分布)敏感
SimRank
如果两个主体被相似的主体关联,则认为这两个主体相似:
s(a,b)=∣I(a)∣∣I(b)∣Ci=1∑∣I(a)∣j=1∑∣I(b)∣s(Ii(a),Ij(b))
P-Pagerank的分数 x 被定义为: x=αPx+(1−α)b,其中 P 为网络 G 的转移矩阵, b 为一个随机向量(Personalized vector), α∈(0,1),是隐形传输常数
PathSim
Meta-path:两个主体在Meta-level的路径,描述两主体的关系比如作者-论文-作者(两个人共写一篇论文,这是网络中两作者间一种联系),当然一个网络中有多种Meta-path,比如作者-论文-会议-论文-作者...
对peer敏感,定义一个Meta-path,通过Meta-path计算相似度,比如作者-论文-作者(则表示对一起共事的作者敏感)、作者-论文-会议-论文-作者(同一领域的敏感)
s(x,y)=∣{px∼→x:px∼→x∈P}∣+∣{py∼→y:py∼→y∈P}∣2×∣{px∼→y:px∼→y∈P}∣
比如下图例子 s(Mike,Jim)=(2×2+1×1)+(50×50+20×20)2×(2×50+1×20)=0.0826
基于用户指导使用Meta-path的聚类
用户可能基于不同的目的使用不同的Meta-path,比如DBLP中,用户重视作者们的学校,或者是专业领域...
PathSelClus
1、Modeling the Relationship Generation: A good clustering result should lead to high likelihood in observing existing relationships
For each meta path Pm ,let the relation matrix be Wm:
The relationship ⟨ti,fj⟩is generated with paramenter πi,j,m
Each πi,m is a mixture model of multinomial distribution:
πi,j,m=P(j∣i,m)=k∑P(k∣i)P(j∣k,m)=k∑θikβkj,m
θik:the probability that ti belongs to Clusterk
βkj:the probability that feature object fjappearing in Cluster k
The probability to observing all the relationship inPm:
P(Wm∣∏m,Θ,Bm)=i∏P(wi,m∣πi,m,Θ,Bm)=i∏j∏(πi,j,m)wi,j,m
2、Modeling the Guidance from Users: The more consistent with the guidance, the higher probability of the clustering result
For each soft clustering probability vector θi:
Model it as generated from a Dirichlet prior
If ti is labeled as a seed in Cluster k∗:
The prior density is a K-d dirichlet distribution with parameter vector λek∗+1
λ is the user confidence for the guidance
ek∗ is an all-zero vector except for item k∗, which is 1
If ti is not labeled in any cluster:
The prior density is uniform, a special case of Dirchlet distribution, with paramenter vector 1
p(θi,λ)={∏kθik1{ti∈L}λ=θik∗λ, if ti is labeled and ti∈Lk∗1, ,if ti is not labeled
3、Modeling the Quality Weights for Meta-Paths: The more consistent with the clustering result, the higher quality weight
Model quality weight αm as the relative weight for each relationship in Wm
Observation of relationships: Wm→αWm
学习算法
An iterative algorithm that clustering result Θ and quality weight vector α mutually enhance each other
Step 1: Optimize Θ given α
θi is determined by all the relation matrices with different weights αm, as well as the labeled seeds
θikt∝∑αm∑wi,j,mp(zi,j,m=k∣Θt−1,Bt−1)+1{ti∈Lk}λ
Step 2: Optimize α given Θ
In general, the higher likelihood of observing Wm given Θ, the higher αm
αmt=αmt−1−∑i∑jwij,mlog πij,m∑i(ϕ(αmt−1nim+∣Fm∣)ni,m−∑jϕ(αmt−1wij,m+1)wij,m)
分类与预测
异构网络分类
利用异构网络信息传递(实现代码见标题链接),基于以下两启发式:
1、两个主体 xip 与 xjq 预测结果同属于类别 k 的话,他们应当相似 xip⟷xjq (Rij,pq>0)
2、已知类别的数据我们模型的预测结果应该与事实一致或相似
算法流程:
Step 0: ∀k∈{1,…,K}, ∀i∈{1,…,m} 初始化 fi(k)(0)=yi(k) 且 t=0
Step 1:基于当前的 fi(k)(t) ,计算:
fi(k)(t+1)=∑j=1,j=imλij+2λii+αi∑j=1,j=imλijSijfj(k)(t)+2λiiSiifi(k)(t)+αiyi(k)
Step 2:重复上步直到收敛或变化小于一定阈值
Step 3:对于每个 i∈{1,…,m} ,根据第p个数据指定主体 Xi 类别:
cip=argmax1≤k≤Kfip(k)∗ ,其中 fi(k)∗=[fi1(k)∗,…,fini(k)∗]T
这里解释一下上述算法流程:
第0步label一共 K 个,有 m 个关系图所以初始化没什么可说的。
第1步: λ 作为参数调节异构网络中信息传播率, α 作为参数调节每轮ground truth参数。
式子分子分为三块:
第一部分 λijSijfj(k)(t) 为基于上一轮结果各关系图信息再传播
第二部分 2λiiSiifi(k)(t) 为基于上一轮结果自信息再传播
第三部分 αiyi(k) 为当前轮继续加入ground truth
其中 Sij=Dij(−1/2)RijDji−1/2 , Rij 即关系图,比如行为作者、列为论文,前后两个对角矩阵是为了让关系图归一化,因为一篇文章一般有多个作者,一个作者一般有多篇文章。
第2步:跟阈值判断或限定轮数,没什么可说的
第3步:找到主体向量中最大值,最大值代表的类别即为我们的预测分类类别。
RankClass
GNetMine将每个主体同等对待,RankClass中高排序的主体会在分类中起到更大作用
关联预测
Relationship Prediction vs. Link Prediction
PathPredict
PathPredict_When
基于异构的推荐
ClusCite
给定一原稿(标题,简要或目录)及其属性(作者,目标会议或期刊),推荐一系列高质量引用文献
其他数据挖掘
角色发掘
比如通过军中的指令发布,找到将军,团长,士兵角色...
目的
根据输入的信息网络(可能是同构),输出一颗含各主体的树(或森林),比如下图,根据发paper信息,找到导师与学生等
框架
利用异构进行数据清洗(区别)
DBLP的paper有好多重名的作者,比如叫“Wei Wang”的就有好几个,利用异构网络对他们进行区分
实体集合拓展
想通过异构网络解决问题:给予一些种子,找到其相似实体
比如给{red, blue, green} -> all colors,但是给orange -> color or fruits?
EgoSet
Source