图聚类和社区检测方法有什么区别?


9

基本上,图聚类和社区检测方法的目标是计算聚类。它们之间有什么区别吗?

Answers:


7

否。例如,引用自图表中的社区检测,这是Santo Fortunato最近的一项非常出色的调查,“真实网络的这一功能称为社区结构(Girvan和Newman,2002),或聚类”。确实,进一步阐述这一观点毫无意义。我有一种感觉,在早期的社交网络分析风格的论文中,网络往往很简单(不加权),但这不是我想争论的事情,也不重要。您的问题的答案是否定的。


0

M.Newman 在“ 检测网络中的社区结构”中将图聚类定义为在计算机科学上下文中定义的特定问题。

让我们考虑一些计算,可以将其分为几个简单的操作。这些被表示为我们网络中的节点。链接对应于操作之间的依赖性,即另一操作需要一个操作的结果。问题在于为了并行处理的目的将操作分布在多个处理器上。换句话说,我们想将每个节点(操作)分配给特定的类(处理器),即我们要对图进行分区。

但是,存在三个约束。首先是获得预定数量的社区,因为处理器的数量显然是事先已知的。第二个是获得均衡的负载:我们希望每个处理器大致执行相同数量的操作。就图而言,我们希望社区包含大约相同数量的节点。第三是使处理器之间的通讯尽可能低,因为这会减慢处理速度。因此,就图而言,我们希望最小化社区之间的链接数量。

因此,从这个角度来看,社区检测可以被认为是比图聚类更普遍的问题。在这两个问题中都强加了第三个约束,但是在社区检测中,先验的社区数量和规模尚不清楚。


4
这个答案是误导的。当先验地知道群集的数量和大小时,该问题称为图分区,而不是图群集。Wiki页面不是很好,但是只是一个开始:en.wikipedia.org/wiki/Graph_partition
micans

我不好,我认为这两个任务很相似。此处突出显示了它们之间的差异:cc.gatech.edu/dimacs10
Vincent Labatut

0

这两种不同的名称是由不同的科学家社区赋予同一个事物的,这取决于一个人是否想强调社交网络的动机。也许有人将聚类和社区检测定义为不同的事物,但是大多数研究其中一个的人将无法告诉您为什么他们不使用另一个术语。


0

如果将一个大型网络分为两个部分,那么什么可以保证您这两个部分是两个社区?两个群集具有低连接性并不意味着每个群集具有相似类型的节点或节点具有相似类型的连接(因此是社区)。想想社交网络图。肯定有很多社区。同样,通过聚类算法,您可以将其分为两部分。在这种情况下,您是否将每个零件称为社区。?我的回答是不。因为,这两个集群可能是两个地理区域的人。然后,这些肯定不是社区。

聚类算法仅关心最小割,而不关心节点相似性或连接相似性或密集连接。另外,在聚类算法中,应预定义聚类的数量。

社区检测算法,他们关心密度,他们发现网络的密集部分,而这类算法(到目前为止我已经看到)不需要预先定义社区的数量。

但是,可以使用聚类算法来查找社区,然后,由于不能保证每个群集都具有良好的社区结构,因此应仔细检查每个群集。


0

“一个人不能轻易地应用社区发现来解决聚类,反之亦然。尽管它们相似,但是方法上存在重要区别。社区发现假定稀疏连接,而聚类可以处理密集的数据集;在聚类中,我们通常处理多种类型的属性,而社区发现通常只处理单一属性类型-边缘-在不加权网络的情况下通常为二进制”,以获取更多信息,请阅读以下文章:Riccardo Guidotti和Michele Coscia撰写的“关于社区发现和集群之间的对等”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.