【论文阅读】node2hash:Feature Hashing for Network Representation Learning

127 阅读14分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情

前言

Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   唯有努力💪  

知其然 知其所以然!

  本文仅记录自己感兴趣的内容

简介

原文链接:dl.acm.org/doi/10.5555…

会议:IJCAI'18: Proceedings of the 27th International Joint Conference on Artificial Intelligence (CCF-A)

年度:2018/07/13

Abstract

网络表示学习的目标是嵌入节点,从而将图的接近性结构编码到连续的低维特征空间中

在本文中,我们提出了一种新的基于特征哈希生成节点嵌入的算法node2hash

这种方法遵循编码器-解码器框架

在这个框架中有两个主要的映射函数

  • 第一个是编码器,将每个节点映射到高维向量
  • 第二种是解码器,将这些向量哈希到低维特征空间

具体来说,我们

  • 首先推导出一种以期望距离为目标的接近度度量,结合节点在随机漫步中的位置分布和共出现统计,构建接近矩阵
  • 然后在特征哈希中引入一组TT种不同的哈希函数,从接近矩阵中生成均匀分布的节点向量表示

与现有的最先进的网络表示学习方法相比,node2hash在来自不同域的三个真实网络的多类节点分类和链路预测任务上表现出了具有竞争力的性能

1 Introduction

大多数网络,如社会网络、引文网络、电网网络等,都可以高度建模为图形,其中复杂的关系可以有效地存储单元

机器学习在图数据中的应用已经有了广泛的研究,如节点分类[Tsoumakas和Katakis, 2006]和链接预测[Liben-Nowell和Kleinberg, 2007]

然而,由于这种图结构数据的稀疏性,如何有效地将其融合到机器学习中是一个主要的问题

为了解决这一问题,网络表示学习(network representation learning, NRL)将节点嵌入到一个连续的低维特征空间中,其中的几何关系能够准确地反映原始图中节点的邻近结构


近年来,对NRL的研究有巨大的增长趋势

早期的工作主要集中在矩阵分解,如图分解[Ahmed et al., 2013]和高阶邻近性保留嵌入(HOPE) [Ou et al., 2016]

他们通常可以遵循编码器-解码器框架[Hamilton et al., 2017],其中

  • 编码器是将节点的邻近性映射到特征空间
  • 解码器是通过矩阵分解生成节点嵌入

图分解直接采用基于图邻接矩阵的接近度度量,然后通过提出的分解技术生成节点嵌入

此外,HOPE还推导了一个公式,它涵盖了一般的接近度测量

单词嵌入模型Skip-gram [Mikolov et al., 2013]在自然语言处理(NLP)方面的巨大成功为学习离散对象的表示提供了灵感

  • DeepWalk [Perozzi et al., 2014]是一种可扩展的算法,它简单地采用一组由节点组成的无偏随机漫步作为Skip-gram的输入来生成节点嵌入
  • 与DeepWalk类似,node2vec [Grover和Leskovec, 2016]引入了一种对节点流进行采样的新方法,称为有偏随机漫步。与无偏随机漫步相比,有偏随机漫步拥有两个额外的灵活参数p和q,这些参数分别控制节点的重游概率和节点的直接邻域(单跳区域)重游概率,从而深入探索节点在局部社区或全局图中所扮演的角色

特征哈希[Weinberger et al., 2009](也被称为哈希技巧[Shi et al., 2009])是一种降维技术

该算法能够保持向量之间的内积,在自然语言处理中取得了很大的成功

例如,哈希技巧被Attenberg应用于电子邮件-垃圾邮件过滤[Attenberg等人,2009]

此外,一种基于特征哈希的名为hash2vec的新方法[Argerich等人,2016]被提出嵌入单词,这为学习离散对象表示提供了另一个有前途的方向

受此启发,我们提出了一种基于特征哈希的node2hash算法,首次生成节点嵌入

一种比较直接的方法是直接采用邻接矩阵作为邻近矩阵,通过特征哈希降低邻接矩阵的维数,从而产生节点嵌入

然而,邻接矩阵由于其稀疏性,不能保留图的丰富邻近结构

另一方面,特征哈希在降维过程中不容易处理重复碰撞

因此,有两个痛点

  • 首先是如何建立一个信息丰富的邻近矩阵
  • 二是如何缓解特征哈希的冲突问题

在我们的算法中,有两个映射函数来嵌入节点

  • 第一个映射函数是一个编码器,将随机漫步中节点的结构信息映射到一个称为邻近矩阵的高维特征空间,其中每个元素表示两个节点之间的两两接近。在该函数中,我们定义了一种称为期望距离的邻近度量,它结合了随机游动中节点之间的两两位置分布和共现统计量
  • 第二个功能是降维解码器。我们设计一个哈希核,将上述矩阵映射到低维空间,最终得到表示。在提出的哈希核中,我们使用TT哈希函数来生成均匀分布的向量表示。由于哈希函数是一个多对一的映射,因此存在一个不可避免的冲突问题。通过引入哈希集,一个元素可以在一个低维向量上得到多个位置,使其均匀分布

