网络社区划分算法

上传人:公**** 文档编号:507903851 上传时间:2023-03-23 格式:DOC 页数:6 大小:92KB
返回 下载 相关 举报
网络社区划分算法_第1页
第1页 / 共6页
网络社区划分算法_第2页
第2页 / 共6页
网络社区划分算法_第3页
第3页 / 共6页
网络社区划分算法_第4页
第4页 / 共6页
网络社区划分算法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《网络社区划分算法》由会员分享,可在线阅读,更多相关《网络社区划分算法(6页珍藏版)》请在金锄头文库上搜索。

1、.网络社区划分算法目录 1简介 2构建一个点击流网络 3网络社区划分的两种主要思路:拓扑分析和流分析 4拓扑分析o 4.1计算网络的模块化程度Q-Modularityo 4.2计算网络的连边紧密度Edge betweennesso 4.3计算网络拉普拉斯矩阵的特征向量Leading eigenvectoro 4.4通过fast greedy方法搜索网络模块化程度Q-Modularity的最大值o 4.5通过multi level方法搜索网络模块化程度Q-Modularity的最大值 5流分析o 5.1随机游走算法Walk Trapo 5.2标签扩散算法label propagationo 5.

2、3流编码算法 the Map Equationo 5.4流层级算法 Role-based Similarity 6总结1简介使用许多互联网数据,我们都可以构建出这样的网络,其节点为某一种信息资源,如图片,视频,帖子,新闻等,连边为用户在资源之间的流动。对于这样的网络,使用社区划分算法可以揭示信息资源之间的相关性,这种相关性的发现利用了用户对信息资源的处理信息,因此比起单纯使用资源本身携带的信息来聚类例如,使用新闻包含的关键词对新闻资源进行聚类,是一种更深刻的知识发现。2构建一个点击流网络假设我们手头有一批用户在一段期间内访问某类资源的数据。为了减少数据数理规模,我们一般只考虑最经常被访问的一批

3、资源。因此在数据处理中,我们考虑UVuser visit排名前V的资源,得到节点集合|V|,然后对于一个用户i在一段时间内例如一天内访问的资源,选择属于|V|的子集vi。如果我们有用户访问资源的时间,就可以按照时间上的先后顺序,从vi中产生vi-1条有向边。如果我们没有时间的数据,可以vi两两间建立联系,形成vi/2条无向边。因为后者对数据的要求比较低,下文中,暂时先考虑后者的情况。 对于一天内的n个用户做这个操作,最后将得到的总数为 的连边里相同的边合并,得到|M|个不同的边,每条边上都带有权重信息。这样,我们就得到了V个节点,M条边的一个加权无向网络,反应的是在一天之内用户在主要的信息资源

4、间的流动情况。在这个网络上,我们可以通过社区划分的算法对信息资源进行分类。3网络社区划分的两种主要思路:拓扑分析和流分析社区划分的算法比较多,但我个人认为大致可以分为两大类:拓扑分析和流分析。前者一般适用于无向无权网络,思路是社区内部的连边密度要高于社区间。后者适用于有向有权网络,思路是发现在网络的某种流动物质、能量、信息中形成的社区结构。这两种分析各有特点,具体应用取决于网络数据本身描述的对象和研究者想要获得的信息。我们可以将已知的一些算法归入这两类:算法优化目标计算复杂度适用情况局限R拓扑分析Q Modularity最大化Q-modularityV|2无向无权多分量不适用小网络spingl

5、assmunityEdge-Betweenness最小化社区间连边的betweennessV|*|E|2有向有权多分量慢edge.betweennessmunityLeading Eigenvector对拉普拉斯矩阵第二小特征根对应的特征向量聚类V|2+ |E|无向无权多分量leading.eigenvectormunityFast Greedy使用社区合并算法来快速搜索最大Q-modularityE|*log无向有权多分量不适用小网络fastgreedymunityMulti Level使用社区展开算法来快速搜索最大Q-modularityV|无向有权多分量不适用小网络multilevelm

6、unity流分析Walk Trap最大化社区间的流距离E|*|V|2无向有权单分量不太适合网络数量较小的情况walktrapmunityLabel Propagation每个节点取邻居中最流行的标签,迭代式收敛V| + |E|无向有权单分量结果不稳定label.propagationmunityInfo map最小化随机流的编码长度V|*有向有权单分量cliquemunityRole-based community划分出在流中地位类似的节点V|3有向有权单分量结果不稳定上表中的分量component指在网络中的独立团块。有向网络里,分量有强弱之分,强分量strong component 中任意

7、一个节点都可到达另外一个节点,弱分量weak component中如果忽略连边方向,则构成强分量。无向网里分量没有强弱之分。在网络中识别强分量的算法有Kosaraju算法,Tarjan算法及其变形Gabow算法等。在这里不展开叙述。 接下来,我们逐一讨论拓扑分析和流分析中的各种算法的具体思路。4拓扑分析4.1计算网络的模块化程度Q-ModularityQ-Modularity是一个定义在-0.5,1区间内的指标,其算法是对于某一种社区结构,考虑每个社区内连边数与期待值之差。实际连边越是高于随机期望,说明节点越有集中在某些社区内的趋势,即网络的模块化结构越明显。Newman在20XX提出这个概念

