复杂网络介绍(二)

4)基于持久(permanence)函数优化的社区发现算法

       介绍:在这个算法中,我们首先初始化每个节点为一个独立的社区,接下来移动节点,每个节点被移动到某个邻居社区中当且仅当此次移动增加了所有邻居社区的内部连接数目。如果这种移动条件无法满足,则节点要么保持在原社区中(当移动到所有邻居社区中时的permanence值相等时),要么移动到能使该节点与邻居连接更紧密的社区中去(这时节点的permanence值为正值)。每个节点重复执行这个过程,直到permanence函数值收敛为止。

8.社区发现经典算法—重叠社区发现算法

1)派系过滤算法(CPM):

        palla等人认为网络中的社区可以看成是由一些互相联通的完全子图组成的。这些完全连通子图被称为派(clique),k-派系(k-clique)是指此完全子图由k个节点组成。CPM算法社区划分的过程就是寻找所有网络中互相连通的k派系组成的极大子图的过程。所谓两个k-派系互相连通是指通过其中一个k-派系可以通过若干个相邻的k-派系到达另一个k-派系。两个k-派系相邻是指两个k-派系存在k-1个公共节点。由于网络中的一个节点可以同时从属于不同的k-派系,因此CPM划分出的社区之间是可以重叠的。

2) 基于种子节点扩展的重叠社区发现算法:

      基本思想是先选择种子节点,通过相似度函数逐渐对种子节点进行扩展合并。在此扩展的过程中,每个节点所属的社区数目不止一个,因此可以发现重叠结构。

3)标签类重叠社区发现算法:

      SLPA算法相比LPA的改进之处则为:它会记录每一个节点在刷新节点标签迭代过程中的历史标签序列(例如,迭代T次,则每个节点将保存一个长度为T的序列)。当迭代结束后,对每一个节点的历史标签序列中各互异标签出现的频率做统计,按照某一给定的阈值过滤掉那些出现频率低的标签,剩下的即为该节点的标签(通常有多个)。

9.社区结构质量评价标准

1)模块度Q函数:

        模块度(Modularity)Q函数是Girvan和Newman首先提出的一个评价网络社区划分优劣的一个度量标准。该函数的主要思想是:网络中各个社区内部节点之间连边数占网络中所有边的比例与另外一个具有相同规模和节点度分布的随机网络中社区内部节点之间连边数占网络中所有边数比例的期望值相减得到的期望值。差值越大,说明社区内部连边较为紧密,根据社区的定义(同一社区内部连接较为紧密,而社区与社区之间的连接较为稀疏),因此模块度函数值越大对应的社区结构划分的越好。模块度Q函数的表达式如下所示。

                                  Q= Σi(eij-ai2)

      在上述公式中,我们假设eij表示社区i内部节点与社区j内部节点之间的连接数占网络中所有边的比例,其中ai=Σijeij。如果某一社区划分的结果中社区内部边的数目并不比随机网络中可能存在的社区内部边的数量多,Q的值将为0。其他任何非零值,都表示与随机网络存在偏差,模块度Q函数的取值范围是-1-1。一般情况下,Q值大于0.3时,则表示网络中存在明显的社区结构。

2)permanence函数

       2014年Tanmoy等提出了一种新的社区质量度量函数permanence。大部分的社区质量评价函数要么考虑社区内部的节点度要么考虑节点的所有外部链接,而事实表明一个节点的所有外部连接的具体分布也同等重要。在节点划分到社区的过程中我们不仅要根据节点的整体外部连接数,也要考虑与周围任意一个邻居社区之间的最大连接数。该评价函数permanence的公式如下所示。

           Perm(v)=[(I(v)/Emax(v))x(1/D(v))]-[1-Cin(v)]

        其中,I(v)是节点v与其所在社区内部其它节点之间的连接数,Emax(v)是节点v与每个邻居社区之间的最大连接数,I(v)与Emax(v)两者之间的比值表示节点v社区内部的拉力与外部邻居社匡最大拉力的比值。如果节点没有外部连边,则I(v)/Emax(v)简化为节点v的内部连接数。D(v)是节点v的度,1/D(v)这一项用来规范化公式,使得(I(v)/Emax(v))x(1/D(v)) 的取值范围在0-1之间,其中0代表没有内部连接,1代表没有外部连接。按照社区的定义,社区内部连接比较紧密,而社区与社区之间连接比较稀疏,因此节点V的内部聚集系数应该比较高。Cin(v)是通过计算V所在社区内部邻居节点之间己经存在的连边数与可能存在的最大连边数的比值得来的。1-Cin(v)是一个惩罚项,理论上Cin(v)越高,说明社区质量划分的越好,在此公式中,Cin(v)越小,1-Cin(v)则带来的惩罚越多,最终计算得到的评价函数值越小。这一项的取值范围也在0-1之间,当这一项的值为0时说明没有惩罚,当这一项的值为1时,说明此时惩罚最大。总体上,Perm(v)函数的取值范围是-1-1。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值