将我们的算法应用于空手道网络的结果如图1所示

  • 在图1a中,根据社区检测,将空手道网络标记为三种颜色。给定空手道图作为输入,我们提出的算法能够生成节点嵌入
  • 图1b显示了同一个社区中的节点很容易在空间上聚集到一个更密集的空间中。

在这里插入图片描述


为了演示node2hash的性能,我们的实验集中在多类节点分类和链路预测任务上,并将node2hash与最先进的表示学习算法进行了比较

实验结果表明,node2hash具有与其他方法相媲美的性能


我们的主要贡献如下:

  • 我们通过一组T哈希函数设计了一个变种哈希核,使特征信息均匀分布,从而产生高质量的节点嵌入
  • 我们定义了一种称为期望距离的接近度量,以从随机生成的行走中提取特征信息。该方法结合了行走过程中节点的位置分布和共现统计信息
  • 我们对多类节点分类和链路预测的实验表明,我们定义的接近度测量期望距离能够提供可靠的特征,并且提出的node2hash具有与最先进的算法接近的性能。参数敏感性实验结果证实了我们对所提算法的分析

2 Related Works

在本节中,我们首先给出了NRL的定义,然后介绍了特征哈希

2.1 Problem Statement

形式上,网络被建模为无向图G=(V,E)G = (V, E),其中

  • VV表示节点集
  • EE表示边集

NRL的目标是构建一个低维特征矩阵ΦRV×dΦ∈R^{|V|×d},其中

  • dd为向量的维数,远小于V|V|
  • 每一行ΦiΦ_i表示每个节点的向量表示

2.2 Introduction to Feature Hashing

实际上,原始输入空间总是线性可分的

因此,不需要将原始输入维向量映射到高维特征空间

因此,一种被称为特征哈希(或称为哈希技巧)的替代方法被提出来降低维度

[Shi et al., 2009]提出的哈希核(hash kernel)通过哈希函数将原始输入特征向量映射到低维特征空间,能够准确地保留向量之间的内积


JJ表示索引集,h:J{1N}h: J→\{1,…N\}是一个哈希函数

哈希核的定义如下:

在这里插入图片描述 其中

  • φ\overline φ表示哈希特征映射
  • φ(x)\overline φ(x)表示xx的简化特征向量
  • xix_ixx上的第ii个位置
  • 根据式(2),φ(x)\overline φ(x)的第jj个坐标是所有xix_i的无符号和,此时jjh(i)h(i)生成。

在上面提到的哈希核中存在一个冲突问题,即输入向量的不同元素可能被映射到哈希向量的同一个坐标中

为了解决这个问题,一个变种哈希核[Weinberger等人,2009]是通过引入二进制哈希ζζ开发的,导致消除固有的偏差

通过这种方法,将无符号特征转化为有符号特征,并适当地减少了哈希向量的碰撞

ζ:N{1,1}ζ: N→\{−1,1\}是一个哈希函数,其中N表示自然数

变种哈希内核可以这样定义

在这里插入图片描述

3 Proposed Algorithm

在本节中,我们将详细描述我们提出的node2hash

  • 首先,我们将介绍如何从随机生成的步数中提取接近度
  • 然后,我们介绍了所提出的哈希核,并分析了其参数敏感性
  • 最后给出了算法的框架

3.1 Building Proximity Matrix

无偏随机游动中中心节点周围节点的位置分布和共现统计可以反映原点图中中心节点丰富的结构信息

因此,我们提出了一种将这两种特征信息整合在一起的接近度测量方法——期望距离( expected distance)

Definition 1

pathu=v1,v2vmpath_u = {v_1, v_2,…, v_m}是一条随机游走的短路径,uu是中心节点

其中ed(u,v)ed(u, v)表示uuvv之间的期望距离,公式为

在这里插入图片描述 其中

  • cc为节点vv的出现次数
  • pc(vu)p_c(v|u)uuvvdisu,vidis_{u,v^i}的共现概率,即计算uuvv在第ii次共现处的子路径距离,根据uupathupath_u进行分割得到子路径,如图2所示,将pathupath_u分割为从中心节点uu开始的子路径
  • max_dismax\_dis是所有disdis之间的最大距离
  • 公式中的第一个项(max_disdisu,vi)(max\_dis−dis_{u,v^i})是使距离与期望距离成负相关关系。这是因为如果节点的距离较低,它们对ed(u,v)ed(u, v)的贡献越大,反之亦然

SS表示一个邻近矩阵SRV×VS∈R^{|V |×|V|},其中SS的每一行都是一个节点的向量

Ou,vO_{u,v}uuvv的共现次数

给定一个节点到id函数,表示为D:v1,2VD: v→{1,2,…, |V|},每个元素可以定义如下

在这里插入图片描述

算法1给出了构造接近矩阵的详细伪代码

在这里插入图片描述

