0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈图嵌入算法如何高效解决输入机器学习算法的问题

jf_uPRfTJDa 来源:中国移动智慧家庭运营中 2023-01-31 10:14 次阅读

Labs 导读

图作为一种重要的数据表示形式,普遍存在于多样化的实际场景中,如社交网络中的社交图、电子商务网站中的用户兴趣图、科研领域中的论文引文图等。有效的图分析能够帮助人们深入了解数据背后的内容,从而解决节点分类、节点聚类、链路预测等问题。然而图上的数学和统计操作是有限的,将机器学习方法直接应用到图上是很有挑战性的。在这种情况下,图嵌入似乎是一个合理的解决方案。

作者:何颖

单位:中国移动智慧家庭运营中心安全产品

什么是图嵌入

图嵌入是将图结构数据映射为低维稠密向量的过程,同时使得原图中拓扑结构相似或属性接近的节点在向量空间上的位置也接近,能够很好地解决图结构数据难以高效输入机器学习算法的问题。

对于图的表示和存储,最容易想到的是使用邻接矩阵的方式。对图中的每个节点进行编号,构造出一个1ab0bf9e-a10a-11ed-bfe3-dac502259ad0.png的矩阵,其中1ac863d8-a10a-11ed-bfe3-dac502259ad0.png表示图中节点的数量。图中任意两个节点是否有边相连决定了邻接矩阵中对应位置的值,这种表示方法非常容易理解且直观,但是非常低效。因为现实场景中的图可能会包含成千上万甚至更多的节点,而大多数节点之间是没有边连接的,这会导致得到的邻接矩阵十分稀疏。使用邻接矩阵表示和存储图需要较高的计算成本和空间成本,而图嵌入算法能够高效解决图分析问题。

Part 02基本概念概念1 图: 图表示为1ae26788-a10a-11ed-bfe3-dac502259ad0.png,其中1af15e46-a10a-11ed-bfe3-dac502259ad0.png表示节点,1b097148-a10a-11ed-bfe3-dac502259ad0.png表示边。1b16e4f4-a10a-11ed-bfe3-dac502259ad0.png与节点类型映射函数1b2595d0-a10a-11ed-bfe3-dac502259ad0.png和边类型映射函数1b318890-a10a-11ed-bfe3-dac502259ad0.png相关联。1b40f4f6-a10a-11ed-bfe3-dac502259ad0.png表示节点类型的集合,1b5024c6-a10a-11ed-bfe3-dac502259ad0.png表示边类型的集合。   概念2 同构图:1ae26788-a10a-11ed-bfe3-dac502259ad0.png,其中1b66f26e-a10a-11ed-bfe3-dac502259ad0.png。也就是说,所有节点都属于一种类型,所有边都属于一种类型,比如社交网络中的用户关注关系图,只有用户这一种节点类型和关注关系这一种边类型。   概念3 异构图:1ae26788-a10a-11ed-bfe3-dac502259ad0.png,其中1b807cd4-a10a-11ed-bfe3-dac502259ad0.png1b90d03e-a10a-11ed-bfe3-dac502259ad0.png。也就是说,节点类型或边类型多于一种,比如学术网络中的图结构,存在论文、作者、会议等多种节点类型,边的关系包括作者与论文之间的创作关系、论文与会议之间的发表关系、论文与论文之间的引用关系等。   概念4 一阶相似度: 如果连接两个节点的边的权重较大,则它们之间的一阶相似度越大。节点1ba015ee-a10a-11ed-bfe3-dac502259ad0.png和节点1bb6d766-a10a-11ed-bfe3-dac502259ad0.png之间的一阶相似度表示为1bc54b48-a10a-11ed-bfe3-dac502259ad0.png,有1bd30f8a-a10a-11ed-bfe3-dac502259ad0.png,其中1be94b1a-a10a-11ed-bfe3-dac502259ad0.png是节点1ba015ee-a10a-11ed-bfe3-dac502259ad0.png和节点1bb6d766-a10a-11ed-bfe3-dac502259ad0.png之间连边1c2b89c6-a10a-11ed-bfe3-dac502259ad0.png的权重。   概念5 二阶相似度: 如果两个节点邻近的网络结构越相似,则它们之间的二阶相似度越大。节点1ba015ee-a10a-11ed-bfe3-dac502259ad0.png和节点1bb6d766-a10a-11ed-bfe3-dac502259ad0.png之间的二阶相似度1c5653fe-a10a-11ed-bfe3-dac502259ad0.png1ba015ee-a10a-11ed-bfe3-dac502259ad0.png的邻域1c75a7b8-a10a-11ed-bfe3-dac502259ad0.png1bb6d766-a10a-11ed-bfe3-dac502259ad0.png的邻域1c99f280-a10a-11ed-bfe3-dac502259ad0.png之间的相似性。如图1所示,因为有边连接节点f和节点g,所以节点f和节点g一阶相似。虽然没有边连接节点e和节点g,但是它们相同的邻居节点有四个,所以节点e和节点g二阶相似。    

