DeepWalk:阅读感悟

什么是GE

Network Embedding/Graph Embedding目的是希望能够将网络中的节点用比较低维的向量去表达,同时在这个向量空间中,网络结构的一些性质仍能够保持。

在这里插入图片描述
如图所示可以将网络中的节点用低维的向量表达,然后来执行实际的任务(异常检测,分类,链接预测等等)

DeepWalk

论文中作者提出自己的三点主要贡献:

  • 作者使用深度学习作为工具去分析图,建立了一个适合复杂模型的Robust Representations。DeepWalk根据short random walks来学习结构化表示
  • 作者在考虑稀疏问题上,在多标签分类任务上有很大进步,在 M i c r o F 1 MicroF_1 MicroF1上有着5%-10%的提升。在一些例子上,即使提取40%的训练数据依然能获得很好的效果
  • 作者通过采用并行的方法构建web-scale graphs(例如youtube)的representations表明了算法的可扩展性。

文章中的Definition

在这里插入图片描述
DeepWalk的目的是要学习 X E ∈ R ∣ V ∣ ∗ d X_E\in R^{|V|*d} XERVd

学习Social Representations

在学习Representations中遵循下列四种特性

  • Adaptability 即网络是不断的变化的,已经学好的模型应该可以适应这种变化,不需要重复学习。

  • Community aware 即网络中相关性越大的节点在低维空间中的距离应该越近。

  • Low dimensional 即低维的数据更容易去拟合与推理

  • Continuous 即平滑性可以为分类提供更好地决策边界
    在网络中的节点依然符合幂律规则
    power law
    DeepWalk采用随机游走的思想在节点中随机游走生成节点序列,然后引用Word2Vec思想,将节点序列看做为语句。模型示意图如下

    model
    W v 4 W_{v4} Wv4即为随机游走生成的节点序列word2vec
    采用Hierarchical Softmax来计算条件概率Hierarchical Softmax

算法

算法包括两个步骤

  • 在图中的节点上随机游走生成随机序列
  • 根据随机序列,运行skip-gram,来学习每个节点的embedding

在这里插入图片描述
在这里插入图片描述

多层的softmax利用二叉树来解决softmax计算成本问题。 在二叉树中,所有叶子节点(上面所说的图中的v1,v2,… v8)都是图中的顶点。 在每个内部节点中(除了叶子节点以外的节点,也就是分枝结点),都通过一个二元分类器来决定路径的选取。 为了计算某个顶点v_k的概率,可以简单地计算沿着从根节点到叶子节点v_k的路径中的每个子路径的概率。 由于每个节点的孩子节点的概率和为1,因此在多层softmax中,所有顶点的概率之和等于1的特性仍然能够保持。如果n是叶子的数量,二叉树的最长路径由O(log(n))限定,因此,元素的计算时间复杂度将减少到O(log | V |)。

优化方法

文章采用随机梯度下降(SGD) 对参数进行优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值