0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

deepwalk算法核心的步骤

智能生物识别说 来源:快商通AI 作者:快商通AI 2021-10-14 09:59 次阅读

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

RandomWalk

Skip-Gram

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

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

初始化:从 $\mathcal{U}^{|V| \times d}$ 样本空间中采样,embedding的大小为 $d$

构建一棵二叉树Hierarchical Softmax

开始做 $\gamma$ 步的随机游走,这里的 $\gamma$ 是初始化好的超参数

打乱采样得到的节点

这个循环是开始以每个节点为根节点开始做长度为 $t$ 的随机游走,这里的 $t$ 为初始化的超参数。然后按窗口 $w$ 进行SkipGram学习文本序列

SkipGram

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

SkipGram就是用当前词来预测上下文。丢掉了词序并且不考虑与当前词的距离。优化目标是最大化同一个句子中同时出现的词的共现概率:

预测给到的词从整个词表vocabulary中选择,因此在输出的时候会计算softmax进行选择,维度为 $|V|$ ,计算的维度会非常大,因此采用Hierarchical Softmax来构建二叉树进行选择,每个词就只需要计算 $log_2^{|V|}$ 次。

Node2Vec

node2vec依然采用的是随机游走的方式获取顶点的临近顶点序列,但不同的是node2vec采用的是一种有偏的随机游走。给定当前顶点 $v$,访问下一个顶点的概率是:

$\pi{vx}$ 是顶点 $v$ 到顶点 $x$ 之间的转移概率, $Z$ 是归一化参数。 node2vec引入两个超参数 $p$ 和 $q$ 来控制随机游走的策略,假设当前随机游走经过边 $(v, x) $ 到达顶点 $t$ ,设 $\pi{vx}=\alpha{pq}(t, x)\cdot w{vx}$ , $w_{vx}$ 是顶点 $v$ 和 $x$ 之间的边权。

$d{tx}$ 为顶点 $t$ 和顶点 $x$ 之间的最短路径距离。参数$p$和参数$q$的意义:控制重复访问刚刚访问过的顶点的概率。$p$作用于$d{tx}=0$,表达的意义就是顶点$x$就是访问当前顶点$v$之前刚刚访问过的顶点。如果$p$较高,则访问刚刚访问过的顶点的概率会变低,反之变高。$q$控制着游走是向外还是向内,如果$q>1$,随机游走倾向于访问和节点$t$相接近的顶点(类似于$BFS$)。如果$q<1$,则倾向于访问远离$t$的顶点(类似于$DFS$)。

Graph Convolutional Network

Graph Embedding的意义就在于能够利用图结构处理非结构化数据,因此在cv和nlp领域能够更进一步结合先验知识进行特征学习,因此是深度学习领域的重要发展方向。定义图$G=(V,E)$,$V$为节点的集合,$E$为边的集合,对于每个节点$i$, 均有其特征$x_i$,特征矩阵可以用$X_{N*D}$来表示,其中$N$表示节点数,$D$表示每个节点的特征编码尺寸,在nlp应用中就是embedding_size。对于图的理解有一个经典的思想:

图中的每个结点无时无刻不因为邻居和更远的点的影响而在改变着自己的状态直到最终的平衡,关系越亲近的邻居影响越大。

实际上从邻居节点获取信息的思想在很多领域都有应用,例如:word2vec和pagerank。很多参考的理解描述了更加细节的数学原理:从傅立叶变换到拉普拉斯算子到拉普拉斯矩阵。很难理解。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4458

    浏览量

    90761
  • 节点
    +关注

    关注

    0

    文章

    208

    浏览量

    24079
