【补充】图神经网络前传——Node2vec

Node2Vec【图神经网络论文精读】_哔哩哔哩_bilibili

解决的问题:图嵌入

把每一个节点编码成一个d维的低维、稠密(不是one-hot)、连续(不是离散的,是实数->有助于保存更多的信息)向量,并且,这个向量应该包含原来节点的一些信息,特别是语义信息,同时还有结构信息、社群信息、邻域信息。

embedding之后,就可以正常ML了。 

不仅仅节点可以做embedding。这里的node2vec是对节点做embedding。

手工构造的特征有很好的可解释性,但是不一定是很好的特征。node2vec和deepwalk都是基于随机游走的方法。

deepwalk只能把相邻或者相近的点聚在一起,但是其他的不可以,比如苏伊士运河和巴拿马运河的功能类似,但是离得远,就没办法放在一起。

而对于node2vec,这里的随机游走就不再是完全的随机游走了,而是有偏随机游走。上图中,我们是从节点t走到了节点v,现在,我们要决定下一步向哪里走,这个时候我们有三个选择,返回(t节点),绕圈,走出去(离t更远了)。通过调整p q参数,来影响下一步往哪儿走。

(弹幕:这个功能相似性直观上好像是有偏游走的概率分布的相似性体现的)

不同的搜索策略会捕捉节点的不同特征。

这里的随机游走时2阶随机游走,而不是deepwalk中的1阶。在deepwalk中,下一个节点的采样仅取决于当前点的位置,而在node2vec中下一个节点不仅取决于当前节点,还要取决于上一个节点。->二阶随机游走/二阶马尔可夫

deepwalk可以看作是node2vec在p=1,q=1情况下的特例->可以通过调整p q值

优缺点

第二个优点纠正:节点分类->embedding

Node2Vec论文逐句精读_哔哩哔哩_bilibili

(这里并不是完全的笔记,仅包含自己翻译的部分和视频中觉得有必要记下来的部分)

可扩展的图嵌入表示学习算法->可扩展:可以用在整个互联网规模的图上,并且可以用有限的时间、空间的成本。

解决的是图嵌入问题,是把图中的节点编码、映射成一个低维、连续、稠密的向量,而这个向量反应了这个节点在原图中的连接、社群、结构、角色等语义特征。

表示学习:用ML方法(数据驱动的方法)做的映射,而非人工构造特征,也不是矩阵分解的方法。

abstract

对于网络中的节点和边来做预测,首先需要做特征工程,把他们变成向量,有了这些向量之后才能输入到后续的机器学习算法当中,继续做下游的预测、分类任务。但是当时表示学习(ML)在图中的应用(如deepwalk、line)的表示能力不够高->无法反应出节点更丰富的特征和更丰富的连接属性。

提出node2vec,一个更好的做node embedding的方法。

node2vec是使用极大似然估计来实现训练。定义了一个非常灵活的,有偏随机游走方法,可以有效的探索多样的属性(邻居?),得到更丰富的表示。

introduction

任何监督ML都需要内涵丰富语义、有分类区分行、相互独立的特征。对于网络(图)而言,我们需要先把节点和边表示成特征向量(用特征向量表示节点和边)。 

有监督的,针对特定任务的->找到针对下游任务的特征

无监督->通用的,与下游任务无关的特征

同一社群&同一功能角色的点应该具有相近的embedding

node2vec—>一种对于网络中可扩展的特征的半监督学习方法

二阶随机游走 

feature learning framework

给定网络G=(V, E),我们的目标是学习一个映射f: \ V \rightarrow \mathbb{R}^d,把每一个节点映射成一个d维的实数向量f是一个大小为|V| \times d的矩阵(就是一张表格,每个节点对应的d维的嵌入)。

对于每一个节点u \in V,我们定义N_s(u) \subset V为节点u通过邻居采样策略(neighborhood sampling strategy)S产生的网络邻居(network neighborhood)

(讲人话就是这个N表示的是通过策略S得到的邻居)

 

同样采用skip-gram方法,用中间节点去预测周围节点,让红框中的值最大化

为了简化问题,这里做了两个基本假设:

  1. 条件独立。假设观察到一个邻居节点与观察到任意其他邻居节点之间是独立的(周围节点互不影响)

    因此上面的红框可以简化成连乘的形式
    softmax计算方法⬆️
  2. 特征空间对称性。一个节点与其邻居节点对彼此的印象是对称的(两个节点之间相互影响的程度是一样的)。

