GNN-CS224W: 3 Node Embeddings

本文介绍了图表示学习,特别是节点嵌入的方法,如自动学习任务无关的特征,避免特征工程。节点嵌入通过编码器将节点映射为向量,解码器计算节点相似度。内积作为相似度衡量标准,随机游走用于捕获局部和全局网络信息。负采样用于优化计算效率,节点2vec通过灵活的随机游走策略平衡局部和全局视角。匿名行走则通过模拟匿名路径学习图的整体表示。这些方法在节点分类、图异常检测等任务中有广泛应用。

graph representation learning

Automaticly learning efficient task-independent feature for machine learning with graphs,从而避免了特征工程

why embedding?

  1. Similarity of embeddings between nodes indicates their similarity in the network.
  2. Encode network information
  3. Task independent, Potentially used for many downstream predictions

a simple pattern of Learning Node Embedding

  1. Encoder: maps from nodes to embeddings

    E N C ( v ) = z v ENC(v)=z_v ENC(v)=zv, 输入为node,输出为node的embedding,

    例如一种简单的方式为给每个node定义一个向量,用node取embedding时直接执行embedding lookup操作

  2. Define a node similarity function (i.e., a measure of similarity in the original network)

    s i m i l a r i t y ( v , u ) similarity(v,u) similarity(v,u)

    一个计算node similarity的function,输入为没有转化为embedding的、original network的node,输出为2个node的相似度

  3. Decoder: maps from embeddings to the similarity score

    计算两个node的embedding的similarity,

    例如可以用embedding向量的内积来表示相似度,即 z v T z u z_v^T z_u zvTzu

  4. 优化encoder的参数使得 (优化目标): s i m i l a r i t y ( v , u ) = z v T z u similarity(v,u)=z_v^T z_u similarity(v,u)=zvTzu

为什么向量内积可以表示相似度?

假设有N个向量,要找出和向量1最相似的向量。

依次计算向量2到N和向量1的内积。

内积=向量1的模 * 向量n在向量1上投影的长度

对所有向量计算的内积来说,向量1的模不变,那内积最大的就是在向量1上投影长度最大的向量

投影长度表示在向量1方向上的分量,可以认为是相似度。

How to define Node similarity

Random Walk

Notation:
z u z_u zu: The embedding of node u
P ( v ∣ z u ) P(v|z_u) P(vzu): The (predicted) probability of visiting node v on random walks starting from node u
N R ( u ) N_R(u) NR(u): neighborhood of u obtained by some random walk strategy R

What is random walk

在这里插入图片描述
Intuition: if random walk starting from node u visits v with high probability, u and v are similar (high-order multi-hop information),所以用这种方法得到 node similarity function

如果边没有权重,访问u的neighbor完全随机,则 p ( v ∣ u ) p(v|u) p(vu)大表示v和u距离近;如果边有权重,且将权重大的选择的可能性大,则 p ( v ∣ u ) p(v|u) p(vu)大表示v离u近或者v到u的路径权重较大,或者又近权重又大。总之 p ( v ∣ u ) p(v|u) p(vu)大则u和v的联系越紧密。

优点:

  1. incorporates both local and higher-order neighborhood information
  2. Efficiency: Do not need to consider all node pairs when training; only need to consider pairs that co-occur on random walks
How to learn Random Walk Embeddings

given G = ( V , E ) G=(V,E) G=(V,E), goal is to learn f ( u ) = z u f(u)=z_u f(u)=zu

步骤
  1. Run short fixed-length random walks starting from each node u in the graph using some random walk strategy R

  2. For each node u collect N R ( u ) N_R(u) NR(u), the multiset of nodes visited on random walks starting from u

    multiset的意思是一个node可以出现多次。
    ( 应该意思是把所有random walk path中出现过的节点都放到一个集合里,同一个元素可以出现多次, P R ( v ∣ u ) = v 出 现 的 总 次 数 所 有 节 点 出 现 的 总 次 数 P_R(v|u)=\frac{v出现的总次数}{所有节点出现的总次数} PR(vu)=v。 括号内的部分不适用于这里,但是是一个有用的思想)

    到目前为止做到了Estimate probability of visiting node v on a random walk starting from node u using some random walk strategy R, 即 P R ( v ∣ u ) P_R(v|u) PR(vu) (概率没有用到)

  3. Optimize embeddings according to: Given node u, predict its neighbors N R ( u ) N_R(u) NR(u)

    Maximize log-likelihood objective: max ⁡ f ∑ u ∈ V log ⁡ P ( N R ( u ) ∣ z u ) \max\limits_f {\sum\limits_{u \in V}{ \log{P(N_R(u)|z_u)}}} fmaxuVlogP(NR(u)zu)

    其中 P ( N R ( u ) ∣ z u ) = ∏ v ∈ N R ( u ) P ( v ∣ z u ) P(N_R(u)|z_u)=\prod\limits_{v \in N_R(u)}P(v|z_u) P(NR(u)zu)=vNR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值