1ca9428a-a10a-11ed-bfe3-dac502259ad0.png

图1 二阶相似度示意图 概念6 图嵌入: 给定输入图1ae26788-a10a-11ed-bfe3-dac502259ad0.png,以及预定义的嵌入维数1ce04afa-a10a-11ed-bfe3-dac502259ad0.png,图嵌入是要在尽可能保留图属性的前提下,将图1b16e4f4-a10a-11ed-bfe3-dac502259ad0.png转换到1d044eb4-a10a-11ed-bfe3-dac502259ad0.png维空间。依赖一阶相似度或高阶相似度量化图属性的保留程度,使用一个1d044eb4-a10a-11ed-bfe3-dac502259ad0.png维向量或一组1d044eb4-a10a-11ed-bfe3-dac502259ad0.png维向量来表示一个图,每个向量表示图的一部分的嵌入,例如节点或边。

图嵌入算法分类

在过去几十年,研究人员们提出了许多优秀的算法,在社交网络、通信网络等场景中被证明具有显著的效果。业界通常根据输出粒度的差异将这些图嵌入算法分为以下三类:

(1)节点嵌入

节点嵌入是最常见的类型,在低维空间中用向量对图中的每一个节点进行表示,“相似”节点的嵌入向量表示也是相似的。当需要对图中的节点进行分析,进而执行节点分类或节点聚类等任务时,通常会选择节点嵌入。

(2)边嵌入

在低维空间中用向量对图中的每一条边进行表示。边由一对节点组成,通常表示节点对关系。当需要对图中的边进行分析,执行知识图谱关系预测或链路预测等任务时,适合选择边嵌入。

(3)图嵌入

在低维空间中用向量对整个图进行表示,通常是分子或蛋白质这样的小图。将图表示为一个向量便于计算不同图之间的相似性,从而解决图分类问题。

不同的任务需求决定了选用的图嵌入算法,由于篇幅原因,这里节选出节点嵌入中的DeepWalk算法和Node2Vec算法来进行相对详细的学习。

经典图嵌入算法

1.DeepWalk算法 受自然语言处理领域中word2vec思想的启发,Perozzi等为了建立学习图中节点表示向量的模型,将节点与节点的共现关系类比于语料库中词与词的共现关系,提出了DeepWalk算法。通过随机游走的方式采集图中节点的邻居节点序列,相当于节点上下文的语料库,进而可以解决图中节点之间共现关系的提取问题。预先设置好节点序列的长度和起点,随机游走策略将会指导如何在邻居节点中确定下一个游走节点,重复执行该步骤,即可获得满足条件的序列,随机游走示意图如图2所示。

1d2dc028-a10a-11ed-bfe3-dac502259ad0.png

