【论文笔记】摘抄

基于矩阵特征向量计算
  谱聚类算法通过 计算关系矩阵的前 k 个特征向量或奇异向量来得到 k 维的节点表示. 关系矩阵一般就是网络的邻接矩阵或者 Laplace 矩阵.基于谱聚类方法的时间复杂度较高, 因为特征向量和奇异向量的计算时间是非线性的. 另一方面, 谱聚类方法需要将关系矩阵整体存于内存之中, 所以空间复杂度也是不能忽略的.
  局部线性表示 (locally linear embedding) 假设节点的表示是从同一个流形中采样得到的. 局部线性表示假设一个节点和它邻居的表示都位于该流形的一个局部线性的区域. 也就是说, 一个节点的表示可以通过它的邻居节点的表示的线性组合来近似得到. 局部线性表示使用邻居节点表示的加权和与中心节点表示的距离作为损失函数. 最小化损失函数的优化问题最终转化成某个关系矩阵特征向量计算问题求解.
  Laplace 特征表 (Laplace eigenmap) 简单的假设两个相连的节点的表示应该相近. 特别地, 这里表示相近是由向量表示的欧氏距离的平方来定义. 该优化问题可以类似地转化为 Laplace 矩阵的特征向量计算问题.有向图表示 (directed graph embedding) 进一步扩展了 Laplace 特征表方法, 给不同点的损失函数以不同的权重. 其中点的权重是由基于随机游走的排序方法来决定。
  其他:假设节点表示的每一维对应着该节点从属于一个社区 (community) 的强度, 进而将模块性 (modularity) 引入了损失函数. 模块性是衡量网络分离程度的指标, 高的模块性值意味着在同一模块内节点连接紧密, 而不同模块间节点连接稀疏. 最终该优化问题转化为了归一化的 Laplace 矩阵的特征向量计算.一般 先定义一个关于节点表示的线性或二次损失函数. 然后将最优化问题转化为某个关系矩阵的特征向量计算问题.

基于简单神经网络的算法
  DeepWalk 算法 第一次将深度学习中的技术引入到网络表示学习领域. DeepWalk 算法充分利用了网络结构中的随机游走序列的信息. 使用随机游走序列而不是邻接矩阵的优势有两点: 首先, 随机游走序列只依赖于局部信息, 所以可以适用于分布式和在线系统, 而使用邻接矩阵就必须把所有信息存储于内存中处理, 面临着较高的计算时间和空间消耗. 第二, 对随机游走序列进行建模可以降低建模 0-1 二值邻接矩阵的方差和不确定性. DeepWalk 首先在网络上采样生成大量的随机游走序列, 然后用 Skip-gram(DeepWalk 算法会计算由中心节点 vi, 产生两侧节点的概率. 作为模型简化,Skip-Gram 模型忽略了节点的顺序和距离中心节点的距离 )和 Hierarchical Softmax 模型对随机游走序列中每个局部窗口内的节点对进行概率建模, 最大化随机游走序列的似然概率, 并最终使用随机梯度下降学习参数. 随机游走序列中节点和文档中的单词一样都遵从指数定律 (power-law), 从而进一步将著名的词表示学习算法 word2vec 应用在随机游走序列上, 学习节点表示.
   LINE: 基于简单神经网络的另一个代表性的网络表示学习算法就是 LINE 算法.为了对节点间的关系进行建模, LINE 算法用观察到的节点间连接刻画了第一级相似度关系, 用不直接相连的两个节点的共同邻居刻画了这两个点之间的第二级相似度关系. 直觉上说, 对直接相连的两个节点间关系的刻画等价于对原始网络的邻接矩阵的建模. 但是一个网络中的边关系往往是非常稀疏的, 所以有必要进一步刻画第二级相似度关系来考虑虽然并不直接相连, 但是共同邻居较多的节点对, 从而对第一级相似度的信息予以补充.具体来说, LINE 算法对所有的第一级相似度和第二级相似度节点对进行了概率建模, 并最小化该概率分布和经验分布之间的 KL 距离. 参数学习由随机梯度下降算法决定.

基于矩阵分解的方法
  给定关系矩阵, 对关系矩阵进行矩阵分解达到降维的效果, 从而得到节点的网络表示. Yang 等证明了 DeepWalk 算法实际上等价于某个特定关系矩阵的矩阵分解. 第一步构建节点间的关系矩阵, 第二步对该矩阵进行矩阵分解操作得到网络表示
  GraRep 算法 考虑了一种特别的关系矩阵. GraRep 通过 SVD 分解对该关系矩阵进行降维从而得到 k 步网络表示. 形式化地, 假设首先对邻接矩阵 A 进行行归一化处理, 使得矩阵 A 中每行的加和等于 1. 则 GraRep 算法在计算 k 步网络表示时分解了矩阵 Ak, 该关系矩阵中的每个单元对应着两个节点间通过 k 步的随机游走抵达的概率. 更进一步, GraRep 尝试了不同的 k 值, 并将不同 k 值对应的 k 步网络表示拼接起来, 组成维度更高、表达能力也更强的节点表示. 但 GraRep 的主要缺点在于其在计算关系矩阵 Ak的时候计算效率很低.

