图嵌入 Node2Vec

article/2025/11/6 18:53:45

文章目录

  • 图嵌入之 Node2Vec
    • 1 两个概念
    • 2 两种节点采样方法
    • 3 Node2Vec 中的二阶 Random Walk
    • 4 二阶 Random Walk 的优势
    • 5 算法步骤

图嵌入之 Node2Vec

论文地址 https://arxiv.org/pdf/1607.00653.pdf

对 Random Walk 中随机地选择游走序列进行了改进,别的地方与 Deep Walk 大致相同

请添加图片描述

1 两个概念

  • homophily:同质性,越是相邻的节点同质的趋势更大

  • structural equivalence:结构相似性,如 Figure 1 中 u 节点和 S 6 S_6 S6 节点在结构上很相似

2 两种节点采样方法

  • 广度优先采样BFS:采样的节点序列更能挖掘结构相似性(微观)

  • 深度优先采样DFS:采样的节点序列更能挖掘同质性(宏观)

3 Node2Vec 中的二阶 Random Walk

3.1 Random Walks 的定义

c i c_i ci 表示随机游走中的第 i 个节点, c i c_i ci 的选择遵循如下分布:

请添加图片描述

π v x \pi_{vx} πvx 表示节点 v v v x x x 之间未归一化的过渡概率, Z Z Z 是进行归一化的常数

即从当前节点 v 到下一个节点 x 的条件概率等于 π v x Z \frac{\pi_{vx}}{Z} Zπvx π v x \pi_{vx} πvx 怎么算往下看

3.2 搜索偏置 α \alpha α

定义两个参数 p p p q q q (超参数)来引导随机序列的选择,

请添加图片描述

返回参数 p p p(Return parameter):控制从一个节点回退一步的似然,在 Figure 2中,设 t 为走过的上一个节点,v 为当前节点,用 α = 1 / p \alpha=1/p α=1/p 表示从 v 到 t 的权重

区分似然(likelihood)与 概率(probability)

  • 对于联合概率函数 P ( y i ^ ∣ x i , θ ) P(\hat{y_i}|x_i,θ) P(yi^xi,θ) 而言。
  • 概率探究的是自变量与因变量之间的关系,即 θ \theta θ 已知,在不同的特征向量 x i x_i xi 下,得到 y i ^ \hat{y_i} yi^ 的可能性。
  • 似然探究的是参数向量与因变量之间的关系,即 x i x_i xi 已知,在不同的参数向量 θ \theta θ 下,得到 y i ^ \hat{y_i} yi^ 的可能性。

进出参数 q q q(In-out parameter):若 q > 1 q > 1 q>1,随机游走算法会偏向于选择,当前节点局部范围(local view)内的节点,类似 BFS ;若 q < 1 q < 1 q<1,随机游走算法倾向于选择更深一步(further away)的节点,类似 DFS

基于边的权重来对下一个节点进行采样,定义边的权重 π v x = α p q ( t , x ) ∗ w v x \pi_{vx} = \alpha_{pq}(t,x)*w_{vx} πvx=αpq(t,x)wvx,当前节点到下一个节点的转移概率由 α \alpha α 进行加权,其中 α \alpha α 定义为:

请添加图片描述

d t x d_{tx} dtx 表示节点 t 到节点 x 的最短路径长度


4 二阶 Random Walk 的优势

快!
请添加图片描述
请添加图片描述

5 算法步骤

请添加图片描述


http://chatgpt.dhexx.cn/article/QZNXKTIN.shtml

相关文章

node2vec的一些思考

概述 论文主要观点 本文将抽取网络中节点的特征转化成最优化一个“可能性”目标函数问题&#xff0c;这个“可能性”是该节点可以保存其邻居节点的信息。 成果 node2vec&#xff0c;如上述&#xff0c;利用SGD优化&#xff0c;高效“随机选择邻居”算法&#xff0c;可让node2v…

Node(二)

一、node的文件系统 1、二进制文件的读写&#xff08;按字节读写&#xff1a;一个字节是8个二进制位&#xff09; &#xff08;1&#xff09;读二进制文件 fs.read(fd&#xff0c;buffer&#xff0c;offset&#xff0c;length&#xff0c;position&#xff0c;callback) fd…

【论文精读】node2vec: Scalable Feature Learning for Networks

node2vec: Scalable Feature Learning for Networks 可扩展的 图嵌入 表示学习算法 可扩展&#xff1a;算法可用于互联网规模级别的数据&#xff0c;在有限的时间和空间中 图嵌入&#xff1a;将图的连接信息嵌入到连续、低维、稠密的D维空间中 表示学习&#xff1a;用数据驱…

Graph Embedding(DeepWalk,LINE,Node2vec)

为什么要对图进行嵌入&#xff1f; 直接在这种非结构的&#xff0c;数量不定&#xff08;可能数目非常多&#xff09;&#xff0c;属性复杂的 图 上进行机器学习/深度学习是很困难的&#xff0c;而如果能处理为向量将非常的方便。但评价一个好的嵌入需要&#xff1a; 保持图属…

深度学习 - 33.GraphEmbedding Node2vec 图文详解

一.引言 前面介绍了如何生成带权的图: GraphEmbedding - networkx获取图结构 从带权的图随机游走生成序列: GraphEmbedding - DeepWalk 随机游走 embedding 向量的评估与可视化: GraphEmbedding - embedding 向量的降维与可视化 以及复杂度O(1)的采样算法 Alias: GraphEmbe…

Node2Vec算法介绍

