graphsage解读

传统的图方法都是直推式(transductive)的,学习到的是结构固定的图模型,一旦有新的节点加入,便需要重新训练整个图网络,泛化性不强。GraphSAGE是归纳式(inductive)的,它学习一种映射:通过采样和聚合邻居节点信息来生成当前节点的表征。GraphSAGE可扩展性更强,对于节点分类和链接预测问题的表现也比较突出。

模型结构

1

  1. 采样一跳和二跳的邻居节点
  2. 聚合邻居节点的特征信息
  3. 预测图上下文和当前节点标签信息

算法流程

2

整体上还是非常通俗易懂的。

损失函数

  • 有监督:跟常规的分类任务一样,使用交叉熵损失函数
  • 无监督:根据节点间共现关系来定义损失函数:

J G ( z u ) = − log ⁡ ( σ ( z u ⊤ z v ) ) − Q ⋅ E v n ∼ P n ( v ) log ⁡ ( σ ( − z u ⊤ z v n ) ) J_{\mathcal{G}}\left(\mathbf{z}_u\right)=-\log \left(\sigma\left(\mathbf{z}_u^{\top} \mathbf{z}_v\right)\right)-Q \cdot \mathbb{E}_{v_n \sim P_n(v)} \log \left(\sigma\left(-\mathbf{z}_u^{\top} \mathbf{z}_{v_n}\right)\right) JG(zu)=log(σ(zuzv))QEvnPn(v)log(σ(zuzvn))

  • u u u 表示当前节点,而 v v v 是跟它在一条随机路径上共现的节点,两者相似,内积很大,则 − log ⁡ ( σ ( z u ⊤ z v ) ) -\log \left(\sigma\left(\mathbf{z}_u^{\top} \mathbf{z}_v\right)\right) log(σ(zuzv)) 接近0
  • P n ( v ) P_n(v) Pn(v) 表示负采样分布, Q Q Q 为负样本个数, u u u v n v_n vn 负内积很大,则 − Q ⋅ E v n ∼ P n ( v ) log ⁡ ( σ ( − z u ⊤ z v n ) ) -Q \cdot \mathbb{E}_{v_n \sim P_n(v)} \log \left(\sigma\left(-\mathbf{z}_u^{\top} \mathbf{z}_{v_n}\right)\right) QEvnPn(v)log(σ(zuzvn)) 接近 0

实验结果

3

在三个数据集上大幅领先baseline。


参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值