社会网络分析中的社区发现

Newman快速社区发现算法: FastCommunity算法
论文中的公式不是太好懂,这里详细描述一下:
Q的具体公式为:

目标函数:
MAX       Q   =   求和{ dki/2m - ((dki+dko)/2m) ^ 2   }           ( k= 1...x    
x为分得的社区个数

dki -社区k内部的所有点的度数和
dko -社区k边界向外部的度数和,也可以说是社区k的邻接度和。
m -图中所有边数和
2m -图中所有点的度数和。

==================
比如:
$ cat in1.wpairs
1 2 1
3 4 1
2 3 1
4 5 1
5 6 1

运行结果为:
 scanning input file for basic information.
  edgecount: [0]
  edgecount: [5] total (first pass)
 allocating space for network.
 reparsing the input file to build network data structure.
  edgecount: [0]
  edgecount: [5] total (second pass)
  totweight: [5]

now building initial dQ[]
starting algorithm now.
************ hsize = 6
Q[0] = -0.18    dQ = 0.16         |H| = 5
  join: 2 -> 3  (1 -> 2)
Q[1] = -0.02    dQ = 0.16         |H| = 4
  join: 7 -> 6  (1 -> 2)
Q[2] = 0.14     dQ = 0.12         |H| = 3
  join: 4 <- 5  (2 <- 2)
Q[3] = 0.26     dQ = -0.04        |H| = 2
  join: 4 <- 3  (2 <- 1)
Q[4] = 0.22
exited safely

那么最大模块性Q的聚合划分状态为:
1——2—— 3——4—— 5——6
最大模块性 Q[3] = (2/10 - (3/10)^2) *2  +   (2/10 - (4/10)^2)  = 26/100 = 0.26

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值