浅谈图嵌入算法
在科技周边实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《浅谈图嵌入算法》,聊聊,希望可以帮助到正在努力赚钱的你。
Part 01
● 什么是图嵌入 ●
图嵌入是将图结构数据映射为低维稠密向量的过程,同时使得原图中拓扑结构相似或属性接近的节点在向量空间上的位置也接近,能够很好地解决图结构数据难以高效输入机器学习算法的问题。
对于图的表示和存储,最容易想到的是使用邻接矩阵的方式。对图中的每个节点进行编号,构造出一个的矩阵,其中
表示图中节点的数量。图中任意两个节点是否有边相连决定了邻接矩阵中对应位置的值,这种表示方法非常容易理解且直观,但是非常低效。因为现实场景中的图可能会包含成千上万甚至更多的节点,而大多数节点之间是没有边连接的,这会导致得到的邻接矩阵十分稀疏。使用邻接矩阵表示和存储图需要较高的计算成本和空间成本,而图嵌入算法能够高效解决图分析问题。
Part 02
● 基本概念 ●
概念1 图:
图表示为,其中
表示节点,
表示边。
与节点类型映射函数
和边类型映射函数
相关联。
表示节点类型的集合,
表示边类型的集合。
概念2 同构图:
图,其中
。也就是说,所有节点都属于一种类型,所有边都属于一种类型,比如社交网络中的用户关注关系图,只有用户这一种节点类型和关注关系这一种边类型。
概念3 异构图:
图,其中
或
。也就是说,节点类型或边类型多于一种,比如学术网络中的图结构,存在论文、作者、会议等多种节点类型,边的关系包括作者与论文之间的创作关系、论文与会议之间的发表关系、论文与论文之间的引用关系等。
概念4 一阶相似度:
如果连接两个节点的边的权重较大,则它们之间的一阶相似度越大。节点和节点
之间的一阶相似度表示为
,有
,其中
是节点
和节点
之间连边
的权重。
概念5 二阶相似度:
如果两个节点邻近的网络结构越相似,则它们之间的二阶相似度越大。节点和节点
之间的二阶相似度
是
的邻域
和
的邻域
之间的相似性。如图1所示,因为有边连接节点f和节点g,所以节点f和节点g一阶相似。虽然没有边连接节点e和节点g,但是它们相同的邻居节点有四个,所以节点e和节点g二阶相似。
图1 二阶相似度示意图
概念6 图嵌入:
给定输入图,以及预定义的嵌入维数,图嵌入是要在尽可能保留图属性的前提下,将图转换到维空间。依赖一阶相似度或高阶相似度量化图属性的保留程度,使用一个维向量或一组维向量来表示一个图,每个向量表示图的一部分的嵌入,例如节点或边。
Part 03
● 图嵌入算法分类 ●
在过去几十年,研究人员们提出了许多优秀的算法,在社交网络、通信网络等场景中被证明具有显著的效果。业界通常根据输出粒度的差异将这些图嵌入算法分为以下三类:
(1)节点嵌入
节点嵌入是最常见的类型,在低维空间中用向量对图中的每一个节点进行表示,“相似”节点的嵌入向量表示也是相似的。当需要对图中的节点进行分析,进而执行节点分类或节点聚类等任务时,通常会选择节点嵌入。
(2)边嵌入
在低维空间中用向量对图中的每一条边进行表示。边由一对节点组成,通常表示节点对关系。当需要对图中的边进行分析,执行知识图谱关系预测或链路预测等任务时,适合选择边嵌入。
(3)图嵌入
在低维空间中用向量对整个图进行表示,通常是分子或蛋白质这样的小图。将图表示为一个向量便于计算不同图之间的相似性,从而解决图分类问题。
不同的任务需求决定了选用的图嵌入算法,由于篇幅原因,这里节选出节点嵌入中的DeepWalk算法和Node2Vec算法来进行相对详细的学习。
Part 04
● 经典图嵌入算法 ●
1.DeepWalk算法
受自然语言处理领域中word2vec思想的启发,Perozzi等为了建立学习图中节点表示向量的模型,将节点与节点的共现关系类比于语料库中词与词的共现关系,提出了DeepWalk算法。通过随机游走的方式采集图中节点的邻居节点序列,相当于节点上下文的语料库,进而可以解决图中节点之间共现关系的提取问题。预先设置好节点序列的长度和起点,随机游走策略将会指导如何在邻居节点中确定下一个游走节点,重复执行该步骤,即可获得满足条件的序列,随机游走示意图如图2所示。
图2 随机游走示意图
将word2vec算法中的单词对应成图中的节点,单词序列对应成随机游走得到的节点序列,那么对于一个随机游走
,定义其优化目标函数如公式所示。
为了更进一步学习节点的潜在特征表示,DeepWalk算法引入了映射函数,实现图中节点到
维向量的映射,那么问题就转换成要估算下列公式的可能性。
概率的计算同样需要参考word2vec算法中的skip-gram模型。
如图3所示,skip-gram模型包含两个关键的矩阵,一个是中心词向量矩阵,另一个是背景词向量矩阵
,这两个权重矩阵分别代表着作为不同角色时单词所关联的词向量。skip-gram是一个预测词上下文的模型,先从语料库中学习了词与词之间的关系,再用这些关系来表达一个特定词的上下文,即词的向量表示。也就是说,在同一个序列中,两个单词同时出现的频率越高,两个单词的向量表示越相似。将这个思想应用到图中,定义其优化目标函数如公式所示。
在随机游走过程中,不考虑采样序列中节点与节点的顺序关系,这能够更好地反映节点的邻近关系,同时减少了计算成本。
图3 skip-gram模型示意图
2.Node2Vec算法
在DeepWalk算法的基础上,研究者Grover A和Leskovec J提出了Node2Vec算法。Node2Vec算法对DeepWalk算法中通过随机游走生成节点序列的过程进行优化,定义参数和参数
对每次随机游走是倾向于广度优先采样还是深度优先采样进行引导,因此适应性很高。假定当前访问节点
,则下一个访问节点
的概率如公式所示。
式中表示从节点
到节点
的转移概率,
表示归一化常数。
图4 Node2Vec随机游走策略示意图
Node2Vec的随机游走策略是根据两个参数进行控制的,如图4所示。假设经过边到达节点v,下一步准备访问节点x,设
,
是节点
和
之间的边权。也就是说,当图是无权图时,
直接决定了节点的转移概率。当图是有权图时,
与边权重的乘积
决定了节点最终的转移概率。
可以根据以下公式来计算,式中
是节点
和节点
之间的最短路径距离。
当游走采样从节点走到节点
并需要选择下一跳节点时,会有以下三种情况。
(1) 当时,返回节点
。
(2) 当时,选择节点
和节点
的共同邻接节点,例如节点
。
(3) 当时,选择与节点
无关的节点
的邻接节点,例如节点
或
。
也就是说,参数控制着返回上一跳节点的概率,参数
更多地控制的是探索网络的局部结构信息还是全局结构信息,DeepWalk模型其实是
和
的值设置为1时的Node2Vec模型。
Part 05
● 总结 ●
随着信息技术的快速发展,网络环境变得日益复杂,网络攻击频发,其中APT攻击呈高发态势,是企业需要关注的安全问题。事实上,APT攻击发生的基本环境——网络,本身就是一个由计算机等元素构成的网络结构,这也不难联想到使用图数据结构来表达这些元素间的关系,再将攻击检测问题转化为图中的节点、边或子图分类任务。图嵌入是一个丰富且极具研究空间的问题,如何提高模型训练效率、创新模型构造方法、将图嵌入的思想应用于更多的生产实践,企业需要通过更进一步的研究,才能找到更好的答案。
参考文献
[1]Xu M. Understanding graph embedding methods and their applications[J]. SIAM Review, 2021, 63(4): 825-853.
[2]Cai H, Zheng V W, Chang K C C. A comprehensive survey of graph embedding: Problems, techniques, and applications[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(9): 1616-1637.
[3]Goyal P, Ferrara E. Graph embedding techniques, applications, and performance: A survey[J]. Knowledge-Based Systems, 2018, 151: 78-94.
本篇关于《浅谈图嵌入算法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!

- 上一篇
- 网络空间安全中的人工智能技术综述

- 下一篇
- 人工智能:PyTorch深度学习框架
-
- 科技周边 · 人工智能 | 1小时前 |
- 问界M8快报:MAX+版最火,BAL车主热捧
- 335浏览 收藏
-
- 科技周边 · 人工智能 | 4小时前 |
- 港大与Adobe联手推出PixelFlow图像生成模型
- 135浏览 收藏
-
- 科技周边 · 人工智能 | 6小时前 | 摩尔线程 招聘诈骗 @mthreads.com 官方客服 法律责任
- 摩尔线程重磅声明发布
- 406浏览 收藏
-
- 科技周边 · 人工智能 | 8小时前 |
- 玛莎拉蒂GT2Stradale国内首秀售414.5万
- 226浏览 收藏
-
- 科技周边 · 人工智能 | 11小时前 |
- 美股反弹艰难,三大指数涨跌不一,英伟达跌3%
- 301浏览 收藏
-
- 科技周边 · 人工智能 | 11小时前 |
- 本田烨品牌GT车型上海车展首发亮相
- 358浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 笔灵AI生成答辩PPT
- 探索笔灵AI生成答辩PPT的强大功能,快速制作高质量答辩PPT。精准内容提取、多样模板匹配、数据可视化、配套自述稿生成,让您的学术和职场展示更加专业与高效。
- 28次使用
-
- 知网AIGC检测服务系统
- 知网AIGC检测服务系统,专注于检测学术文本中的疑似AI生成内容。依托知网海量高质量文献资源,结合先进的“知识增强AIGC检测技术”,系统能够从语言模式和语义逻辑两方面精准识别AI生成内容,适用于学术研究、教育和企业领域,确保文本的真实性和原创性。
- 42次使用
-
- AIGC检测-Aibiye
- AIbiye官网推出的AIGC检测服务,专注于检测ChatGPT、Gemini、Claude等AIGC工具生成的文本,帮助用户确保论文的原创性和学术规范。支持txt和doc(x)格式,检测范围为论文正文,提供高准确性和便捷的用户体验。
- 39次使用
-
- 易笔AI论文
- 易笔AI论文平台提供自动写作、格式校对、查重检测等功能,支持多种学术领域的论文生成。价格优惠,界面友好,操作简便,适用于学术研究者、学生及论文辅导机构。
- 51次使用
-
- 笔启AI论文写作平台
- 笔启AI论文写作平台提供多类型论文生成服务,支持多语言写作,满足学术研究者、学生和职场人士的需求。平台采用AI 4.0版本,确保论文质量和原创性,并提供查重保障和隐私保护。
- 42次使用
-
- GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福
- 2023-04-25 501浏览
-
- 单块V100训练模型提速72倍!尤洋团队新成果获AAAI 2023杰出论文奖
- 2023-04-24 501浏览
-
- ChatGPT 真的会接管世界吗?
- 2023-04-13 501浏览
-
- VR的终极形态是「假眼」?Neuralink前联合创始人掏出新产品:科学之眼!
- 2023-04-30 501浏览
-
- 实现实时制造可视性优势有哪些?
- 2023-04-15 501浏览