图划分指将网络顶点划分为指定规模,指定数量的非重叠群组,使得群组之间的边数最小。图划分时,群组的数量和规模是固定的。
社区发现不同于图划分的是网络群组的数量和规模不是由实验者确定的,而是由网络本身确定的。社区发现的目的是找到网络内部把不同群组之间的分割线。
图划分和社区发现另一个差异是目的不同,图划分用来将网络划分成多个更小,更易管理的单元;社区发现则用来了解网络结构,发掘网络中不易观察的连接模式。
传统的社区发现算法
传统的社区发现算法包括图分割算法,层次聚类算法,分割式聚类,谱聚类等。
图分割算法将社区发现问题定义为将网络中的节点分配到g个已经预先定义好规模的社区中去,并使处在社区间的边数最小。社区间的边数称为割值(cutsize)。图分割算法必须提前指定社区的个数及社区的大小规模。如Kernighan-Lin算法。
层次聚类算法假设社区可能是不同级别的小社区的集合,该类算法目的是识别出具有较高相似度的节点集合,识别图中的多级社区结构,它有两种类别:凝聚算法,不断合并相似度较高的节点,凝聚算法是自底向上进行的;分裂算法,不断地移除相似度较低的节点对之间的边,分裂算法是自上而下进行的。
分割式聚类算法是一种聚类算法,需要提前指定聚类的个数k。将每一个节点映射到一个度量空间中去,为一个节点对指定一个空间距离函数表示了节点之间的相似度。算法的目的就是将节点分到k个非重叠聚类中。
谱聚类算法是将一些初始的节点集合转移到样本空间中去,这种转换可以使原始节点集的聚类属性更加明显。