Structural Inference of Hierarchies in Networks(网络层次结构推断)
1. 问题
层次结构是一种重要的复杂网络性质。这篇文章给出了层次结构的精确定义,给出了一个在随机图里面生成任意层次结构的概率模型,并给出了从真实世界的复杂网络中推断出层次结构的统计方法。(定义,模型和推断方法);最后,使用推断出来的概率模型,生成更多的网络数据(null model),用于对网络的元素(顶点,边)进行注释和假设检验的方法。
输入:网络数据(边和顶点集)
输出:顶点的层次结构
方法:最大似然估计(ML),马尔科夫链蒙特卡洛方法(MCMC)
已有方法的缺陷:
已有的方法(比如层次聚类)无法保证推断出来的模型是真实模型的无偏估计。也就是说,不能保证,推断出来的层次模型能够在多大程度上反应真实世界网络的层次结构;也不能保证,推断出来的层次结构在多大程度上受到了推断算法本身性质的影响。
2. 理论基础:
最大似然估计(ML)
最大似然估计通常用于估计模型参数。
马尔科夫链蒙特卡洛方法(MCMC)
MCMC是一种抽样方法。在这里,我们将网络的层次结构模型作为一个随机参数向量。对这个随机向量的抽样,等价于对模型的抽样。MCMC算法收敛后,每一个模型被抽到的概率正比于此模型生成真实世界网络的似然度。
贝叶斯模型平均
通过MCMC抽样,可以获得一组层次结构模型。通过对这组模型进行贝叶斯模型平均,可以获得最后的单个模型。贝叶斯模型平均是一种在贝叶斯方法获得参数分布后,对参数求期望,获得最终单个参数估计的方法。
3. 方法
层次结构定义(定义)
在这里所指的层次结构是指:把网络中的节点划分为组,然后将每组节点划分为子组;作这样的递归划分,直到每一个子组只包含单独一个节点的程度。这样的结构通常表示为树的结构。这样的树结构可以表示为D = {D1,D2, . . . ,Dn?1}, Di 表示中间节点,表示一组节点的集合。
层次结构的随机图模型(模型)
LH表示模型的最大似然函数,Ei表示层次结构树的第i个中间节点的左子树;Ri表示右子树;θi表示左右子树之间的节点有边连接的概率。对最大似然函数求偏导,另偏导数为零后,求得θi= Ei/LiRi,此时似然函数获得最大值。
对于特定的层次结构树D,容易估计出模型参数θ;但是从所有可能的层次结构树中求取最佳的一个并不容易。下一步,将使用MCMC方法抽取可能的层次结构,使每一个层次结构被抽取到的概率正比于此结构生成真实世界网络数据的最大似然。
层次结构的抽样方法(推断)
这篇论文的抽样方法采用了MCMC方法中的Metropolis-Hastings算法。马尔科夫链中的每一个状态表示一个层次结构树,下图可以说明,马氏链中的状态是如何相互转移的。对于下图的第一个图,节点表示树中的某一个中间节点,此节点有两个子树,分别为a和b;c表示此节点的兄弟节点。因此,对于这样的层次树的特定节点,马氏链的状态有两种转移的方向,分别对应下图的第二个图和第三个图。抽样的过程中,首先随机选取一个中间节点(均匀选取),然后随机从下图的第二个图和第三个图中选取一个作为候选转移状态。从转移的方式来看,马尔科夫链显然是遍历的。可以使用下面的方式,使状态转移满足细致平稳条件(MH算法的标准方式):如果转移后的层次结构树的最大似然值,大于转移前的最大似然值,则转移必定发生;否则,转移的概率为转移后的似然值与转移前的似然值的比值。
贝叶斯模型平均
当MCMC算法收敛后,有很多方式可以获得最后的模型。比如随机选择一个;在多个样本中选择最大似然值最大的模型;求取多个样本的模型平均。随机选择风险太大,根据最大似然选择模型容易导致过拟合;在贝叶斯方法中,通常选择待估计参数的概率分布的期望作为此参数的点估计(抽样样本的均值)。在这里,作者使用了一种叫作majority consensus tree的技术,这种技术通常用来通过混合多棵系统发生树(使用不同算法),来重构保守一致的系统发生树。
4. 数据
Zachary’s karate club
这是一个包含34个顶点和78条边的社交关系网络。此网络中的边表示一个大学中的空手道俱乐部中的会员相互认识的关系。
The NCAA Schedule 2000 network
此网络包含115个顶点和613条边。顶点表示一个大学足球队,边表示在2000年赛季中,足球队之间的比赛关系。这两个网络都是图聚类算法的标准测试集。
5. 实验与结论
使用此算法可以发现数据中存在的已经被社会科学家发现的社团属性(与科学家标注的标签一致)(监督评价方式)。与其它的图聚类算法相比,此算法尤其能正确分类社团边缘处的节点。除此之外,还可以利用推导出来的层次结构模型生成更多的图数据样本(相似于原始网络数据),据此分析节点和边的一些统计特征,进而对边和顶点进行注释。通过对边和顶点的注释还可以发现异常的顶点和边。
6. 进一步学习
可以将推断算法中的MCMC方法,换成变分推断算法。已经有文章介绍了这篇论文在动态网络上的改进,以及使用变分推断改善层次结构推断的效率。
参考文献
[1] Clauset A, Moore C, Newman M E J. Structural Inference of Hierarchies in Networks[J]. Lecture Notes in Computer Science, 2006, 4503:1-13.