收藏 人收藏

    评论

    相关推荐

    计算机视觉领域的十大核心技术算法

    图像分割算法是计算机视觉领域的基础算法之一,它的主要任务是将图像分割成不同的区域或对象。常见的图像分割算法包括基于阈值的分割、基于区域的分割、基于边缘的分割和基于图割的分割等。
    发表于 02-25 09:38 261次阅读

    浮点LMS算法的FPGA实现

    运算的运算步骤远比定点运算繁琐,运算速度慢且所需硬件资源大大增加,因此基于浮点运算的LMS算法的硬件实现一直以来是学者们研究的难点和热点。 本文正是基于这种高效结构的多输入FPA,在FPGA上成功实现了基于浮点运算的LMS算法
    的头像 发表于 12-21 16:40 308次阅读

    EEMD方法的原理与算法实现步骤

    电子发烧友网站提供《EEMD方法的原理与算法实现步骤.pdf》资料免费下载
    发表于 10-23 11:44 0次下载
    EEMD方法的原理与<b class='flag-5'>算法</b>实现<b class='flag-5'>步骤</b>

    Momenta的无图智能驾驶方案

    其智能驾驶三步骤以及其核心创新算法主要如下: 感知环境,主要依赖摄像头,摄像头基本上都是360周视覆盖。Momenta主要依赖其DDLD-Data Driven Landmark Detection 车道线识别
    发表于 10-19 09:48 243次阅读
    Momenta的无图智能驾驶方案

    卷积神经网络算法核心思想

    卷积神经网络算法核心思想 卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习算法,是机器学习领域中一种在图像识别、语音识别、自然语言处理等领域具有
    的头像 发表于 08-21 16:50 881次阅读

    卷积神经网络算法比其他算法好吗

    、HOG、SURF等,卷积神经网络在识别准确率上表现更为突出。本文将介绍卷积神经网络并探讨其与其他算法的优劣之处。 一、卷积神经网络 卷积神经网络可以高效地处理大规模的输入图像,其核心思想是使用卷积层和池化层构建深度模型。卷积操作是卷积神经网络的
    的头像 发表于 08-21 16:49 460次阅读

    卷积神经网络算法是机器算法

    卷积神经网络算法是机器算法吗  卷积神经网络算法是机器算法的一种,它通常被用于图像、语音、文本等数据的处理和分类。随着深度学习的兴起,卷积神经网络逐渐成为了图像、语音等领域中最热门的
    的头像 发表于 08-21 16:49 531次阅读

    电机检修的基本步骤

    电机检修的基本步骤
    的头像 发表于 08-21 14:54 1317次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    是解决具体问题的一系列步骤,机器学习的算法被设计用于从大量的数据中自动学习并不断改进自身的性能。本文将为大家介绍机器学习算法汇总和分类,以及常用的机器学习算法模型。 机器学习
    的头像 发表于 08-17 16:11 729次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑神经元的计算模型。深度学习是机器学习的一种变体,主要通过变换各种架构来对大量数据进行学习
    的头像 发表于 08-17 16:03 1489次阅读

    ai算法和模型的区别

    ai算法和模型的区别 人工智能(AI)是当今最热门的技术领域之一。虽然AI被广泛应用于各种领域,但其核心是由算法和模型组成的。AI算法和模型是AI成功应用的基础。因此,理解AI
    的头像 发表于 08-08 17:35 2832次阅读

    Arm®Cortex®-A75核心加密扩展技术参考手册

    Cortex‑A75核心加密扩展支持Armv8‑A加密扩展。 加密扩展将新的A64、A32和T32指令添加到高级SIMD中,以加速高级加密标准(AES)加密和解密。它还添加了实现安全哈希算法(SHA)函数SHA-1、SHA-224和SHA-256的指令。
    发表于 08-02 06:39

    单片机常用的14个C语言算法简析

    算法(Algorithm):计算机解题的基本思想方法和步骤
    发表于 07-25 11:40 721次阅读

    基于算法的电机NVH优化过程

    算法解决电机NVH问题,最核心的问题是找到“关键中间变量”。这个变量是承上启下起决定性作用的,向上可以对接电机电磁 数学模型,这样就可被算法控制。
    发表于 07-10 17:31 746次阅读
    基于<b class='flag-5'>算法</b>的电机NVH优化过程

    LLC设计步骤分享

    详细介绍了LLC 设计步骤及设计公式
    发表于 05-31 17:02 20次下载