基于深层神经网络的方法
  SDNE 使用深层神经网络对节点表示间的非线性进行建模. 整个模型可以被分为两个部分: 一个是由 Laplace 矩阵监督的建模第一级相似度的模块, 另一个是由无监督的深层自编码器对第二级相似度关系进行建模. 最终 SDNE 算法将深层自编码器的中间层作为节点的网络表示。

基于社区发现的算法
  从社区发现角度学习网络表示. 具体来说, 就是让节点表示的每一维对应该节点从属于一个社区的强度, 然后设计最优化目标进行求解. 这类算法会学习得到上述的社区强度关系表示, 然后转化为社区发现的结果. 而学习社区强度关系表示的过程可以看作是无监督的非负节点表示学习的过程.
  BIGCLAM 作为一个可覆盖社区发现算法, 为每个网络中的节点学习了一个上述的 k 维非负向量表示. BIGCLAM 算法对网络中每条边的生成概率进行建模: 两个点的向量表示内积越大, 那么这两个点之间形成边的概率也就越高. 算法的最大化目标是整个网络结构的最大似然概率. 最优化求解参数的过程由随机梯度下降算法实现.

保存特殊性质的网络表示
  HOPE 算法为每个节点刻画了两种不同的表示, 并着眼于保存原始网络中的非对称性信息.HOPE 构建了不同的非对称的关系矩阵, 然后使用 JDGSVD 算法进行矩阵降维得到节点的网络表示.
  CNRL 算法考虑了在节点表示中嵌入网络隐藏的社区信息.CNRL 假设每个节点属于多个社区, 也就是每个节点在所有的社区上有一个概率分布. DeepWalk 将随机游走生成的节点序列看作句子, 将序列中的节点看作文本中的词, 直接用训练词向量的 Skip-Gram 模型来训练节点向量. 受这种类比的启发, CNRL 将网络中的社区看作文本中的主题, 也就是说, 网络中相关的节点倾向于行程社区, 而文本中相关的词则会构成主题. 因此, CNRL 算法在生成的随机游走序列上, 将每个节点序列看成一篇文档, 通过基于 Gibbs 采样的 LDA 来学习每个节点的社区分布, 并通过随机采样的方式, 来给序列中的节点分配其对应的社区标签. 随后, 在 Skip-Gram 模型的基础上, 用中心节点的节点表示和对应的社区表示同时去预测随机游走序列中的邻近节点, 从而将社区结构信息保存在节点表示中.

结合外部信息的网络表示学习
  TADW 在矩阵分解框架下, 将节点的文本特征引入网络表示学习. TADW 算法基于矩阵分解形式的 DeepWalk 算法进一步加强得到: 将关系矩阵 M 分解成 3 个小的矩阵乘积, 其中黄色矩阵 T 是固定的文本特征向量, 另外两个矩阵是参数矩阵. TADW 算法使用共轭梯度下降法迭代更新 W 矩阵和 H 矩阵求解参数.
  已有的网络表示学习方法会给每个网络节点学习一个固定的表示向量, 不能展现出同一节点对于不同邻居节点角色的变化. 此外, 这些方法不能对节点之间的关系进行有效的建模和解释. 因此, CANE 利用网络节点的文本信息来对节点之间的关系进行解释, 来为网络节点根据不同的邻居学习上下文相关的网络表示.CANE 假设每个节点的表示向量由文本表示向量及结构表示向量构成, 其中, 文本表示向量的生成过程与边上的邻居相关, 所以生成的节点表示也是上下文相关的. 如图 6 所示, CANE 利用卷积神经网络对一条边上两个节点的文本信息进行编码. 在文本表示生成的过程中, 利用相互注意力机制,选取两个节点彼此最相关的卷积结果构成最后的文本表示向量.

结合外部信息的网络表示学习
  MMDW, 来学习有区分性的网络表示.MMDW 同时学习矩阵分解形式的网络表示模型和最大间隔分类器. 为了增大网络表示的区分性, MMDW 会针对分类边界上的支持向量计算其偏置向量, 使其在学习过程中向正确的类别方向进行偏置, 从而增大表示向量的区分能力。受最大间距的分类器影响, 该模型学习得到的节点向量不仅包含网络结构的特征, 也会拥有分类标签带来的区分性. 在节点分类任务上的实验效果证明了 MMDW 模型使用半监督训练表示的优势.
  Node2vec 通过改变随机游走序列生成的方式进一步扩展了 DeepWalk 算法. DeepWalk 选取随机游走序列中下一个节点的方式是均匀随机分布的. 而 node2vec 通过引入两个参数 p 和 q, 将宽度优先搜索和深度优先搜索引入了随机游走序列的生成过程. 宽度优先搜索注重邻近的节点并刻画了相对局部的一种网络表示, 宽度优先中的节点一般会出现很多次, 从而降低刻画中心节点的邻居节点的方差; 深度优先搜索反应了更高层面上的节点间的同质性.

你可能感兴趣的:(论文笔记)