图2 随机游走示意图 将word2vec算法中的单词对应成图中的节点1ba015ee-a10a-11ed-bfe3-dac502259ad0.png,单词序列对应成随机游走得到的节点序列,那么对于一个随机游走1d51c9be-a10a-11ed-bfe3-dac502259ad0.png,定义其优化目标函数如公式所示。   1d66b568-a10a-11ed-bfe3-dac502259ad0.png   为了更进一步学习节点的潜在特征表示,DeepWalk算法引入了映射函数1d7cdc3a-a10a-11ed-bfe3-dac502259ad0.png,实现图中节点到1d044eb4-a10a-11ed-bfe3-dac502259ad0.png维向量的映射,那么问题就转换成要估算下列公式的可能性。   1d9d0df2-a10a-11ed-bfe3-dac502259ad0.png   概率的计算同样需要参考word2vec算法中的skip-gram模型。   如图3所示,skip-gram模型包含两个关键的矩阵,一个是中心词向量矩阵1db9a976-a10a-11ed-bfe3-dac502259ad0.png,另一个是背景词向量矩阵1dcd4bfc-a10a-11ed-bfe3-dac502259ad0.png,这两个权重矩阵分别代表着作为不同角色时单词所关联的词向量。skip-gram是一个预测词上下文的模型,先从语料库中学习了词与词之间的关系,再用这些关系来表达一个特定词的上下文,即词的向量表示。也就是说,在同一个序列中,两个单词同时出现的频率越高,两个单词的向量表示越相似。将这个思想应用到图中,定义其优化目标函数如公式所示。   1ddfc0de-a10a-11ed-bfe3-dac502259ad0.png   在随机游走过程中,不考虑采样序列中节点与节点的顺序关系,这能够更好地反映节点的邻近关系,同时减少了计算成本。  

1def0d64-a10a-11ed-bfe3-dac502259ad0.png

图3skip-gram模型示意图 2.Node2Vec算法 在DeepWalk算法的基础上,研究者Grover A和Leskovec J提出了Node2Vec算法。Node2Vec算法对DeepWalk算法中通过随机游走生成节点序列的过程进行优化,定义参数1e045f66-a10a-11ed-bfe3-dac502259ad0.png和参数1e1462e4-a10a-11ed-bfe3-dac502259ad0.png对每次随机游走是倾向于广度优先采样还是深度优先采样进行引导,因此适应性很高。假定当前访问节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png,则下一个访问节点1e37130c-a10a-11ed-bfe3-dac502259ad0.png的概率如公式所示。   1e4e2f1a-a10a-11ed-bfe3-dac502259ad0.png   式中1e6a0992-a10a-11ed-bfe3-dac502259ad0.png表示从节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png到节点1e37130c-a10a-11ed-bfe3-dac502259ad0.png的转移概率,1e9bfa10-a10a-11ed-bfe3-dac502259ad0.png表示归一化常数。    

1eab0d20-a10a-11ed-bfe3-dac502259ad0.png

图4 Node2Vec随机游走策略示意图 Node2Vec的随机游走策略是根据两个参数进行控制的,如图4所示。假设经过边1ec65d50-a10a-11ed-bfe3-dac502259ad0.png到达节点v,下一步准备访问节点x,设1f2ccbb2-a10a-11ed-bfe3-dac502259ad0.png1f422674-a10a-11ed-bfe3-dac502259ad0.png是节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png1e37130c-a10a-11ed-bfe3-dac502259ad0.png之间的边权。也就是说,当图是无权图时,1f6accbe-a10a-11ed-bfe3-dac502259ad0.png直接决定了节点的转移概率。当图是有权图时,1f6accbe-a10a-11ed-bfe3-dac502259ad0.png与边权重的乘积1f2ccbb2-a10a-11ed-bfe3-dac502259ad0.png决定了节点最终的转移概率。1f6accbe-a10a-11ed-bfe3-dac502259ad0.png可以根据以下公式来计算,式中1faed8e6-a10a-11ed-bfe3-dac502259ad0.png是节点1fc63c84-a10a-11ed-bfe3-dac502259ad0.png和节点1e37130c-a10a-11ed-bfe3-dac502259ad0.png之间的最短路径距离。  

200d838c-a10a-11ed-bfe3-dac502259ad0.png