在算法1中

  • 第2行是将随机漫步分割成一组长度为w+1w + 1的短路径集
  • 第7行是根据算法2从两条半子路径中得到节点的位置分布和共现统计信息
  • 第9-12行是式(5)的离散步骤

在这里插入图片描述

3.2 Proposed Hash Kernel

随着图的比例尺的增加,上述节点接近矩阵的维数诅咒是无法避免的

因此,使用散列技巧来降低矩阵的维数

在降维过程中,很可能会将多个输入特征哈希到一个低维特征向量上的同一个位置

为了解决这个问题,一个原始特征应该在向量上的不同位置散列几次,这样输入特征才能被正确表示

因此,提出了一种哈希核的变体

与Eq.(3)相比,使用额外的一组不同的哈希函数作为映射

通过这种方式,向量上的几个元素可以一起代表一个原始特征

Definition 2

ΦRV×dΦ∈R^{|V|×d}为节点嵌入矩阵

  • 其中dd为向量的维数
  • 每一行表示一个节点的一个特征向量

HH表示一个具有TT个不同哈希函数的集合,H={h1,h2hT}H = \{h_1, h_2,…, h_T\},其中

  • ht{1,2,...,V}{1,2,...,d}h_t:\{1,2,...,|V|\} \rightarrow \{1,2,...,d\}是哈希函数hth_t的id
  • ζζ为符号哈希函数ζ:V{1,1}ζ: V→\{−1,1\}

那么我们提出的生成u特征向量的哈希核可以定义为

在这里插入图片描述 其中

  • Φi,mΦ_{i,m}是节点uu的向量的第mm个元素,此时D(u)=iD_{(u)} = i

图3展示了拟议的哈希核的示意图

在这里插入图片描述

在提出的哈希核中有一个关键参数TT,它控制了HH中哈希函数的数量

  • 低维向量似乎可以被哈希集扩展TT

因此,哈希集可以合并为一个单独的哈希函数h:{1,2,V}{1,2,dT}h:\{1,2,…,|V|\}→\{1,2,…, d^T\}


随着哈希集大小的增加,所提出的哈希核可以降低碰撞概率,从而有助于特征的均匀分布

假设一个哈希函数以相等的概率选择每个向量位置

当根据TT个哈希函数将nn个特征插入到大小为dd的较低向量时,碰撞概率计算如下

在这里插入图片描述

由式(7)可知,碰撞概率会大大降低

给定一个V=1000|V| = 1000,维度d=100d = 100的图,由于TT从2变1,碰撞概率可以从1exp(103/102)11−exp(−10^3/10^2)≈1降低到约1exp(103/104)0.091−exp(−10^3/10^4)≈0.09

但是,随着TT的增加,哈希后的低维向量上的每个元素都会被快速占用

每个元素至少有一个特征的概率为

在这里插入图片描述 由式(8)可知,随着T的增加,概率会变大

更大的概率会导致每个元素被重写更多次,导致不确定性

我们的实验结果也证明了这一点。因此,应该适当地设置该参数

3.3 The Framework of Proposed Algorithm node2hash

在较高的层次上,图4展示了提出的node2hash的编码器-解码器框架

  • 首先,编码器通过计算两两节点之间的期望距离来建立接近矩阵
  • 然后解码器对矩阵进行哈希核运算,得到低维的节点嵌入

提出的node2hash算法的整体框架在算法3中给出

在这里插入图片描述

4 Experiments

4.1 Datasets

我们的实验中考虑了三种网络

  • Citeseer [McCallum等人,2000]是一个引文网络,其中有3,312篇科学论文,分为6类,其中有4,732条链接。链接表示出版物之间的引用关系
  • Cora [McCallumet等人,2000]也是一个引文网络,由7类2,708篇科学论文和5,429个链接组成
  • Wiki [Sen等人,2008]包含了19个类别的2405个网页和它们之间的17981个链接。与上述两个网络相比,它的密度更大

4.2 Baseline Methods

在这里插入图片描述

4.3 Link Prediction

在这里插入图片描述

4.4 Multi-class Node Classification

在这里插入图片描述

4.5 Parameter Sensitivity

在这里插入图片描述

5 Conclusions

我们提出了一种名为node2hash的新方法,通过哈希从随机生成的漫步中提取的邻近矩阵来生成有意义的节点嵌入

在三种网络上的链路预测和多类节点分类任务的实验结果表明了该方法的有效性。

这项工作为特征研究开辟了几个有前景的方向

  • 首先,将node2hash并行化会很有趣,这样运行时间和网络规模之间就会有线性关系
  • 在此基础上,采用自编码器神经网络等方法对邻近矩阵进行降维。

读后总结

2022/07/27 第一次阅读

最近状态不佳啊 文章读起来有点吃力啊

文章思路主要是

  • 先计算两两节点之间的期望距离来建立接近矩阵SS
  • 然后解码器对矩阵SS进行哈希核运算,得到低维的节点嵌入

难点一是矩阵SS的创建

而是哈希变换(这个具体没有看懂)

有个疑问:这个接近矩阵具体的作用是啥?哈希化呢?

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述