CS224W笔记-第七课

CS224W笔记-第七课:图表征学习

前面几次课在不同程度上介绍了在图结构数据上的机器学习任务。总体而言,图上的机器学习包括(但不限于)下面3大任务:

  • 点分类/回归
  • 边预测/分类/回归
  • 整图分类/回归

总传统的机器学习管道而言,一般都会有从原始数据到模型输入数据的特征工程的步骤,而这一步骤对于机器学习的性能影响巨大。因此,在现在的深度学习所擅长的一个点就是自动学习和获取这些特征。在图里,这就是图表征的学习。

图表征的目的

高效地对图学习到不依赖于下游任务的特征。

图向量基本思想
对于图,把基于邻接矩阵的节点的分布式表征(类似于one-hot编码),学习到隐性的低维度的稠密的表征(向量/嵌入),并用于下游的任务。

点表征学习

点表征学习(点向量)的目的:

学习到点的低维度向量,且若点-点它们在原始图中相似,则在向量空间里的点和点的向量也相似,即向量点积高。

在这里插入图片描述
数学表示: s i m i l a r i t y ( u , v ) ≈ z v ⊤ z u \mathrm{similarity}(u, v) \approx {\mathrm{z}_v}^{\top}\mathrm{z}_u similarity(u,v)zvzu

在这里,产生点向量的步骤就变成了3步:

  • 定义一个编码器,由它完成点向量的生成;
  • 定义相似度函数 s i m i l a r i t y \mathrm{similarity} similarity,计算原始图中的点的相似度;
  • 通过损失函数,优化编码器的参数,完成最终的学习。

通过这个方式,可以看到,最重要的组件就是编码器相似度函数
其中,编码器的表示就是: E N C ( v ) = Z v \mathrm{ENC}(v)=\mathrm{Z}_v ENC(v)=Zv

这个编码器可以像word2vec那样的仅仅是一个浅层的查找矩阵。但是对于图结构数据,还有其他的最新的方法,比如deepwalk,node2vec,TransE等。

同时,对于如何定义图中两个点的相似度也是一个充满创意的研究热点,不同的方法给出了不同的计算。

随机游走(Random Walk)构建点向量算法

随机游走的定义:

给定一个图和一个起始点,随机选择它的一个邻居节点,移动到这个邻居,然后再随机选择一个邻居。这个过程被称为图中的随机游走。

根据随机游走的定义,可以认为:如果两个点 u u u v v v出现在一次随机游走中,则它们是相似的。这就是随机游走进行图表征学习的基本思路,即如果两个点在各自的邻居范围内,那么它们的相似度就高。而邻居范围的定义则是通过一个策略 R R R获得的。

随机游走算法

定义

  • 在图 G ( V , E ) G(V, E) G(V,E)中,学习一种映射 z : u → R d \mathrm{z}: u \to \mathbb{R}^d z:uRd,目标是获取最大化的对数似然。 max ⁡ z ∑ u ∈ V l o g P ( N R ( u ) ∣ z u ) \max_{z}\displaystyle\sum_{u\in V}\mathrm{logP}(N_R(u)|\mathrm{z}_u) zmaxuVlogP(NR(u)zu)
    其中, N R ( u ) N_R(u) N
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值