[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering


本文结构

  1. 解决问题
  2. 主要贡献
  3. 算法原理
  4. 参考文献

(1) 解决问题

已经有一些工作在使用学习到的节点表示来做社区发现,但是仅仅局限在得到节点表示之后使用聚类算法来得到社区划分,简单说就是节点表示和目标任务分离了,学习到的节点表示并不能很有效地应用于聚类算法(因为可能节点表示向量所在的低维空间中并不存在容易容易划分的簇,从而使用聚类算法也不能得到很好的社区划分结果)。


(2) 主要贡献

Contribution 1: 提出GEMSEC,一个基于序列的图表征模型,学习节点表征的同时进行节点的聚类。

Contribution 2: 引入平滑正则项来迫使具有高度重叠邻域的节点对有相似的节点表示。


(3) 算法原理

GEMSEC算法主要的框架还是遵循DeepWalk的算法框架,即随机游走生成语料库,再利用简单神经网络来训练节点表示向量。

  • 对于随机游走部分,GEMSEC简单采用DeepWalk的一阶随机游走。
  • 对于所使用的简单神经网络,原本DeepWalk采用的是以最大化窗口内节点共现概率为目标的Skip-Gram模型,而GEMSEC仅仅在Skip-Gram目标函数(窗口内节点的共现概率)的基础上加上了和聚类有关的目标函数,从而将表示向量学习目标和聚类目标联合在一起优化,得到更加适合聚类(簇的内聚程度高,簇间分明)的表示向量,在学习表示向量的同时也生成了节点的社区划分。

总的目标函数=Skip-Gram目标函数+聚类目标函数,如下所示:

上述目标函数中用到的符号解释如下:

f-the\ mapping\ function\ (from\ node\ to\ embedding\ vector)

f(v)-the\ embedding\ vector\ of node\ v

N_{S}(v)-the\ collection\ of\ windows\ containing\ v

C-the\ set\ of\ communities

u_{c}-the\ vector\ of\ cluster\ center

\gamma-the\ weight\ coefficient\ of\ the\ clustering\ cost

上述目标函数中,第一项公式中的Embedding cost)为使用了Softmax的节点共现概率函数化简后的形式,主要作用是使得采样的序列中同一个窗口内的节点的表示向量具有相似的表示。第二项公式中的Clustering cost)为聚类的目标函数(类似Kmeans),旨在最小化节点与最近的聚类中心的距离,即增加簇的内聚度,训练更适合聚类的表示向量。

此外论文中还引入了平滑正则化项(未在上述目标函数公式中给出),该项形式如下:

上述函数中用到的符号解释如下:

E_{S}-the\ edges\ within\ the\ windows

w(v,u)-the\ regularization\ weight\ of\ each\ pair\ (v,u)

\lambda-the\ regularization\ coefficient

窗口内存在边的节点对的正则化权重w(v,u)可由如下计算(采用网络中的相似度计算方式确定,如Jaccard系数,即两个节点共同邻居的比例越大,两个节点越相似):

引入该平滑正则化项的目的是使得具有高度重叠邻域的节点对有着更加相似的向量表示。 (该平滑正则化项也可以用于DeepWalk、Node2Vec等目标函数的设计)

因此最终Smooth GEMSEC算法的总的目标函数=共现概率目标+聚类目标+平滑正则化项


(4) 参考文献

Rozemberczki B, Davies R, Sarkar R, et al. Gemsec: Graph embedding with self clustering[C]//Proceedings of the 2019 IEEE/ACM international conference on advances in social networks analysis and mining. 2019: 65-72.


[论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering的更多相关文章

  1. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

  2. 论文阅读 Real-Time Streaming Graph Embedding Through Local Actions 11

    9 Real-Time Streaming Graph Embedding Through Local Actions 11 link:https://scholar.google.com.sg/sc ...

  3. [论文阅读笔记] Community aware random walk for network embedding

    [论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...

  4. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...

  5. [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding

    [论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...

  6. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  7. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  8. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  9. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

随机推荐

  1. Zabbix如何监控Linux防火墙服务

    今天在巡检的时候,突然想到Zabbix能否监控Linux的防火墙服务呢? 显然是可以的,但是Zabbix 5下默认的模板"Template OS Linux by Zabbix agent& ...

  2. 转载:[Oracle]杀死正在执行的sql语句

    地址:https://www.jianshu.com/p/7ad9ce2db55c 还未尝试,试后再来总结. 2020年2月12日 20点19分 试了,不好用.

  3. 现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。

    logback版本:1.1.11 这个是我实验验证的,昨天我配置了一个logback,然后用两个线程不断往里写log,结果发现到了今天2020-01-16日,log文件还是昨天的logbackCfg. ...

  4. Ubuntu 安装配置 WordPress5.4.2

    一.安装 Apache 并配置 WordPress sudo apt-get install apache2 -y //  安装 apache2 sudo apt-get install php -y ...

  5. Spring Boot入门,源码解析

    目录 1.Spring Boot简介 2.微服务 3.Spring Boot HelloWorld 3.1 创建一个Maven工程 3.2 导入依赖Spring Boot相关的依赖 3.3 编写一个主 ...

  6. 10.QT-QAudioOutput类使用

    本章需要用到的类如下: QAudioDeviceInfo类提供音频输出设备 QAudioFormat类提供音频参数设置 QAudioOutput类提供了用于将PCM原始音频数据发送到音频输出设备的接口 ...

  7. JS -- DOM(文档对象模型)

    认识DOM(文档对象模型) DOM(Document Object Model):定义访问和处理HTML文档的标准方法. DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). < ...

  8. yum管理——ningx部署私有repo源(4)

    一.前言: 为了加快安装效率,或者日后服务器处于内网环境,本次特写一片搭建的是一个属于个人私有repo源仓库,思路如下: 1.首先到mirrors.ustc.edu.cn下载用到的源的仓库 2.然后安 ...

  9. JS 数组, 对象的增查改删(多语法对比)

    数据结构横向对比, 增, 查, 改, 删 建议: 在用数据结构的时候, 优先考虑Map和Set(考虑数据的唯一性), 放弃传统的数组和Object, 特别是比较复杂的数据结构时 数组 Map与Arra ...

  10. Docker应用安装

    一.安装mysql 1.查看可用的 MySQL 版本 访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags . 可以通过 Sort by 查看其 ...