8、最初是为了对他自己设计的社区划算法进行评估,但因为这个指标科学合理,而且弥补了这个方面的空白,迅速成为一般性的社区划分算法的通用标准。 Q的具体计算公式如下:其中A是网络G对应的邻接矩阵,如果从i到j存在边,则Aij=1,否则为0。m是总连接数,2m是总度数,Aij/2m是两节点之间连接的实际概率。Ki和kj分别是i和j的度数。如果我们保持一个网络的度分布但对其连边进行随机洗牌,任意一对节点在洗牌后存在连接的概率为kikj/2。上式中中括号表达的就是节点之间的实际连边概率高于期待值的程度。后面跟着一个二元函数,如果节点ij属于同一个社区,则为1,否则为0,这就保证了我们只考虑社区内部的连边。刚

9、才这个定义是以节点为分析单位。实际上,如果以社区为分析单位看Q指标,可以进一步将其化简为eii和ai之间的差。其中eii是在第i个社区内部的link占网络总link的比例,ai是第i个社区和所有其他社区的社区间link数。上式已经清楚定义了Q,但在实际计算里,上式要求对社区及其内部节点进行遍历,这个计算复杂度是很大的。Newman对上式进行了化简,得到矩阵表达如下: 我们定义Sir为n * r的矩阵,n是节点数,r是社区数。如果节点i属于社区r,则为1,否则为0。则有于是有其中B是modularity matrix,其元素为该矩阵的行列和都是0,因为实际网络和随机洗牌后的网络度分布是不变的。特

10、别地,在仅仅有两个社区的情况下r=2,可以s定义为一个n长的向量,节点属于一个社区为1,属于另一个社区为-1,Q可以写成一个更简单的形式:通过对社区的划分可能空间进行搜索,可以得到最大化Q值的社区划分。在这个过程会涉及数值优化的部分,例如表一中的fast greedy和multilevel就是用不同方法进行快速搜索的例子。以fast greedy为例Newman2006,它通过不断合并社区来观察Q的增加趋势,得到了一个在最差的情况下复杂度约为O |E|*log ,在最好的情况下接近线性复杂度的算法。4.2计算网络的连边紧密度Edge betweenness这个思路出现得比较早。Freeman

11、提出过一个叫betweenness的指标,它衡量的是网络里一个节点占据其他n-1节点间捷径的程度。具体而言,首先对每一对节点寻找最短路径,得到一个n * /2的最短路径集合S,然后看这个集合中有多少最短路径需要通过某个具体的节点。Newman借鉴了这个标准,但不是用来分析节点而是分析连边。一个连边的edge betweenness就是S集合里的最短路径包含该连边的个数。 定义了连边的betweenness后,就可以通过迭代算法来进行社区划分了。具体做法是先计算所有连边的betweenness,然后去除最高值连边,再重新计算,再去除最高值连边,如此反复,直到网络中的所有连边都被移除。在这个过程中

12、网络就逐渐被切成一个个越来越小的component。在这个过程中,我们同样可以用Q-modularity来衡量社区划分的结果。这种算法定义比较清晰,也不涉及矩阵数学等运算,但问题是计算复杂度比较大。4.3计算网络拉普拉斯矩阵的特征向量Leading eigenvector一个有n个节点的网络G可以被表达为一个n x n的邻接矩阵adjacency matrixA。在这个矩阵上,如果节点i和j之间存在连边,则Aij=1,否则为0。当网络是无向的时候,Aij=Aji。另外我们可以构造n x n的度矩阵degree matrixD。D对角线上的元素即节点度数,例如Dii为节点i的度数,所有非对角线的

13、元素都是0。无向网的分析不存在度数的选择问题,有向网则要根据分析目标考虑使用出度还是入度。将度数矩阵减去邻接矩阵即得到拉普拉斯矩阵,即L = D-A。L的特征根存在一些有趣性质。首先,最小的特征根总等于0。因为如果将L乘以一个有n个元素的单位向量,相当于计算每一行的和,刚好是节点的度的自我抵消,结果等于0。其次,特征根中0 的个数即无向网G中分量的个数。这意味着如果除了最小特征根,没有别的特征根为0,则整个网络构成一个整体。在这些特征根里,第二小的特征根或者最小的非零特征根又叫做代数连通性algebraic connectivity,其对应的特征向量叫做Fidler vector。当,说明网络

14、是一个整体。越大,说明网络彼此间的链接越紧密。从这个定义来看,非常像前面讨论的Q-Modularity,实际上在Newman2006的文章里,确实讨论了二者在数学上的对应关系。例如对示例网络所对应的进行分析,可以得到拉普拉斯矩阵如下:这个矩阵的特征根如下:5.5, 4.5, 4.0, 3.4, 2.2, 1.3, 1.0, 0。取时, Fidler vector=0.29, 0.00, 0.29, 0.29, 0.29, -0.58, -0.58, 0.00。因为Fidler vector的值分别对应着图里的节点,于是可以写成a:0.29, b: 0.00, c:0.29, d:0.29, e

15、:0.29, f:-0.58, g:-0.58, h:0.00。仅仅从元素的正负号就可以看出,该分析建议我们把f和g节点与其他节点分开,更细致的,对元素值大小的考察则建议把矩阵分成三个社区,a, c, d, e, b, h, e, f。回到图中考察,我们发现这个社区分类基本是合理的。4.4通过fast greedy方法搜索网络模块化程度Q-Modularity的最大值4.5通过multi level方法搜索网络模块化程度Q-Modularity的最大值因为以上两种方法都是基于Q-modularity的,只不过是搜索策略的不同,所以在此不展开讨论。5流分析5.1随机游走算法Walk TrapP. Pons 和 M. Latapy 20XX提出了一个基于随机游走的网络社区划分算法。他们提出可以使用两点到第三点的流距离之差来衡量两点之间的相似性,从而为划分社区服务。其具体过程如下:首先对网络

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号