Graph Represent Learning(也叫Graph Embedding)

怎样将图中的每一个Node表示成一个Vector呢?

假设有一图 G G G:

  • V V V是顶点集合
  • A A A是图的邻接矩阵
  • 节点上的其余信息我们都没使用到

主要有三步:

  1. 定义一个可以将Graph变为Vector的编码器encoder
  2. 定义一种node similarity function(用于测量Graph中两个Node之间的相似度)
  3. 调参,使得我们encoder最优,我们的目的是使原始空间Graph中两个Node的相似度等于embedding space中两个向量的相似度:
    s i m i l a r i t y ( u , v ) ≈ z v T z u similarity(u, v) \approx z_v^T z_u similarity(u,v)zvTzu
    Graph Represent Learning(也叫Graph Embedding)_第1张图片
    Graph Represent Learning(也叫Graph Embedding)_第2张图片

怎样定义Node Similarity呢?

当两个节点满足以下特征的时候,我们是不是可以认为这两个节点就更相似呢?

  1. 两个节点之间有边
  2. 有共同的邻居
  3. 有相似的结构

我们可以按照以下方式,选择怎样定义节点相似度:

  1. Adjacency-based similarity
  2. Multi-hop similarity
  3. Random walk approaches

1. Adjacency-based similarity

Graph Represent Learning(也叫Graph Embedding)_第3张图片

2 Multi-hop similarity

Graph Represent Learning(也叫Graph Embedding)_第4张图片
Graph Represent Learning(也叫Graph Embedding)_第5张图片
Graph Represent Learning(也叫Graph Embedding)_第6张图片
Graph Represent Learning(也叫Graph Embedding)_第7张图片

3. Random walk approaches

Graph Represent Learning(也叫Graph Embedding)_第8张图片

Graph Represent Learning(也叫Graph Embedding)_第9张图片

你可能感兴趣的:(异常检测)