【Datawhale图机器学习】图嵌入表示学习

news2024/9/20 18:27:45

图嵌入表示学习

学习视频:https://www.bilibili.com/video/BV1AP4y1r7Pz/

如何把节点映射成D维向量?

  • 人工特征工程:节点重要度、集群系数、Graphlet
  • 图表示学习:通过随机游走构造自监督学习任务。DeepWalk、Node2Vec
  • 矩阵分解
  • 深度学习:图神经网络

在这里插入图片描述

图嵌入-概述

表示学习:自动学习特征将各个模态输入转为向量
嵌入向量包含网络连接信息

图嵌入-基本框架 编码器-解码器

V:节点集
A:连接矩阵
仅利用连接信息,没有利用节点属性信息
向量点乘数值(余弦相似度)反映节点的相似度
在这里插入图片描述
最简单的编码器:查表
在这里插入图片描述
没有使用节点类别标签
没有使用节点属性特征
直接优化嵌入向量
与下游任务无关

图嵌入:基于随机游走的方法

在这里插入图片描述
图机器学习 NLP
图:文章
随机游序列:句子
节点:单词
DeepWalk:Skip-Gram
Node Embedding:Word Embedding

随机游走序列

1.采样得到若干随机游走序列计算条件概率
2.迭代优化每个节点的D维向量,使得序列中共现节点向量数量积大不共现节点向量数量积小

为什么随机游走序列
1.表示能力
2.计算便捷
在这里插入图片描述
在这里插入图片描述

随机梯度下降

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

  • 无法理科泛化到新加入的节点,某种程度的过拟合,重新采样随机游走序列优化更新所有节点嵌入向量
  • 结构上相似,地理上远隔
  • 仅使用图本身的连接信息,没利用属性信息

DeepWalk 讨论

• 首个将深度学习和自然语言处理的思想用于图机器学习。
• 在稀疏标注节点分类场景下,嵌入性能卓越。
• 均匀随机游走,没有偏向的游走方向。(Node2Vec)
• 需要大量随机游走序列训练。
• 基于随机游走,管中窥豹。距离较远的两个节点无法相互影响。看
不到全图信息。(图神经网络)
• 无监督,仅编码图的连接信息,没有利用节点的属性特征。
• 没有真正用到神经网络和深度学习。

Node2Vec 图嵌入算法

• Node2Vec解决 图嵌入 问题,将图中的每个节点映射为一个向量(嵌入)。
• 向量(嵌入)包含了节点的语义信息(相邻社群和功能角色)。
• 语义相似的节点,向量(嵌入)的距离也近。
• 向量(嵌入)用于后续的分类、聚类、Link Prediction、推荐等任务。
• 在DeepWalk完全随机游走的基础上,Node2Vec增加p、q参数,实现有偏
随机游走。不同的p、q组合,对应了不同的探索范围和节点语义。
• DFS深度优先探索,相邻的节点,向量(嵌入)距离相近。
• BFS广度优先探索,相同功能角色的节点,向量(嵌入)距离相近。
• DeepWalk是Node2Vec在p=1,q=1的特例。

嵌入整张图

在这里插入图片描述
匿名随机游走嵌入:每次见到不同节点,就发一个新编号
在这里插入图片描述
Anonymous Walk Embeddings, ICML 2018 https://arxiv.org/pdf/1805.11921.pdf
在这里插入图片描述
在这里插入图片描述

扩展阅读

• DeepWalk-算法讲解:https://www.bilibili.com/video/BV1o94y197vf
• DeepWalk-论文逐句精读:https://www.bilibili.com/video/BV1pW4y1z7pb
• DeepWalk代码实战-维基百科词条图嵌入可视化:https://www.bilibili.com/video/BV1et4y187Gd
• Node2Vec-算法讲解:https://www.bilibili.com/video/BV1BS4y1E7tf
• Node2Vec-论文逐句精读:https://www.bilibili.com/video/BV1vU4y1i77T
• Node2Vec代码实战-《悲惨世界》小说人物图嵌入、Alias Sampling复现:
https://www.bilibili.com/video/BV1VS4y1E7Me
• Anonymous Walk Embeddings:https://arxiv.org/pdf/1805.11921.pdf
• Network embedding as matrix factorization: Unifying deepwalk, line, pte, and node2vec:
https://arxiv.org/abs/1710.02971
• 随机梯度下降讲解:https://www.bilibili.com/video/BV1K7411W7So

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10字体模糊怎么办?看下面4种宝藏解决方法

最近很多用户反映电脑安装了Win10系统后出现字体发虚,模糊不清的问题,这看起来让人非常难受。win10字体模糊怎么办?来看下面4种宝藏解决方法!下面的方法适用于各类台式电脑以及笔记本电脑哦! 操作环境: 演示…

ESP开发环境搭建

一、windows中搭建 esp-idf tool(可选),下载连接如下:https://dl.espressif.com/dl/esp-idf/?idf4.4 下载安装tools后进入vscode进行插件安装(未离线下载idf工具也可以通过第二步通过插件下载安装) 1. vscode安装编译环境 ESP-IDF 需要安装一些必备工…

高并发系统设计之负载均衡

本文已收录至Github,推荐阅读 👉 Java随想录 文章目录DNS负载均衡Nginx负载均衡负载均衡算法负载均衡配置超时配置被动健康检查与主动健康检查LVS/F5Nginx当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到…

【matplotlib】可视化解决方案——如何设置轴标签的透明度和大小

