图嵌入表示学习—Graph Embeddings

本文介绍了图嵌入的不同方法,包括对节点向量的求和或平均来表示整个图,创建超节点进行编码,以及通过匿名随机游走和LearnWalkEmbeddings方法生成图的嵌入向量。这些技术在异常检测和化学分子分析等领域有应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Embedding Entire Graphs

一、图嵌入向量基本概念

请添加图片描述

与Node Embeddings不同,Graph Embeddings是对整个图或子图进行编码而忽略其中的节点。应用场景包括异常检测或分子有毒检测。

二、对Node Embeddings求和或求和后平均

请添加图片描述

如图,首先对图/子图中的节点进行图嵌入向量表示( z u \mathbb{z}_u zu),之后将嵌入向量求和(或对求和向量再平均)得到图/子图的嵌入向量。

注意:该方法虽然很简单,但是效果很好。

三、创建超节点

请添加图片描述

如图,在原图的基础上对图/子图增加一个超节点,该超节点与图/子图的所有节点均建立连接。之后利用Node Embeddings的方法求得该节点的嵌入向量,该嵌入向量就是图/子图的嵌入向量。

四、匿名随机游走

1、匿名随机游走方法:

请添加图片描述

匿名随机游走,只记忆节点出现的时间而不关心具体的节点。

如图,在A、B、C、D、E和F节点组成的子图中:

第一次游走的节点次序为:A、B、C、B、C。A是第一个访问的节点标记为1,B是第二个访问的节点标记为2,C是第三个访问的节点标记为3,除此之外没有其他节点。此时,匿名随机游走路径为:1、2、3、2、3;

第二次游走的节点次序为:C、D、B、D、B。C是第一个访问的节点标记为1,D是第二个访问的节点标记为2,B是第三个访问的节点标记为3,除此之外没有其他节点。此时,匿名随机游走路径为:1、2、3、2、3;

从两次行走中可以看出,虽然两次行走的路径不同,但是其匿名行走路径是相同的。只记忆节点出现的时间而不关心具体的节点。

请添加图片描述

从图中可以看出,对于不同长度的匿名随机游走序列,其行走路径数量呈指数级爆炸增长。

其中,长度为3的路径次数计算如图:

请添加图片描述

2、使用匿名随机游走进行图嵌入编码

请添加图片描述

对于图/子图,进行固定长度的匿名随机游走,并记录每个行走序列的次数(或出现概率),将其记录为向量,该向量即为图的嵌入向量。如图:

请添加图片描述

随机游走的长度 l l l是一个超参数,对于选定的 l l l,应该对图/子图采样多少次是一个值得思考的问题,如图:

请添加图片描述

为了保证采样的健壮性,使采样的分布误差保持在 [ ε , δ ] [\varepsilon,\delta ] [ε,δ]之间,对于选定长度 l l l,计算得到随机游走序列的个数为$\eta (查表或自己计算),得到采样次数 (查表或自己计算),得到采样次数 (查表或自己计算),得到采样次数m$为:
m = ⌈ 2 ε 2 ( l o g ( 2 η − 2 ) − l o g ( δ ) ) ⌉ m=\left \lceil \frac{2}{\varepsilon ^2} \left ( log \left ( 2^\eta - 2 \right ) - log(\delta ) \right ) \right \rceil m=ε22(log(2η2)log(δ))
例如:对于长度 l l l的随意游走序列,游走序列 η \eta η有877种,定义分布误差为 [ ε = 0.1 , δ = 0.01 ] [\varepsilon=0.1,\delta=0.01 ] [ε=0.1,δ=0.01],计算得到 m m m为122500次。

五、Learn Walk Embeddings

请添加图片描述

该方法与匿名随机游走的区别是:匿名随机游走只产生一个嵌入向量来计算不同游走序列的次数(概率)而本方法对每种匿名游走序列单独嵌入编码,同时加上一个图/子图的嵌入向量。

其中,图/子图的嵌入向量为 z G \mathbb{z}_G zG,匿名随机游走序列嵌入向量 Z = { z i : 1... η } Z=\{z_i:1...\eta\} Z={zi:1...η} η \eta η为固定游走长度后的游走序列总个数。

请添加图片描述

具体步骤为:

  1. 建立一个上下文管理器, N R ( u ) N_R(u) NR(u)记录以 u u u为游走起点的游走路径,总数为 T T T个。
  2. 上下文自监督:对于前 Δ \Delta Δ次已经出现的游走序列,预测第 Δ + 1 \Delta+1 Δ+1次出现的序列(类似于NLP中transformer-decoder的算法)。优化函数如上图。

上下文自监督的具体步骤为:

请添加图片描述

首先将前 Δ \Delta Δ次出现的游走序列向量 { z t − Δ , . . . z t − 1 } \{ \mathbb{z}_{t-\Delta},...\mathbb{z}_{t-1} \} {ztΔ,...zt1}求和并取平均,再与全图嵌入向量 z G \mathbb{z}_G zG堆叠。之后通过线性变化和softmax计算第 Δ + 1 \Delta+1 Δ+1次出现的游走序列。重复以上过程反复更新所有 z \mathbb{z} z向量。注意采用负样本来优化计算。

六、总结

请添加图片描述

图片截选自——斯坦福CS224W: Machine Learning with Graphs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值