3 学习社区嵌入的社区检测与图节点嵌入(2017)

参考论文Learning Community Embedding with Community Detection and Node Embedding on Graphs

摘要
以前的研究都是针对节点嵌入,目标就是输出一个向量去代表图中的节点,在这篇文章中首次引入社区嵌入,社区嵌入可以描述其成员节点在低维空间中的分布情况,所以这次不能简单的把社区看成一个向量,而是低维空间中的分布(高斯混合分布)。如下图,每个节点嵌入2维空间中(一个平面上)在这里插入图片描述
一方面,节点嵌入可以帮助改进社区检测,从而输出良好的社区以适应更好的社区嵌入,另一方面,社区嵌入可以通过引入a community-aware high-order proximity来优化节点嵌入。在这指导下,提出了一个新的社区嵌入框架,如下:
在这里插入图片描述
算法说明
在这里插入图片描述
在高斯混合公式的激励下,我们将社区嵌入定义为低维空间中的多元高斯分布。
社区检测与嵌入
给定节点嵌入,一种直接的检测社区和学习社区嵌入的方法是采用流水线方法。(1)运行社区检测,可以运行谱聚类。为每个节点获得类标签(2)应用节点嵌入,为每个节点获得一个嵌入向量(3)聚类节点嵌入向量,然后对每个社区进行高斯混合。然而,这种流水线方法缺乏统一的目标函数,因此很难用节点嵌入来优化。
另一种是最近的研究表明,由于节点嵌入很好地保持了低维空间中的网络结构,所以它常常改进社区检测。因此,社区嵌入的可能方法是直接对节点嵌入结果进行社区检测,从而为每个社区建立一个基于节点嵌入向量的多变量高斯分布。也就是在gmm的基础上将社区检测和嵌入到一个单一的目标函数中。然而,这种方法也是次优的,因为大多数现有的节点嵌入方法都不知道社区结构,这使得节点嵌入向量对于接下来的社区检测不太好。
节点嵌入(节点嵌入的重点是保持一阶或二阶邻近性。)
为了保持一阶邻近性,[24]通过最小化(3), 强制两个相邻节点具有相似的嵌入
在这里插入图片描述
关闭回路
为了关闭循环,我们需要启用从社区检测和社区嵌入到节点嵌入的反馈。因此,仅通过保持一阶邻近性,我们可能无法很好地区分其社区成员之间的差异.另一个例子是,节点9和节点10共享多个单跳和双跳邻居。与节点10相比,节点9倾向于更接近由节点1所引导的社区。因此,通过只保留二阶接近度,不能区分社区成员资格。
在闭环的基础上,对社区检测、社区嵌入和节点嵌入进行了优化。我们有三种类型的节点嵌入需要考虑,包括第一种,第二种,高度接近。通常,有两种方法可以将不同类型的邻近性结合起来用于节点嵌入:(1)首先分别优化O1和O2,然后将每个节点的两个嵌入到一个长向量作为最终输出;(2)单个节点嵌入,以同时保持一阶和二阶邻近性。

猜你喜欢

转载自blog.csdn.net/qq_41106162/article/details/89817722
今日推荐