概述 Axes 标签对于读者理解图表非常重要,它描述了图表中展现的数据内容。通过向 axes 对象添加标签,可以有效理解图表所表达的内容。首先来了解一下 matplotlib 是如何组织图表的。最上层是一个 Figure 实例,包含绘图中所有可见和不可见的内…

北斗导航 | 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 会议论文下载:ION 美国导航学会

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 论文下载百度云链…

Teradata当年数据仓库的“一哥”为何突然退出中国市场:苦撑了3年,员工早有预料

2月15日,Teradata天睿公司官宣即将撤离中国市场。 又是一个艰难的决定,听着似乎很熟悉。Teradata为什么突然宣布结束在中国的直营?其实,回顾Teradata在中国市场的发展状况,一点也不突然。 多年前,我曾经与…

Excel表格自动转Json数据

Excel表格转JSON格式在实际工作中,我们常常使用Excel记录各种数据,但在各种应用系统传输数据却使用JSON格式,这就需要把Excel转为JSON。如果能把数据转换传输过程自动化就更完美了。Excel转JsonXX公司生产日报表为例,生产工人用Ex…

JSR303基本使用以及整合springboot统一异常处理

目录 一、前言 什么是JSR303 二、JSR303基本使用(普通使用) 1)、引入jar包 2)、实体类对需要校验的数据进行校验 3)、对前端传递过来的参数进行限制 三、JSR303基本使用(分组校验) 1)、创建分组 2)…

leaflet 根据两个坐标值,设置arc弧线和Marker(079)

第069个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中根据提供的两个点,绘制出marker,同时将两点间绘制出一条弧线。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共88行)安装插件相关API参考…

最全面的SpringBoot教程(六)——SpringBoot运行原理分析

前言 本文为 最全面的SpringBoot教程(六)——SpringBoot运行原理分析 相关知识,下边将对SpringBoot运行原理以及自动配置原理进行详尽的分析介绍~ 📌博主主页:小新要变强 的主页 👉Java全栈学习路线可参考…

计算机网络 物理层

1,物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有许多不同方式。物理层的作用正是要尽可能地屏蔽掉这…

【ts + webpack】贪吃蛇小游戏

目录 一、项目搭建 1.1 初始化项目 二、项目界面布局 三、完成Food类 四、完成记分牌类 五、初步完成snake类 六、创建游戏控制器类 - 键盘事件 七、GameControl - 使蛇移动 八、蛇撞墙和吃食检测 一、项目搭建 1.1 初始化项目 1.使用init命令生成package.json文件 …

日期时间控件my97初步探索

因为要写period entry 的项目,需要Report StartDate 和 Report EndDate,于是乎咨询前端同学,推荐my97 官方网站 http://www.my97.net/ 确实有点看起来古老的网站 点击下载能够下载包的资源,以及示例文件 demo示例、Api等 http…

Vue3使用Echarts实现自定义地图(使用阿里云数据可视化平台)

Vue3使用Echarts实现自定义地图 1.获取地图JSON文件 推荐使用 阿里云数据可视化平台 选择你想要使用地图区域并下载JSON文件 2.把地图JSON文件引入Vue3项目中 放在src/assets中 引入你想要使用地图的组件中 3.使用Echarts创建地图 准备地图容器 <template> <…

链路聚合基本概念

聚合组&#xff08;Link Aggregation Group&#xff0c;LAG&#xff09;&#xff1a;若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口&#xff0c;这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。成员接口和成员链路&#xff1a;组成Eth-Trunk接…

win11/10+Azure kinect DK配置 VS2019/2017/2015的方法(简单,亲测可以)

首先下载文件&#xff1a;文件的下载和安装方法参考我的博客(131条消息) WIN11/win10Azure Kinect DK详细驱动配置教程&#xff08;亲测&#xff09;_Vertira的博客-CSDN博客安装好VS2019,创建好控制台c工程。这些都很简单&#xff0c;不细说。配置&#xff1a;首先配置环境变量…

如何快速掌握DDT数据驱动测试?

如何快速掌握DDT数据驱动测试&#xff1f; 目录&#xff1a;导读 前言 实施数据驱动步骤 数据驱动测试环境准备 测试步骤 数据存储 数据存在当前脚本中 json文件读取测试数据进行数据驱动测试 从xml读取数据进行数据驱动测试 总结 写在最后 前言 网盗概念相同的测试…

《Linux运维实战:Centos7.6基于docker-compose一键离线部署rabbitmq3.9.16+haproxy镜像模式高可用负载均衡集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&#xff0c;而作为基础组件中的重要的一环&#xff0c;我们需要针对不同的客户环境需要多次部署 rabbitmq镜像模式高可用负载均衡集群&#xff0c;作为一个运维工程师&#xff0c;提升…

LeetCode 793. 阶乘函数后 K 个零

f(x) 是 x! 末尾是 0 的数量。回想一下 x! 1 * 2 * 3 * ... * x&#xff0c;且 0! 1 。 例如&#xff0c; f(3) 0 &#xff0c;因为 3! 6 的末尾没有 0 &#xff1b;而 f(11) 2 &#xff0c;因为 11! 39916800 末端有 2 个 0 。 给定 k&#xff0c;找出返回能满足 f(x) …

Django框架之类视图

类视图 思考&#xff1a;一个视图&#xff0c;是否可以处理两种逻辑&#xff1f;比如get和post请求逻辑。 如何在一个视图中处理get和post请求 注册视图处理get和post请求 以函数的方式定义的视图称为函数视图&#xff0c;函数视图便于理解。但是遇到一个视图对应的路径提供…