A Tutorial on Network Embeddings
NE 的中心思想就是找到一种映射函数,该函数将网络中的每一个节点转换为低维度的潜在表示
典型例子 DeepWalk:
其学习 Zachary’s Karate network 网络中的拓扑结构信息并转换成一个二维的潜在表示(latent representation)
目标
- 适应性
- 可扩展
- 社区感知
- 低维
- 标记数据稀疏时,低维模型可以更好的推广,并加速收敛和推理
- 持续
- 须要潜在的表示在连续的空间内模拟社区成员关系,连续的表示使社区有更平滑的边界,促进分类
此文包含
- 无监督网络嵌入方法在无特征的同质网络的应用
- 调研特征网络和部分标记网络中的网络嵌入
- 讨论异构网络嵌入方法
网络嵌入发展
传统意义的Graph Embedding
- 降维
- PCA
- 多维缩放(MDS)
- 将特征矩阵 M 的每一行投影到k 维向量,保留k 维空间中原始矩阵中不一样对象距离
- Isomap 算法
- (MDS 的扩展)经过将每一个节点与特定距离内的节点链接构造邻域图,以保持非线性流形的总体结构
- 局部线性嵌入( LLE )
这些方法都在小型网络上提供良好性能,但其时间复杂度至少为二次,故没法在大规模网络上运行
深度学习
- DeepWalk
- 经过将节点视为单词并生成短随机游走做为句子来弥补网络嵌入和单词嵌入的差距。而后,能够将诸如 Skip-gram 之类的神经语言模型应用于这些随机游走以得到网络嵌入。
- 按需生成随机游走。skim-gram 针对每一个样本进行了优化
- DeepWalk 是可扩展的,生成随机游走和优化 Skip-gram 模型的过程都是高效且平凡的并行化
- 引入了深度学习图形的范例
无向网络的网络嵌入
- LINE
- 为了更好的保存网络的结构信息,提出了一阶类似度和二阶类似度的概念,并在目标函数中结合了二者
- 使用广度优先算法,只有距离给定节点最多两跳的节点才被视为相邻节点
- 使用负抽样 skip-gram
- Node2vec
- 反映网络的结构
- deepwalk 的扩展(deepwalk 彻底时随机的),引入偏向的随机游走,增长 p,q 两个参数,p(控制访问走过的node,即往回走,q 控制没走过的node ,向外走)
- DeepWalk和node2vec算法是先在网络中随机游走,获得node的序列。两个node同时出如今一个序列中的频率越高,两个node的类似度越高。而后构建一个神经网络,神经网络的输入是node,输出是其余node与输入的node同时出现的几率。同时出现的几率越高,两个node的类似度越高。为了保持类似度一致,获得目标函数
- Walklets
- 不要游走,跳过!在线学习多尺度网络嵌入
- 进一步学习节点不一样权重的网络嵌入,以不一样的粒度捕获网络的结构信息。
- GraRep
- 经过将图形邻接矩阵提高到不一样的幂来利用不一样尺度的节点共现信息,将奇异值分解(SVD)应用于邻接矩阵的幂以得到节点的低维表示
- GraphAttention
- 不是预先肯定超参数来控制上下文节点分布,而是自动学习对图转换矩阵的幂集数的关注
- 经过设置隐藏层,这些层里的节点可以注意其邻近节点的特征,咱们可以(隐含地)为邻近的不一样节点指定不一样的权重,不须要进行成本高昂的矩阵运算(例如反演),也无需事先知道图的结构
- SDNE
- DNGR
改进
HARP
- network embedding的时候保持网络高阶的结构特征,具体的作法是经过将原网络图进行合并,合并为多个层次的网络图
- 经过递归地粗粒化方式,将原网络图的节点和边经过合并划分红一系列分层的结构更小的网络图,而后再利用现有的算法进行不断的特征提取,从而实现最终的network embedding特征提取
特征网络嵌入( Attributed Network Embeddings )
无监督网络嵌入方法仅利用网络结构信息来得到低维度的网络特征。可是现实世界网络中的节点和边缘一般与附加特征相关联,这些特征称为属性(attribute)。
例如在诸如 Twitter 的社交网络站点中,用户(节点)发布的文本内容是可用的。所以指望网络嵌入方法还从节点属性和边缘属性中的丰富内容中学习
挑战:特征的稀疏性,如何将它们合并到现有的网络嵌入框架中
方法:
- TADW
- Network repre- sentation learning with rich text information
- 研究节点与文本特征相关联状况,首先证实了deepwalk 实质上是将转移几率矩阵 分解为两个低维矩阵,它将文本矩阵合并到矩阵分解过程当中
联合建模网络结构和节点特征
- CENE
- 结合网络结构和节点特征
- 将文本内容视为特殊类型的节点,并利用节点-节点连接和节点内容连接进行节点嵌入。 优化目标是共同最小化两种类型链路的损失。
节点标签,引文网络中的出版地和日期等
典型方法是:优化用于生成节点嵌入和用于预测节点标签的损失
- GENE
- 将组的信息考虑到Network Embedding学习中,同一组的节点即便直接没有边,通常也会存在一些内在关系
- 每一个相同的组也会学到一个向量表示,组向量有两个用处:1)在利用周围节点预测中心节点时,组向量也会加入预测; 2)组向量也会预测组中的其余节点。最后目标函数是将上述两项相加而成
- Max margin DeepWalk(MMDW)
- 第一部分是基于矩阵分解的节点嵌入模型
- 第二部分是将学习的表示做为特征来训练标记节点上的最大边缘 SVM 分类器。经过引入偏置梯度,能够联合更新两个部分中的参数。
异构网络嵌入
- Chang [13] 提出了异构网络的深度嵌入框架
- 为每种模态(如图像,文本)构建一个特征表示,而后将不一样模态的嵌入映射到同一个嵌入空间
- 优化目标:最大化连接节点嵌入间的类似性、最小化未连接节点的嵌入