大家好&#xff0c;我是Linzhuo&#xff0c;今天又来给大家分享graph embedding的相关知识啦。 在上一篇文章中&#xff0c;我们介绍了graph embedding的经典方法&#xff1a;Deepwalk&#xff0c;其通过随机游走(Random walk)的方式将Graph embedding与Word embedding的方法(w…

KDD 2016 | node2vec:Scalable Feature Learning for Networks

目录 前言Abstract1.IntroductionPresent work 2.Related Work3.Feature Learning Framework3.1 Classic search strategies3.2 node2vec3.2.1 Random Walks3.2.2 Search bias α \alpha α3.2.3 The node2vec algorithm 3.3 Learning edge features 4.Experiments4.1 Case St…

PyG基于Node2Vec实现节点分类及其可视化

文章目录 前言一、导入相关库二、加载Cora数据集三、定义Node2Vec四、定义模型五、模型训练六、可视化完整代码前言 大家好,我是阿光。 本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphS…

浅析 v-node

浅析 v-node &#x1f308; 本节我们来探索一下虚拟DOM&#xff0c;将会从以下4个方面进行阐述&#xff1a; 虚拟DOM的本质虚拟DOM的优势虚拟DOM转换真实DOM 过程虚拟DOM树 diff算法 虚拟DOM的本质 ⭐️虚拟DOM 本质上是一个 js 对象&#xff0c;用于描述页面的结构&#x…

deepwalknode2vec 代码实战

提示&#xff1a;笔记内容来自于B站up主同济子豪兄 文章目录 1. Embedding嵌入的艺术2. deepwalk2.1. 什么是图嵌入&#xff1f;2.2. deepwalk的步骤1、生成graph&#xff1b;2、利用random walk生成多个路径&#xff1b;3、训练表示向量的学习&#xff1b;4、为了解决分类个数…

Node2Vec

Node2Vec 论文名称&#xff1a;node2vec: Scalable Feature Learning for Networks 论文地址&#xff1a;https://www.kdd.org/kdd2016/papers/files/rfp0218-groverA.pdf Node2Vec是用于学习网络节点的连续特征表示。node2vec将节点映射为低维特征表示&#xff0c;最大化网…

node2vec python 实现和理解

1. 安装 pip install node2vec 2. 使用案例 import networkx as nx from node2vec import Node2Vec# Create a graph 这里可以给出自己的graph graph nx.fast_gnp_random_graph(n100, p0.5)# Precompute probabilities and generate walks - **ON WINDOWS ONLY WORKS WITH …

node2vec的一些理解

node2vec node2vec也是一种网络嵌入的表示方法&#xff0c;它是基于DeepWalk的基础上进行改进的。主要改进的地方在于它在随机游走的过程中加入了一个权重&#xff0c;使得游走可以采用深度优先和广度优先的策略进行游走。 Search bias α 使得随机游走产生片偏差的最简单的…

从word2vec到node2vec

word2vec 1. 什么是word2vec 在自然语言处理任务&#xff08;NLP&#xff09;中&#xff0c;最细粒度是词语&#xff0c;所以处理NLP问题&#xff0c;首先要处理好词语。 由于所有自然语言中的词语&#xff0c;都是人类的抽象总结&#xff0c;是符号形式的。而对于数学模型&a…

详解Node2vec以及优缺点

1. 论文介绍 首先介绍了复杂网络面对的几种任务&#xff1a; 网络节点的分类&#xff0c;通俗点说就是将网络中的节点进行聚类&#xff0c;我们关心的是哪些节点具有类似的属性&#xff0c;就将其分到同一个类别中。链接预测&#xff0c;就是预测网络中哪些顶点有潜在的关联。…

node2vec论文阅读

本文要阅读的论文来自数据挖掘领域的顶级会议KDD-2016. 论文介绍了一种Graph representation方法 得益于CNN以及Seq2seq等模型&#xff0c;深度学习在图像和自然语言处理等领域有很好的应用。然而在涉及到图&#xff08;有向图&#xff0c;无向图&#xff09;结构的应用比如社…

【Graph Embedding】node2vec:算法原理,实现和应用

前面介绍过基于DFS邻域的DeepWalk和基于BFS邻域的LINE。 DeepWalk&#xff1a;算法原理&#xff0c;实现和应用 LINE&#xff1a;算法原理&#xff0c;实现和应用 node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法。简单来说&#xff0c;可以看作是eepwalk的一…

图与推荐系统(一):Graph Embedding之node2vec (原理 + 代码实战)

文章目录 一. 介绍二. 公式三. 代码细节四. 代码 一. 介绍 node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法。简单来说&#xff0c;可以看作是deepwalk的一种扩展&#xff0c;是结合了DFS和BFS随机游走的deepwalk。node2vec通过调整方向的参数来控制模型更倾向B…

图神经网络之Node2Vec详解

目录 背景传统算法存在的问题算法背景动机 算法随机序列的生成Node2Vec算法算法的具体流程&#xff1a; 总结相关资料 背景 传统算法存在的问题 一些方法中所提出的特征需要依赖人手工定义&#xff0c;这需要特定领域内专业人士来完成&#xff0c;而且依靠人手工定义特征的有…

node2vec算法

图嵌入算法 一、背景1.提出2.应用3.特点 二、DeepWalkRandomWalk 三、node2vec引言node2walkskip-gram(用中心词预测周围词) 一、背景 1.提出 ①使用邻接矩阵表示网络时&#xff0c;由于矩阵中大多数元素是0&#xff0c;难以体现节点间关系&#xff0c;同时数据的稀疏性使得计…