Structural Inference of Hierarchies in Networks(网络层次结构推断)

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.

原文地址:https://www.cnblogs.com/wbwang/p/8169052.html

时间: 2024-10-24 16:06:13

Structural Inference of Hierarchies in Networks(网络层次结构推断)的相关文章

计算机网络-网络层次结构

传统的网络层次结构是OSI七层模型,但在现实中采用的是TCP/IP协议. (一)OSI七层模型 (1)物理层 设备之间原始数据传输,数据格式比特流. (2)数据链路层 将原始比特流转换成逻辑传输数据,mac地址寻址,数据格式帧. (3)网络层 最复杂的一层,通信子网最高层.通过路由算法提供最佳传输路径.数据格式IP数据包. 数据链路层解决同一网络节点间数据传输,网络层解决不同子网间通信. (4)传输层 拆分数据包,提供端对端不同主机用户进程间传输数据,提供可靠或不可靠传输及流量控制,是连接通信子

Android笔记之网络状态推断

1.首先当然得在 manifest 中加入检查网络状态的权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.INTERNET"/> 2.详细推断步骤 (1)首先要先获得Android 对连接管理的一

简单记录 | 网络:一个经济学视角

论文 Networks: An Economic Perspective(2016) 讨论了有关网络的经济研究,比较系统,作者Matthew O. Jackson很了不起,其专著和论文给我很多启发.因此这篇综述型文章值得简单缩略记录一下,以便回顾所需. 全文主要是围绕外部性来组织的,外部性是人研究社会网络的动因之一. 1. 我们为什么需要学习网络结构? 人类关注社会福利,呈现规律性的社会结构影响人的行为.社会结构影响人的各个方面,进而影响福利. 我们从而提出一系列问题: 社会网络 在 教育和劳动

linux网络配置相关文件

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等: 机器中所有可用网卡及名字: 参考:linux网络配置相关命令.虚拟网络接口eth0:0 网关GateWay配置地址: /etc/sysconfig/network  GATEWAY=192.168.1.250 /etc/sysconfig/network-script

解决遇到Linux网络配置,从熟悉网络配置文件入手

如果接触过Linux,网络配置是一个比较棘手的问题.但是Linux是文件为基础来构建的系统,包括我们windows中设备,Linux也视为文件.所以只要我们明白文件的作用.就能对Linux更加的熟悉,网络配置也是.所以为了熟悉和解决遇到Linux网络配置,首先从网络配置文件入手.这里面整理和汇集较多资料,从多角度,多篇文章,希望能耐心看完.一.简要概述DNS配置文件[[email protected] etc]# cat /etc/resolv.conf nameserver 210.36.16

Linux_常用网络配置文件介绍

本文主要介绍Linux下的常用网络配置文件: /etc/sysconfig/network /etc/hosts /etc/services /etc/host.conf /etc/nsswitch.conf /etc/resolv.conf /etc/xinetd.conf /etc/modules.conf /etc/sysconfig/network-scripts/ifcfg-ethN 接下来我们对这些文件逐一讲述. 1. /etc/sysconfig/network 用于指定服务器上的

网络编程1 网络开发基础(Socket、TCP、UDP)

OSI七层网络模型 1.网络的七层结构:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 2.在网络通信的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包头数据.而在接收方恰恰相反,数据通过每一层时都会被该层协议剥去相应的包头数据. TCP/IP 1.IP地址 IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址).IP地址时IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一个主机分配一个逻辑地址,以此来屏

iOS网络监控— BMReachability

1. What's BMReachability? BMReachability是基于AFNetworking的Reachability类封装的监听网络状态变化的组件. 它在AF提供的无网络/wifi/蜂窝网络推断的基础上,添加了对2G/3G/4G网络的推断. typedef NS_ENUM(NSInteger, BMNetworkReachabilityStatus) { BMNetworkReachabilityStatusUnknown = -1, BMNetworkReachabilit

深度信念网络DBN

以下内容翻译自A fast learning algorithm for deep belief nets by Geoffrey E. HintonandSimon Osindero 一些符号: W.T:W的转置 1 Introduction 学习一个有向新年网络面临的问题: 1.难以所有层在推断隐藏状态条件下的后验分布 2.局部极值和梯度弥散 3.学习过程慢(因为要一次性学习所有参数) 模型:最上两个隐藏层两层形成一个联想存储器(associative memory),其他的隐藏层形成了一个