浅谈Graph Embedding(一)

news2024/11/16 9:17:01

Graph Embedding算法背景引入

先回顾下图的概念:

图(graph)由节点(vertex)和点之间连线(edge)所组成;其中,点通常被成为“顶点(vertex)”,而点与点之间的连线则被成为“”(edge)。通常记为,G=(V,E)。常见分为无向图和有向图

示例如下:

无向图:

有向图:

在互联网场景下,数据对象之间更多呈现的是图结构。示例如下:

用户行为数据生成的和物品全局关系图:

由属性、实体、各类知识组成的知识图谱:

在Graph 图中相关概念有BFS和DFS,示例如下:

广度优先搜索算法(Breadth-First-Search, BFS),利用队列实现。类似“湖面丢进一块石头激起层层涟漪,如下:

深度优先搜索算法(Depth-First-Search,DFS),利用递归实现。类似“不撞南墙不回头” 。

接着再回顾下Embedding的概念:

数学定义Embedding: 数学上表示一个映射关系, F: X -> Y,即一个函数。

深度学习Embedding: 用一个低维度向量表示一个实体,或者一个词(Word2Vec),或者一个物品(Item2Vec)亦或者网络关系中的节点(Graph Embedding)。

Graph Embedding: 用低维、稠密、实值的向量表示网络中的节点。

那如何生成Graph Embedding 呢?

GraphEmbedding最开始参考的就是 NLP 领域中的Word2vec 模型,

再来回忆下Word2Vec模型。比如下段落:

苹果是蔷薇科苹果亚科苹果属植物,其树为落叶乔木。

苹果营养价值很高,富含矿物质和维生素。

苹果是一种低热量的食物,每100克产生大约60千卡左右的热量。

苹果中营养成分可溶性大,容易被人体吸收。

所有的水果里,我最爱吃苹果了。

词的语义由其上下文决定。

“A word is characterized by the company itkeeps” —— J. R. Firth

如果想要识别苹果语义,Word2vec中有如下两种方式:

Word2vec Skip Gram: 根据中心词预测上下文

Word2vec: Negative Sampling

Word2vec整体架构:

Graph Embedding 介绍:

由以上回忆可知,序列(sequence)是一种一维的关系,而图(graph)是一种二维的关系,那如何类比呢?

先看下,Graph Embedding图游走示例:

以及Graph Embedding示例:

所以Word2vec -->图嵌入领域的问题可类比生成;

通常,图中的节点会受其邻居的影响。如下所示:

此外Graph Embedding 能够生成一些“不存在”的序列。如图中

B->E->F;

D->E->C。

Graph Embedding算法之Deep Walk:

将 NLP 领域的思想运用到图(网络)嵌入领域。

Deep Walk 游走方式:RandomWalk

Deep Walk 整体架构:

节点示意图

流程示意图

Deep Walk 应用扩展之EGES算法:

Deep Walk 可以生成Item 的 Embedding 向量,从而从用户行为中捕捉高阶相似性。然而这只能针对已有的Item 而无法应对新的 Item,即无法解决冷启动问题。

对于新加入的物品或者长尾物品,无法在行为图中找到。那如何解决呢?

可以引入Side Information(补充信息),比如商品的类别、店铺、价格等。

Eg:优衣库(同店)的两件卫衣(同品类)可能会非常相似,喜欢尼康镜头的人可能也会对佳能相机感兴趣。

所以EGES的架构思想如下:

1、通过用户行为序列生成行为关系图。

2、通过”相同属性”,“相同类别”等信息建立物品之间的边,生成基于内容的知识图谱图。

其中item 和 sideinformation(例category, brand)的Embedding 是通过 Word2vec 算法一起训练得到的。

其中的item表示为:item Embedding, category Embedding,brand Embedding等 Embedding信息求均值。即:

整体架构图如下:

下节预告:

Graph Embedding算法之Node2vec和相关案例(二)

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

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

相关文章

MySQL数据类型约束

文章目录数据类型MySQL中的数据类型整数类型类型介绍可选属性MUNSIGNEDZEROFILL适用场景如何选择?浮点类型类型介绍数据精度说明精度误差说明定点数类型类型介绍开发中经验位类型:BIT6. 日期与时间类型YEAR类型DATE类型TIME类型DATETIME类型TIMESTAMP类型…

小白入门pwn笔记 CPU与进程的执行

1.回顾存储在磁盘中的叫节,映射到内存的时候叫段。内存中的节根据读写执行的权限不同在内存中映像为不同的段。段视图用于进程的内存区域的rwx权限划分。节视图用于ELF文件编译链接时与在磁盘上储存时的文件结构的组织。2.代码在内存重的映射关系不可写的数据一般会…

Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系

提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系 一、场景 在日常的项目中,我们很多时候会遇到,绘制雷达扫描图的情况,比如,你的项目是给下面的雷达…

unidbg-boot-server使用并打包jar调用

其实线上使用可以多种方式,比如pom引入spring boot自己去写一个接口实现; 但如果并发不是很高,可以使用synchronized关键字进行,若对并发有要求,建议直接使用 unidbg-boot-server开源项目; 从github下拉,https://github.com/anjia0532/unidbg-boot-server 常见问题:…

Neo-reGeorg测试

1、前言 趁着春节刚开工不太忙,把以前的坑填一下。 主要是针对反向代理、隧道工具进行学习和测试。 之前测试过FRP,HTTPTunnel,NPS,都比较简单,而且上面工具也可以用在普通需求下使用。 reGeorg和Neo-reGeorg非常适合…