怎么知道谁是邻居:

idea1:搜索

真实的图是两种策略的mix

BFS提供的是一种微观视角,采样出来方差小,而DFS是宏观视角,采样出来方差大(就难以表达局部特征)

(弹幕:其实按照up主举的皇帝和运河的例子可以看出,确实DFS是找宏观的同质性。而BFS只关注微观邻近的结构。)

->设计一个灵活的邻域采样策略,让我们能够平滑的在BFS和DFS之间插值(私以为就是类似通过调整参数控制l1, l2)

首先定义随机游走:

起始节点为u,上一个节点为t,当前节点为v,下一个节点为x

现在我们已经在v节点了,在此情况下,我们要去下一个节点x。若v和x之间没有连接,就是0,如果是有连接的话,就按照某个概率给每个连接赋予权重。上图中\pi是权重,下面的Z是归一化常量。

接下来就是确定p q。

idea:用连接的权重作为游走的概率->如果是带权重的图,那么就可以直接用权重作为概率,即:\pi_{vx} = w_{vx},如果是无权图,那就是w_{vx} = 1

这样久和deepwalk一样没办法调节游走策略

idea:直接用BFS或者DFS->太极端了  

->提出一个二阶随机游走策略

使用两个参数p,q来引导游走。

假设我们刚刚穿过边(t,v),现在驻足在节点v上,现在我们需要决定下一步。->边(v,x)的转移概率,我们将未归一化的转移概率定义为\pi_{vx} = \alpha_{pq}(t,x)\cdot w_{vx},其中:

