CS224W 3.3 Embedding Entire Graphs

目录

目标

方法1:聚合或平均所有节点的嵌入

方法2:引入一个虚拟节点

方法3:使用Anonymous Walk

方法3:简单使用walk的出现次数

方法3:聚合walk的嵌入生成图的嵌入

 总结

embedding的应用

第3节课总结


目标

想要嵌入整个图或者子图,图嵌入:z_{G}

CS224W 3.3 Embedding Entire Graphs_第1张图片

方法1:聚合或平均所有节点的嵌入

  • 在图上或子图上执行一个标准的嵌入技巧。
  • 然后仅仅求和或者平均子图或者图上所有节点的嵌入。

z_{G}=\sum_{v\in G}z_{v}

方法2:引入一个虚拟节点

引入一个虚拟节点去表示子图或者图,然后对这个虚拟节点运行嵌入技巧。

注意虚拟节点要与对应的子图或图中的节点连接。

CS224W 3.3 Embedding Entire Graphs_第2张图片

方法3:使用Anonymous Walk

方法3:简单使用walk的出现次数

匿名walk的state是指在一个random walk中访问节点的第一次出现次数(索引),与节点的身份无关。

CS224W 3.3 Embedding Entire Graphs_第3张图片

  •  采样anonymous walks:产生m个独立的random walks。计算长度l下匿名walks w_{i}出现的次数
  • 用这些walks的概率分布表示图
  • 可以确定所需m的数量。

CS224W 3.3 Embedding Entire Graphs_第4张图片

方法3:聚合walk的嵌入生成图的嵌入

首先学习anonymous walk的embedding z_{i},然后利用anonymous walk embeddings = {z_{i}: = 1…},学习图嵌入z_{G}。即一共要学习η+1个嵌入,η是采样的anonymous walks的个数。

CS224W 3.3 Embedding Entire Graphs_第5张图片

  • 运行T次以节点u为起始的长度为l的random walks
  • 学习去预测共同出现在Δ-size窗里的walks
  • 预测anonymous walkw_{i}的嵌入z_{i}:是Δ-size窗里的walk embedddings和图嵌入z_{G}的concatenate的均值再线性组合

CS224W 3.3 Embedding Entire Graphs_第6张图片

学习得到图嵌入后可以用于图分类:可以利用两个图嵌入的内积 或者 可以将图嵌入输入神经网络得到分类结果。

CS224W 3.3 Embedding Entire Graphs_第7张图片

 总结

CS224W 3.3 Embedding Entire Graphs_第8张图片

embedding的应用

  • 聚类或社区检测,对节点嵌入z_{i}进行聚类
  • 节点分类:基于节点嵌入z_{i}预测节点i的标签
  • 链接预测:基于(z_{i},z_{j})预测(i,j)之间的边利用节点的嵌入
  • 图分类:图嵌入通过聚合节点嵌入或者利用anonymous random walks 。可以用来预测标签。

CS224W 3.3 Embedding Entire Graphs_第9张图片

第3节课总结

第三课讨论了graph representation learning,与传统的方法不同,不需要特征工程,可以学习节点嵌入和图嵌入用于下游任务。

CS224W 3.3 Embedding Entire Graphs_第10张图片

你可能感兴趣的:(python,开发语言)