动态网络社团检测学习笔记 --- 随机块模型小结之简介
网络科学起源于18世纪,著名的哥尼斯堡七桥问题就是复杂网络学科的起源,所以欧拉可以说是复杂网络研究的鼻祖(扯远了)。而复杂网络也是一门交叉学科,其研究者所在领域包括概率统计学科,计算生物学科以及计算机学科等。
在复杂网络分析中,社团检测(community detection)就是其重要的任务之一。普遍意义上的社团结构就是网络中一组连接紧密的节点所组成的团体,其内部连边紧密,与外部的连边相对稀疏。而社团检测就是利用各种方法将这些联系紧密的节点找出来,其应用非常广泛,例如针对社交网络可以利用社团检测找到社交圈,针对蛋白质网络可以找到蛋白质的特定功能模块等。社团检测任务包括静态网络社团检测以及动态网络社团检测。静态网络社团检测(dynamic community detection)需要考虑网络数据的特性对链接紧密的节点进行有监督或者无监督的聚类,普遍的方法包括机器学习中的非监督聚类方法、基于模块度的方法、谱方法、隐空间模型方法、概率模型方法等。而动态网络社团检测不仅需要考虑每个时间快照(snapshot)的节点链接紧密程度,还要考虑每个社团随时间的演化(community evolution)。社团演化也是动态网络中一个比较热门的研究课题,这里不过多赘述。而在动态网络社团检测中,主要方法包括,两步法(two-step approach)、隐空间模型(latent space model)、增量聚类(incremental clustering)以及基于模型的方法(model-based method)。两步法在每个时间快照中执行静态网络社团检测方法,然后对每个时间快照的社团进行匹配,这种方法将社团检测和社团演化完全割裂开来,这使得一旦数据噪声过多,其方法效果将会变得很差;隐空间模型将每个节点映射到某个隐空间中,也就是用一条向量表示节点,并在改隐空间中进行聚类以及演化分析等。增量聚类认为社团的演化是不会发生突变的,所以在时刻t进行社团检测时会利用t-1时刻的社团检测结果进行社团检测任务。而基于模型的方法则是通过推测动态网络中节点的连接机制以及演化机制利用概率模型对整个网络进行建模,并利用MAP、EM算法、置信度传播算法等方法对模型进行求解。而随机块模型就是基于模型的方法中应用比较广泛的模型之一。