\alpha_{pq}(t,x) = \left\{\begin{matrix} \frac{1}{p} & if \ d_{tx} = 0\\ 1 & if \ d_{tx} = 1\\ \frac{1}{q} & if \ d_{tx} = 2 \end{matrix}\right.

这里d_{tx}表示的是节点t和x之间的最短路径长度,且d_{tx}只能在\left \{ 0, 1, 2 \right \}中选一个。

p:return parameter->如果p很大,就不太可能在接下来的两步中再次采样已经经过的节点,如果p小,就会返回

q:in-out parameter->如果q很大,就会困在原地,如果q很小,就更倾向于远走高飞

注意:这里和起始节点无关,仅仅由当前节点和上一个节点决定下一个节点去哪儿。

node-embedding->link-embedding

判断两个点之间是否会存在连接

论文链接:

https://cs.stanford.edu/people/jure/pubs/node2vec-kdd16.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/624864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装Tomcat

下载 Tomcat 软件包 前往 Apache Tomcat 官网:Apache Tomcat - Apache Tomcat 10 Software Downloads在网站上找到最新版本的 Tomcat,选择下载对应的压缩包(通常是 .zip 或 .tar.gz 格式)。下载完成后,解压缩到您选择的目录。 配…

【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手

文章目录 一、前言二、绘制效果三、ConstraintLayout 使用方法3.1 创建布局文件3.2 替换配置3.3 设置约束,步骤13.4 设置约束,步骤23.5 其他设置 四、结束 一、前言 在进行Android APP开发过程中,减少layout嵌套即可改善UI的绘制性能&#x…

考研数学|强化《660》+《880》这样刷,太丝滑了❗️

660题880题需要大概两个月才能做完 660题和880题都是很高质量的题集,所以做起来一点也不轻松。 每年都会有学生暑假两个月只做了一本660题的情况,因为题目实在是太难,有点做不下去的感觉。 不过不要担心,暑假就是刷题发现问题的…

一个小调整,竟然让交换机、路由器的CPU占用率降低了50%

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 在信息时代下,不仅仅在网络工程领域,高CPU占用率都是一个非常常见的问题,…

ESP32-S3+86盒线控器方案,含开发时问题技术解答

随着智能家居产品越来越多,线控器应用也加大,86盒线控器跟智能吹风机联动,跟中央空调联动,下面讲下ESP32-S386盒线控器方案在开发中遇到的问题。 一、ESP32-S386盒线控器方案: 1、无需网关,可以直接连家里…

Flutter 玩转动画 + 自定义View 实现积分或金币领取流程动画

一、效果图 二、主要涉及的知识点 AnimationController、Animation、FractionalTranslation 动画Api的运用CustomPainter 自定义View以及每个时机的把握 主要是写篇博客来记录一下这个功能的实现,具体代码就看源代码了,有疑问可以私信沟通 源代码下载…

【高阶数据结构】并查集 {并查集原理;并查集优化;并查集实现;并查集应用}

一、并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类…

Java的类和对象(一)—— 初始类和对象,this关键字,构造方法

前言 从这篇文章开始,我们就进入到了JavaSE的核心部分。这篇文章是Java类和对象的第一篇,主要介绍类和对象的概念,this关键字以及构造方法~~ 什么是类?什么是对象? 学过C语言的老铁们,可以类比struct自定义…

弹幕游戏-压力测试 Python-Locust模拟送礼物

Hey,读者们!今天给大家带来一个Python性能测试的新玩法——使用Locust模拟发送礼物。是不是听起来就很酷?😎 🎯目标 想象一下,在直播平台上,你希望测试某个直播间的礼物发送功能。那么&#x…

通义千问 1.5 -7B fine-tune验证

尝试对对中文数据进行finetune验证,测试模型的可优化方向。下面是代码的详细情况 代码实现 from datasets import load_dataset from transformers import (AutoModelForCausalLM,AutoTokenizer,BitsAndBytesConfig,HfArgumentParser,AutoTokenizer,TrainingArgum…

Spring学习①__Spring初识

Spring Spring初识一、框架二、Spring(春天)简介Spring官网Spring是什么?Spring介绍拓展 Spring初识 一、框架 ​框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。 JAVA框架可以分为三层: 表示层业务…

视频号小店,一个不用直播就可以变现的项目!创业首选!

大家好,我是电商小V 想要创业或者是想要利用视频号变现的小伙伴可以说是很多的,因为视频号这两年的流量是非常大的,甚至即将超越抖音的流量,因为视频号背靠腾讯平台,也是不缺少流量的,并且视频号的流量是可…

高扩展性便携式1553B总线测试仪,支持麒麟操作系统

手提式便携1553B总线测试仪,利用订制平台的PXIe扩展槽嵌入石竹科技自主研发的高性能T系列专用1553B测试板卡和高级协议分析和测试软件FP-1553B Pro、FP-5186集成的一款模块化、功能可订制的测试仪器。 基本配置可对1553B信号进行波形采集(提供软件示波器…

如何实现数字化校园的高效运维

随着科技开展,国家大力支持各级各类学校建造数字化学校,综合利用互联网、大数据、人工智能和虚拟现实技能探究未来教育教育新模式。因为数字化学校的快速开展,学校网内设备类型很多,网络拓扑杂乱,信息运用繁复。各部门…

电机控制杂谈——“双采样双更新模式”对模型预测控制/PI控制的提升有多大?

1.采样频率与PWM开关频率的关系 一般有以下两种采样模式。 如下图(a)所示,这种方式称之为单采单更模式,即在一个PWM周期内,采样一次,更新一次PWM占空比,在这种情况下,采样频率&…

ICode国际青少年编程竞赛- Python-5级训练场-综合练习5

ICode国际青少年编程竞赛- Python-5级训练场-综合练习5 1、 a 16 for i in range(6):Dev.step(1)Dev.turnLeft()Dev.step(a)Dev.step(-a)Dev.turnRight()while Dev.energy < 100:wait()Dev.step(1)a a - 5 i2、 for i in range(5):Dev.step(11 - i * 2)Dev.turnRight()wh…

PBR系列-光之简史

作者&#xff1a;游梦 ​ 欢迎进入官网体验使用&#xff1a;Mapmost——让人与机器联合创作成为新常态 ​说到PBR理论分为三大理论&#xff1a;物理光源、物理材质与物理相机&#xff0c;三者都与光有着千丝万缕的关系&#xff0c;原打算这期讲解物理材质&#xff0c;在梳理知…

刚刚OpenAI发布ChatGPT-4o模型,免费使用GPT4o并免费提供更多功能

就在今日凌晨1点&#xff0c;OpenAI举行了春季发布会&#xff0c;发布了GPT-4o 并免费提供更多功能。 亲测GPT-4o已经可以免费试用&#xff0c;每个人都可以使用它并从中受益&#xff0c;GPT4终于不再是少部分人的玩物。 点击加入ChatGPT4交流群&#xff1a;https://www.aijour…

记一次跨域问题

线上跨域问题&#xff0c;在自己配置确认没问题下&#xff0c;要及时找运维看看是不是nginx配置问题。 两个方面&#xff1a; 项目代码 nginx配置 SpringBoot 解决跨域问题的 5 种方案&#xff01; SpringBoot解决CORS跨域问题 SpringBoot-实现CORS跨域原理及解决方案