# Graph Learning 第一讲

在数据量越来越大的今天,

word2vec是通过字词的共现关系来学习字词的向量表示,Graph Embeding的思想类似于word2vec,通过图中节点与节点的共现关系来学习节点的向量表示,构成文本序列从而计算相互关联出现的词的概率,从而计算词向量表示文本。那么在图模型中的关键的问题就是如何来描述节点与节点的共现关系,于是方法是利用DeepWalk来采样这样的文本序列,通过随机游走(RandomWalk)的方式在图中进行节点采样,从而就能够输入序列计算图的向量表示。所以deepwalk算法核心的步骤就是两步:

  • RandomWalk
  • Skip-Gram

RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。

在这里插入图片描述

算法过程就是输入一个图,输出节点表示的矩阵,简单对步骤进行解析:

  1. 初始化:从 U ∣ V ∣ × d \mathcal{U}^{|V| \times d} UV×d 样本空间中采样,embedding的大小为 d d d
  2. 构建一棵二叉树Hierarchical Softmax
  3. 开始做 γ \gamma γ 步的随机游走,这里的 γ \gamma γ 是初始化好的超参数
  4. 打乱采样得到的节点
  5. 这个循环是开始以每个节点为根节点开始做长度为 t t t 的随机游走,这里的 t t t 为初始化的超参数。然后按窗口 w w w 进行SkipGram学习文本序列

SkipGram

一般提到word2vec有两种主要的算法,Cbow和Skip-Gram,都是在统计语言模型的基础上计算一个词在文本中出现的概率用来作为这个词的表示向量,于是优化目标就是最大化 P r ( w n ∣ w 0 , w 1 , . . . , w n − 1 ) Pr(w_n|w_0,w_1,...,w_{n-1}) Pr(wnw0,w1,...,wn1) w w w 表示的就是词。

SkipGram就是用当前词来预测上下文。丢掉了词序并且不考虑与当前词的距离。优化目标是最大化同一个句子中同时出现的词的共现概率:
m a x ( l o g P r ( w i − k , . . . , w i − 1 , w i , w i + 1 , . . . , w i + k ∣ w i ) ) max(logPr({w_{i-k},...,w_{i-1},w_i,w_{i+1},...,w_{i+k}|w_i})) max(logPr(wik,...,<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值