Google Pregel paper中提到了半聚类算法。半群的得分使用以下公式计算
其中
Ic是所有内部边缘的权重之和
Bc是所有边界边缘的权重之和
Vc是半群中的顶点数和
fb是边界边缘得分因子(用户定义在0和1之间)
该算法非常直接,但我无法理解上述公式是如何到达的。请注意,分母是Vc顶点数之间可能存在的边数。
有人可以解释一下吗?
答案 0 :(得分:9)
如果您考虑要捕捉的数量,那么得分是有意义的。
这里要解决的问题是弄清楚将图的顶点放入半群的最佳方法是什么(只是一组顶点,其中每个顶点可以在多个半群中)具有半群总数的上限。因此,找到“最佳”方法的一种方法是将分数分配给任何潜在的半群(换句话说,分配给任意任意一组顶点)。然后问题变成了最大化总分。
因此,半群集旨在捕获图表中的派系。例如,在社交图中,半群可能是高中篮球队的成员。
因此,更多的内部边缘等同于“更好”的半群。这解释了分子中的I_c
。类似地,你想要有很少的边界边,因为如果有很多边界边,那么这意味着可能有一个更好的半群包含你正在检查的那个。这给出了分子中的-f_b * B_c
。 f_b
只是一个缩放因子,因此您可以调整分配边界边缘的惩罚。
分母也是一种缩放因子。它用于标准化半群集分数,以便小群集不会被较大群集完全控制。一个极端的例子是,如果你考虑世界上每个人的半群体。显然,没有边界边缘和大量内部边缘,但毫无疑问,它是一个不如高中篮球队那么有用的半群体。
答案 1 :(得分:1)
与派系有关。
V_c *(V_c - 1)是大小为V_c的集团中的边数。
因此,如果您对组I_c中的所有边取总和,则这是适当的规范化以获得算术平均值。
即。 I_c /(V_c *(V_c - 1))是集团内的平均权重。
现在-f_B * B_c术语是传出边缘的惩罚。恕我直言,它应该只用V_c来划分,但这是个人的品味,因为我假设预期的外围边缘与集团成员的数量一致,而不是平方。