Graph Embedding:随机游走+word2vec

概述:

       DeepWalk是一种将图节点表示为低维稠密向量的方法,他的原理就是将Random Walk和word2vec相结合的方式,即采用截断随机游走产生固定window的数据,然后应用带skip-gram model中,从而生成低维向量表示。

    它有几个显著的特点:

    1、可以处理稀疏的图数据,即使标签很少,他也可以使数据显示很好的分类效果

    2、并行性:随机游走是随机的,可以在不同顶点进行一定长度的随机游走,多个游走同时进行,可以减少采样时间。

    3、适应性:可以适应网络的局部变化,网络的变化通常是局部的点和边的变化,这会对部分Random Walk产生影响,因此网络变化过程中不需要全部重新计算

具体实现:

    图结构:G=(V,E),E=(V*V)

V:顶点集 E:边集

在此基础上加上顶点的向量表示和顶点标签(表示类别)

    Gl(V,E,X,Y)

    X:R(|V|*S) S为顶点向量的维数

    Y:R(|V|*y)y是标签集合(在这种方法中,我们实际上是用不到标签数据的)

同时,我们注意到通过随机游走的分布规律与NLP中句子序列在语料库中出现的规律有着类似的幂率分布。所以便可以将NLP中的word2vec模型应用到网络表示中。

模型:

    语言模型的目标是估计特定单词序列在语料库中的可能性,也就是判断一个句子是否成立。

    判断 P(wn|w0,w1,……wn-1)的概率

    最近的一些工作便是在这个概率的基础上购进词汇的表示,在本文中,我们假设随机游走产生的序列便是短句或短语。我们的目标与同样是word embedding 所以我们需要构建映射函数,因此公式为:

   

    因此我们提出skip-gram,不通过上下文预测某个词,而是通过某个词预测上下文,其次,上下文是存在于左边和右边的词,最后,他忽略了顶点的顺序(这一点前面word2

Vec提到过),可以更好的体现顶点的临近关系,得到目标函数为:

   

算法解析:

   

在计算之前需要进行归一化计算,运算速度很慢,因此我们通过分层softmax进行加速,这个之前在word2vec就提到过。

他将所有的顶点分配为叶子节点,该问题便转化为一个最大化二叉树中特定路径概率的问题,到达叶子节点Ux的路径是一系列树节点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值