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


本文结构

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

(1) 解决问题

本篇论文是针对现有表征算法计算开销比较大,不能够很好应用到大规模网络上的问题。


(2) 主要贡献

Contribution: 提出一种快速且可扩展网络表征框架,LouvainNE,能够为包含数百亿边的网络生成高质量的表征向量。


(3) 算法原理

LouvainNE的算法思想也就是基于粗化图的,与HARP类似,但是粗化方式不同,粗化图的使用方式也不同。

LouvainNE算法包含三个部分

(1)类似自顶向下的层次聚类算法,构建层次子图(2)为每个层次子图中的节点生成特定节点表征,提出两个不同的方法来生成节点嵌入(标准嵌入和随机嵌入方法)(3)结合各个层次子图中节点获得的表征成最终节点表征。

  • 自顶向下构建层次子图:使用Louvain算法生成的社区构成节点来进行划分。(满足一个假设,相似的数据节点应该在二叉树上的位置更接近)如下图所示:



    首先,使用Louvain算法得到原始图(对应上图树的根节点)的初始社区划分S1、S2、S3,每个社区可以看成一个粗化节点(对应上图中右半部分根节点的第一个分叉)。紧接着对S1、S2、S3分别递归使用Louvain再进行社区划分,分别得到各自的儿子节点,如上图中右边树所示,S1进一步划分为社区S11和S12。以上过程对树中每个非叶节点(粗化节点包含两个或多个原始图节点的为非叶节点,否则为叶节点)分别做,直到得到的儿子节点均只包含单个原始图中的节点,自顶向下层次子图构建完毕(每一层所有节点看成一个层次(粗化)图)。

  • 为每个层次图中的节点学习表示向量(同一深度的节点位于同一层图中),提出标准嵌入方法和随机嵌入方法。

    标准嵌入:使用其他表示学习算法来学习,如DeepWalk、Line、Node2vec等等,通常其他表示学习算法的输入需要图结构的,因此需要定义层次子图,点由每一层节点组成,节点之间的边由以下公式确定(ES1S2代表节点集合S1和S2之间存在的边):

    随机嵌入:使用标准正态分布随机生树中每个节点的表示向量,这种方法不需要构建图结构。(论文实验中对比了标准嵌入和随机嵌入的实验效果,emmm,结论是相差不大,考虑到随机嵌入效率比标准嵌入快很多,因为综合考虑还是使用随机嵌入的方法好。)

  • 融合各层节点表示生成节点最终表示向量,我们只要得到树中所有叶节点的表示向量即课得到原始图的表示向量:我们可以发现,从根节点到叶节点对应唯一路径,聚合路径中节点的向量表示(结合各个层的表示,从而融合局部到全局的结构特征)即可得到叶节点的向量表示(即路径上其他节点向量的线性组合)。聚合方式如下所示(越靠近根节点的节点的向量表示越重要,h为树的深度,α为超参数(属于[0,1],衡量当前深度的节点表示向量对叶子节点表示向量的重要性),ytv为在第t深度的路径中节点的表示向量):

以上便是LouvainNE算法的全部内容,通过Louvain算法获取社区信息,将社区构造为粗化节点,逐级递归,构造层次树,最后结合叶节点对应的路径上所有粗化点的表示得到叶节点的表示。


(4) 参考文献

Bhowmick A K, Meneni K, Danisch M, et al. LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding [C] // Proceedings of the 13th International Conference on Web Search and Data Mining. 2020: 43-51.


[论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding的更多相关文章

  1. 论文阅读笔记(二十三)【ECCV2018】:Robust Anchor Embedding for Unsupervised Video Person Re-Identification in the Wild

    Introduction 当前主要的非监督方法都采用相同的训练数据集,这些数据集在不同摄像头中是对称的,即不存在单个行人的错误项,这些方法将在实际场景中效果下降.在本方法中,作者引入了非对称数据,如下 ...

  2. 论文阅读笔记(十)【CVPR2016】:Recurrent Convolutional Network for Video-based Person Re-Identification

    Introduction 该文章首次采用深度学习方法来解决基于视频的行人重识别,创新点:提出了一个新的循环神经网络架构(recurrent DNN architecture),通过使用Siamese网 ...

  3. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  4. Nature/Science 论文阅读笔记

    Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...

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

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

  6. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  7. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  9. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

随机推荐

  1. 07_利用pytorch的nn工具箱实现LeNet网络

    07_利用pytorch的nn工具箱实现LeNet网络 目录 一.引言 二.定义网络 三.损失函数 四.优化器 五.数据加载和预处理 六.Hub模块简介 七.总结 pytorch完整教程目录:http ...

  2. Ducci Sequence UVA - 1594

      A Ducci sequence is a sequence of n-tuples of integers. Given an n-tuple of integers (a1,a2,···,an ...

  3. 以 DEBUG 方式深入理解线程的底层运行原理

    说到线程的底层运行原理,想必各位也应该知道我们今天不可避免的要讲到 JVM 了.其实大家明白了 Java 的运行时数据区域,也就明白了线程的底层原理,不过把这些东西明明白白写在纸面上的,网络上的文章并 ...

  4. TypeScript 入门自学笔记 — 类型断言(二)

    码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...

  5. 解决github不能访问的问题

    亲测有效,授之以鱼不如授之以渔,网上看了很多方法,也试着做了,很多都是治标不治本,最后找到个靠谱的方式:利用DNS查询工具,找到最快的IP地址,然后把host地址换成查询到的结果,方法如下: 在系统的 ...

  6. 多指灵巧手MoveIt!与Gazebo联合仿真框架搭建

    至于为什么叫框架,一是因为灵巧手的3维模型没有按照基本的设计要求画,正常来说,设计机器人机构之前应该设计好机构需要多少个自由度/DOF,每个自由度是旋转/revolute类型还是滑移/prismati ...

  7. POJ1178枚举三个地方(所有点都去同一个点)

    题意:       有一个国王和很多骑士,他们都要到某一个点去集合,然后问所有人都到达某个终点的距离和最小是多少?过程中如果国王遇到了一个骑士的话,国王就可以和骑士一起按照骑士的走法走,这是两个人算一 ...

  8. Windows PE变形练手2-开发一套自己的PE嵌入模板

    PE嵌入模板 编写一段代码,生成一个已经处理过重定位信息,同时所有的内容都在代码段里,并且没有导入表的PE程序,把这个程序嵌入到其他PE的相关位置,能够独立的运行,接下来是整理了2个模板,一个是Hel ...

  9. spring中注解@Resource 与@Autowire 区别

    ① .@Resource 是根据名字进行自动装配:@Autowire是通过类型进行装配. ②. @Resource 注解是 jdk 的:@Autowire 是spring的.

  10. C++中使用sort对常见容器排序

    本文主要解决以下问题 STL中sort的使用方法 使用sort对vector的排序 使用sort对map排序 使用sort对list排序 STL中sort的使用方法 C++ STL 标准库中的 sor ...