常用RTOS详细说明

鸿蒙OS HarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。 鸿蒙OS实现模块化耦合,可应用在不同的设备上。 鸿蒙OS架构分为三层: 第一层是内核第二层是基础服务第三层是程序框架 。 鸿蒙OS底层三部分组成&#x…

《U型理论》速读

文章目录书籍信息概览踏上发现的旅程大火带来的启示踏上 U 型之旅学习和变革的4个层次组织的盲点社会的盲点科学的哲学基础关于界点下载观察感知自然流现结晶塑造原型运行社会场域理论的 21 个命题个人行动谈话行动自然流现的原则和实践:引领深刻的创新和变革视觉记…

Windows Server 2016搭建DNS服务

1:搭建DNS服务的目的是为了解析vCenter,当初安装时候没有用DNS解析,主机名是localhost无法安装vTPM虚拟Windows 11。 2:准备一台Windows Server 2016的主机,设置好固定IP地址,DNS就是本机的IP地址。 3:在服务器管理中…

Maven知识点-关于dependencyManagement和pluginManagement

前言 dependencyManagement和pluginManagement如何使用以及什么意思?我想懂点Maven的应该都明白,无非是依赖和插件的管理(版本),一般多用于Maven项目的继承和聚合模式中。 这里不是讲解dependencyManagement和plugin…

PCB丝印的字符有哪些作用?

PCB字符也就是行业内常说的“丝印”PCB丝印在一般的PCB板子都可以看到,那么PCB丝印有那些作用呢。 1、大家都知道各种各样的电子元器件数不胜数,那么如何区分PCB这个焊盘是贴什么电子元器件的呢?实际上就是通过PCB板子上的丝印字符去判断每一…

package.json配置详解

npm 介绍 npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用;许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用;允许用户将自己编写的包或命令行…

【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程

目录 一、Harbor 介绍 二、Harbor 的优势 三、Harbor 部署安装 3.1 部署环境 3.2 为 Harbor 自签发证书 3.3 安装 Harbor 3.4 设置开机自启 四、Harbor 图像化界面使用说明 4.1 修改本地 hosts 文件 4.2 访问 harbor 4.3 创建项目 五、测试使用 harbor 私有镜像仓库…

form 表单只有一个input 时,回车自动提交表单造成页面刷新效果

现象&#xff1a;el-form 中仅有一个input&#xff0c;input上设置了回车响应事件&#xff0c;首次按回车键后&#xff0c;页面刷新&#xff0c;再次按回车才执行了响应事件 <el-form ref"form" submit.native.prevent><el-form-item><el-input keyu…

C#学习记录——【实例】C#实现OPC Client

最近学习测试用C#开发OPC客户端连接OPC服务器&#xff0c;防止遗忘&#xff0c;记录学习测试结果。 1、OPC基础知识 1.1、OPC概述 OPC是Object Linking and Embedding&#xff08;OLE&#xff09;for Process Control 的缩写&#xff0c;它是微软公司的对象链接和嵌入技术在…

【JavaEE】认识HTTP协议

✨哈喽&#xff0c;进来的小伙伴们&#xff0c;你们好耶&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaEE】 ✈️✈️本篇内容:认识HTTP协议、请求。 &#x1f680;&#x1f680;代码存放仓库github&#xff1a;JavaEE仓库&#xff01; ⛵⛵作者简介&#xff1…

Golang 提取视频中音频,存为MP3格式 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为mp3格式&#xff0c;一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装&#xff0c;可以参考我的另一篇文章&#xff1a;windows ffmpeg安装部署_阿良的博…

Delphi复制HID、ID门禁卡源码

T5557卡是美国Atmel公司生产的多功能非接触式射频芯片卡&#xff0c;属于125KHz的低频卡&#xff0c;在国内有广大的应用市场&#xff0c;如很多酒店的门禁卡都是使用T5557卡。该芯片共有330bit(比特)的EPROM(分布为10个区块, 每个区块33bit)。0页的块0是被保留用于设置T5557操…

模电学习3. MCU接三极管开关电路简单分析

模电学习3. MCU接三极管开关电路简单分析一、说明二、使用NPN型三极管工作状态分析1. 饱和状态基本要求2. 计算限流电阻R23. IbI_bIb​4. 计算 RbR_bRb​5. 下拉电阻三、使用PNP型三极管工作状态分析1. 示例原理图2. IO输出低电平3. IO输出高电平一、说明 本文演示了一个使用M…

adb调试工具-笔记

adb调试工具adb工具可以在电脑通过终端命令操作安卓手机/模拟器命令&#xff1a;adb shell dumpsys window windows | findstr mFocusedApp该命令是查找程序的包名和界面名让我们打开夜神模拟器&#xff0c;并打开设置界面然后在电脑打开命令行&#xff0c;输入上述查询命令传送…

小红书数据分析网站:2023年如何产出爆文(纯干货分享)

导语&#xff1a; 不懂小红书最近火热的赛道、总是错过爆款打造的节奏……2023年了&#xff0c;相信不少人会发现关于小红书营销种草投放&#xff0c;入门容易&#xff0c;做好难。本文将借助第三方工具为品牌锚定赛道&#xff0c;寻找新风向。 1、行业流量大盘 —— 实时掌握…