当游走采样从节点1fc63c84-a10a-11ed-bfe3-dac502259ad0.png走到节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png并需要选择下一跳节点时,会有以下三种情况。   (1) 当203f0ace-a10a-11ed-bfe3-dac502259ad0.png时,返回节点1fc63c84-a10a-11ed-bfe3-dac502259ad0.png。   (2) 当2063646e-a10a-11ed-bfe3-dac502259ad0.png时,选择节点1fc63c84-a10a-11ed-bfe3-dac502259ad0.png和节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png的共同邻接节点,例如节点209466e0-a10a-11ed-bfe3-dac502259ad0.png。   (3) 当20aa9a14-a10a-11ed-bfe3-dac502259ad0.png时,选择与节点1fc63c84-a10a-11ed-bfe3-dac502259ad0.png无关的节点1e242b34-a10a-11ed-bfe3-dac502259ad0.png的邻接节点,例如节点20d51c44-a10a-11ed-bfe3-dac502259ad0.png20ea1450-a10a-11ed-bfe3-dac502259ad0.png。   也就是说,参数1e045f66-a10a-11ed-bfe3-dac502259ad0.png控制着返回上一跳节点的概率,参数1e1462e4-a10a-11ed-bfe3-dac502259ad0.png更多地控制的是探索网络的局部结构信息还是全局结构信息,DeepWalk模型其实是1e045f66-a10a-11ed-bfe3-dac502259ad0.png1e1462e4-a10a-11ed-bfe3-dac502259ad0.png的值设置为1时的Node2Vec模型。

总结

随着信息技术的快速发展,网络环境变得日益复杂,网络攻击频发,其中APT攻击呈高发态势,是企业需要关注的安全问题。事实上,APT攻击发生的基本环境——网络,本身就是一个由计算机等元素构成的网络结构,这也不难联想到使用图数据结构来表达这些元素间的关系,再将攻击检测问题转化为图中的节点、边或子图分类任务。图嵌入是一个丰富且极具研究空间的问题,如何提高模型训练效率、创新模型构造方法、将图嵌入的思想应用于更多的生产实践,企业需要通过更进一步的研究,才能找到更好的答案。

参考文献

[1]Xu M. Understanding graph embedding methods and their applications[J]. SIAM Review, 2021, 63(4): 825-853.

[2]Cai H, Zheng VW, 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.

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132395

原文标题:浅谈图嵌入算法

文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器学习算法应用

    关于机器学习的相关算法。正版资源,免费看的。
    发表于 08-24 22:14

    经典算法大全(51个C语言算法+单片机常用算法+机器学十大算法

    试题学SPFA算法整体来说,机器学习算法可以分为 3 大类:0.1 监督学习 工作原理:该算法
    发表于 10-23 14:31

    机器学习——期望最大算法

    机器学习 - 期望最大(EM)算法
    发表于 05-21 14:31

    机器学习算法分享

    机器学习算法(1)——Logistic Regression
    发表于 06-09 13:30

    什么是机器学习? 机器学习基础入门

    是将提供的两个数字相乘。2。有了机器学习,我们就有了数据(输入)和答案(输出) ,并且需要计算机通过确定输入和输出如何以对整个数据集为真的
    发表于 06-21 11:06

    Spark机器学习库的各种机器学习算法

    本文将简要介绍Spark机器学习库(Spark MLlibs APIs)的各种机器学习算法,主要包括:统计
    发表于 09-28 16:44 1次下载

    机器学习算法分类

    机器学习起源于人工智能,可以赋予计算机以传统编程所无法实现的能力,比如飞行器的自动驾驶、人脸识别、计算机视觉和数据挖掘等。机器学习算法很多
    发表于 01-05 17:36 3289次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>分类

    最实用的的五种机器学习算法

    最实用的机器学习算法Top5 demi 在 周一, 04/01/2019 - 10:35 提交 本文将推荐五种机器学习
    的头像 发表于 03-24 16:14 6482次阅读

    17个机器学习的常用算法

    根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法学习方式。在机器
    的头像 发表于 08-11 11:20 1765次阅读

    机器学习算法的基础介绍

    现在,机器学习有很多算法。如此多的算法,可能对于初学者来说,是相当不堪重负的。今天,我们将简要介绍 10 种最流行的机器
    的头像 发表于 10-24 10:08 1901次阅读

    机器学习算法的5种基本算子

    自主决策的方法和插件,其中包含了一系列常用的基本算子。在本文中,我们将会介绍机器学习算法的五种基本算子。 一、 求值算子 求值算子是常用的机器学习
    的头像 发表于 08-17 16:11 1734次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器
    的头像 发表于 08-17 16:11 1064次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器
    的头像 发表于 08-17 16:11 1826次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器
    的头像 发表于 08-17 16:27 923次阅读

    机器学习有哪些算法机器学习分类算法有哪些?机器学习预判有哪些算法

    机器学习有哪些算法机器学习分类算法有哪些?机器
    的头像 发表于 08-17 16:30 1935次阅读