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

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

3天内不再提示

图机器学习入门:基本概念介绍

颖脉Imgtec 2024-05-16 08:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

机器学习(Graph Machine Learning,简称Graph ML)是机器学习的一个分支,专注于利用图形结构的数据。在图形结构中,数据以图的形式表示,其中的节点(或顶点)表示实体,边(或链接)表示实体之间的关系。

本篇文章将从基础开始介绍什么是图,我们如何描述和表示它们,以及它们的属性是什么。

图论是在18世纪由欧拉引入的,用来解决著名的柯尼斯堡大桥问题:是否有可能只穿过七座桥中的每座桥一次。

0ed00a16-131b-11ef-9118-92fbcf53809c.jpg


什么是图?如何定义它?

图就是一组相互连接的对象。

一个图有一组结点N和边E, n是顶点的数目,m是边的数目。连接的两个节点被定义为相邻(节点1相邻或邻接4)。当我们称网络的大小N时,通常指的是节点的数量(链路或边的数量通常称为L)。

0ee7971c-131b-11ef-9118-92fbcf53809c.jpg

有向与无向

图可以是无向图或有向图:

无向图:边是无向的,关系是对称的。画边的顺序并不重要。

有向图:边是有向的(也称为有向图),顶点之间的边可以有方向,可以用箭头表示(也称为弧线)。

0efdf430-131b-11ef-9118-92fbcf53809c.jpg

图的基本性质

对于一个节点,我们可以将节点度(k)定义为与节点相邻的边,对于一个图,我们可以计算无向图的平均度k:

0f1fd7c6-131b-11ef-9118-92fbcf53809c.jpg

在有向网络中,定义了一个节点的入度(指指向该节点的边)和出度(指离开该节点的边),节点的总度是两者的和。我们称source节点为没有入度的节点,称sink节点为没有出度的节点。

我们可以计算平均度为:

0f410e6e-131b-11ef-9118-92fbcf53809c.jpg

这里的

0f647e76-131b-11ef-9118-92fbcf53809c.jpg

0f79d1e0-131b-11ef-9118-92fbcf53809c.jpg

邻接矩阵是表示图的另一种方式,其中行和列表示图节点,交集表示一个节点的两个节点之间是否存在链接。邻接矩阵的大小是n x n(顶点数)。如果Aij是节点i和j之间的链接,则Aij为1,否则为0,对于无向图,矩阵是对称的。可以看到在矩阵的对角线上没有1意味着没有自环(节点与自身相连)

0f920e72-131b-11ef-9118-92fbcf53809c.jpg

对于一个节点 i 计算一个节点的边(或它的度),沿着行或列求和:

0fa38030-131b-11ef-9118-92fbcf53809c.jpg

无向图中的总边数是每个节点的度之和(也可以是邻接矩阵中的值之和):

0fbecc64-131b-11ef-9118-92fbcf53809c.jpg

因为在无向图中,你要计算两次边(由于邻接矩阵是对称的,要计算两次相同的边),所以除以2

对于有向图,可以表示两个不同的邻接矩阵,一个表示入度,一个表示出度

0fda4eda-131b-11ef-9118-92fbcf53809c.jpg

对于一个节点,总边数是入度和出度之和:

0fefe196-131b-11ef-9118-92fbcf53809c.jpg

我们计算一个节点的入度和出度以及总边数:

100b13a8-131b-11ef-9118-92fbcf53809c.jpg

102c0810-131b-11ef-9118-92fbcf53809c.jpg

由于线性代数和图论之间存在联系,所以可以对邻接矩阵应用不同的操作。如果转置一个无向图的邻接矩阵,图是没有改变的因为是对称的,但如果转置一个有向图的邻接矩阵,边则进行了方向的转换。

104ab832-131b-11ef-9118-92fbcf53809c.jpg

这些矩阵非常是稀疏的,因为理论上一个节点是可以连接到所有其他节点,但这在现实生活中基本上不会发生。当所有节点都与其他节点相连时,我们称之为完全图。完全图通常用于理解图论中的一些复杂问题(连通性例子等)。

106f84be-131b-11ef-9118-92fbcf53809c.jpg

图的最大密度是一个完全图中可能关系的总数。实际密度是测量无向非完全图的密度:

10874fea-131b-11ef-9118-92fbcf53809c.jpg

理论上来说在社交网络中,每个人都可以连接到每个人,但这并没有发生。所以最终得到一个 70 亿行和 70 亿列的邻接矩阵,其中大多数条目为零(因为非常稀疏)。为什么要说这个呢?因为不是所有的算法都能很好地处理稀疏矩阵。

除了邻接矩阵,我们还可以将图表示为一个边的列表:

10a056a2-131b-11ef-9118-92fbcf53809c.jpg

但是这种方法对于机器学习分析是有问题的,所以就出现了一种常用的方法:邻接表,因为邻接表对大型和稀疏的节点很有用,它允许快速检索节点的邻居。

10c77e62-131b-11ef-9118-92fbcf53809c.jpg

加权图

图边还可以增加权值,边并不都是相同的,比如在交通图中,为了选择两个节点之间的最佳路径,我们将考虑表示时间或交通的权重。

10deecc8-131b-11ef-9118-92fbcf53809c.jpg

自循环

图的节点是可以连接到自己的,所以必须在计算总边数时添加自循环

10f605ca-131b-11ef-9118-92fbcf53809c.jpg

1117e7c6-131b-11ef-9118-92fbcf53809c.jpg

你也可以有一个多图,一个对节点有多条边


多重图

含有平行边的图称为多重图,或者说一个对节点有多条边

11369e14-131b-11ef-9118-92fbcf53809c.jpg

上面就是一些常见的图和表示方式,我们来做一个汇总

1154a076-131b-11ef-9118-92fbcf53809c.jpg

图的另一个重要参数是连接性(连通性)。每个节点都能被所有其他节点到达吗?连通图是指所有顶点都可以通过一条路径连接起来的图。不连通图是指有两个或多个连通分量的图

11735642-131b-11ef-9118-92fbcf53809c.jpg

最大的隔离的节点子集被称为“孤岛”(island)。知道图是连通的还是不连通的是很重要的,有些算法很难处理不连通的图。

这可以在邻接矩阵中显示,其中不同的组件被写成对角线块(非零元素被限制在平方矩阵中)。我们称连接两个“孤岛”的链接“桥”(bridge)

118dc4be-131b-11ef-9118-92fbcf53809c.jpg

如果图很小,这种视觉检查很容易,但对于一个大图,检查连通性是非常有挑战的。


双部图

我们上面所看到的图称为单部图,其中只有一种类型的节点和一种类型的关系

双部图是一种将节点划分为两个不相交集合(通常称为 U 和 V)的图。这些集合是独立的,U 集合中的每个节点都与 V 集合中的某个节点相连(每个链接只能连接一个集合中的节点到另一个集合中的节点)。因此,双部图是一种不存在 U-U 连接和 V-V 连接的图。有许多这样的例子:作者到论文(作者位于 U 集合,并且他们与他们撰写的论文即 V 集合相连)、演员(U)和他们参演的电影(V)、用户和产品、食谱和配料等。另一个例子是疾病网络,其中包括一组疾病和一组基因,只有包含已知会导致或影响该疾病的突变的基因才与该疾病相连。另一个例子是匹配,双部图可用于约会应用程序。对于一个有两组节点的双部图(U 有 m 个节点,V 有 n 个节点),可能的边的总数是 m*n,节点的总数是 m + n。

11b0bb4a-131b-11ef-9118-92fbcf53809c.jpg

双部图可以折叠成两个单独的网络,U 的投影和 V 的投影。在 U 的投影中,如果两个节点连接到同一个 V 节点,则它们相连(V 投影的原理相同)。

11c20de6-131b-11ef-9118-92fbcf53809c.jpg

如果需要,我们也可以构建一个三部图。总的来说,你可以拥有超过三种类型的节点,通常我们讲的是 k-部图。这种类型的图扩展了我们对双部图的看法。


异构图

异构图(也称异质图)是一种具有不同类型的节点和边的图。

11d831c0-131b-11ef-9118-92fbcf53809c.jpg


平面图

如果一幅图可以绘制成没有任何边相交的形式(对于图来说,如果可以以这种方式绘制,它被称为平面表示),则可以将其视为平面图。即使绘制时边相交,图也可以是平面的。看这个例子,这幅图可以重新绘制成平面表示。

1200e160-131b-11ef-9118-92fbcf53809c.jpg

为什么知道我们是否可以有平面表示很有用?最常用的一个例子是绘制电路版,要保证电路不会相交。

循环图与非循环图

线路 (walk) 是节点的交替序列(u-v 的线路是从 u 开始并在 v 结束的节点序列)。路径(path)是序列中节点各不相同的线路(u-x-v 是一条路径,但 u-x-u-x-v 是线路但不是路径)。循环图是路径开始和结束于同一节点的图,因为不同的算法都有循环问题(所以有时需要通过切断一些连接将循环图转换为非循环图)。我们可以将前馈神经网络定义为有向无环图(DAG),因为DAG 总是有一个结束点(也称为叶子节点)。

1211fe8c-131b-11ef-9118-92fbcf53809c.jpg


总结

在本文中,我们介绍了什么是图及其主要属性,尽管图看起来很简单,但可以实现无限的变化。图是节点和边的集合;它没有顺序,没有开始也没有结束。我们可以通过它们定义不同类型的概念和数据。图还可以简洁地描述数据的许多属性,并为我们提供关于不同主题之间关系的信息。例如,我们可以为节点和边分配权重和属性。在以后的文章中,我们将讨论如何在这些网络中使用算法(以及如何表示它们)。

作者:Salvatore Raieli

来源:DeepHub IMBA

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

    关注

    91

    文章

    41976

    浏览量

    303074
  • 人工智能
    +关注

    关注

    1821

    文章

    50511

    浏览量

    267739
  • 机器学习
    +关注

    关注

    67

    文章

    8570

    浏览量

    137421
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开关电源的基本概念和分析方法

    开关电源的基本概念和分析方法
    发表于 04-10 15:20 1次下载

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注
    的头像 发表于 01-07 15:37 411次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    单片机的入门准备

    计算机硬件知识,如计算机的简单组成原理,要知道CPU、总线等的一些基本概念; 3、学习C语言的编程知识,了解结构化语言的程序设计方法,懂一些常用的算法,比如冒泡排序、中值算法等; 以上是基础,有了这些
    发表于 12-22 07:39

    探索Xilinx Kria KR260机器入门套件:开启机器人应用开发新旅程

    探索Xilinx Kria KR260机器入门套件:开启机器人应用开发新旅程 在当今科技飞速发展的时代,机器人技术的应用越来越广泛。对于电子工程师来说,拥有一款优秀的开发套件至关重要
    的头像 发表于 12-15 14:45 677次阅读

    TVS二极管的基本概念和主要作用

    芝识课堂的全新内容又和大家见面啦!从本期开始,我们将用四节课为大家系统介绍一位在电路设计中默默奉献的“无名英雄”——TVS二极管。我们会从它的基本概念、工作原理,聊到如何为电路挑选合适的型号、布局
    的头像 发表于 11-28 09:27 2.7w次阅读
    TVS二极管的<b class='flag-5'>基本概念</b>和主要作用

    学习物联网怎么入门?

    联网的基本概念和技术是学习物联网的重要第一步。物联网是指互联网上的物品相互连接,通过网络实现信息交流和共享的一种技术。学习物联网需要了解物联网的基本概念,如物联网的架构、物联网的协议、
    发表于 10-14 10:34

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器学习的编码完全是另一回事。传统算
    的头像 发表于 09-15 10:27 1069次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>入门</b>:三种数据编码方法对比与应用

    如何在机器视觉中部署深度学习神经网络

    1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念
    的头像 发表于 09-10 17:38 1130次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b>神经网络

    USB/HID及其基本概念

    USB帧概念 如上图所示,在USB1.1规范当中,把USB总线时间按帧划分,每一帧占用时间是1ms; 每一帧内的最开始处是SOF token,在SOF内包含有11位的帧号; 每一帧的SOF帧号相比前
    的头像 发表于 08-20 10:32 3884次阅读
    USB/HID及其<b class='flag-5'>基本概念</b>

    AMD Kria KR260机器入门套件介绍

    市场对机器人的需求呈现快速增长态势。设计师和工程师必须打造集成机器学习和人工智能,且能安全可靠地与人类配合工作的机器人。
    的头像 发表于 08-14 09:44 1255次阅读

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集
    发表于 07-23 10:21

    电压波动与闪变的基本概念

    如果您是电力系统工程师、电气设备维护人员或者相关专业的学生,应该注意到了有关电能质量的国家标准GB/T 12326-2008是有关电压波动和闪变的,那这两个参数的考核意义是什么?国家标准规定这两个参数如何计算、测量和考核?这篇文章带您全面了解电压波动和闪变的基本概念、重要性以及国家标准的规定。
    的头像 发表于 07-22 14:10 3608次阅读
    电压波动与闪变的<b class='flag-5'>基本概念</b>

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3180次阅读

    群延迟的基本概念和仿真实例分析

    在高速数字通信和射频系统中,信号从发送端到接收端的传输过程中会遇到各种失真和畸变。群延迟(Group Delay)作为描述系统相位线性度的重要参数,直接影响着信号保真度和系统性能。本文将深入浅出地介绍群延迟的基本概念、应用场景,并通过仿真示例展示其在实际工程中的重要性。
    的头像 发表于 07-08 15:14 2980次阅读
    群延迟的<b class='flag-5'>基本概念</b>和仿真实例分析

    工业机器人与协作机器概念不同

    在自动化生产的浪潮中,工业机器人与协作机器人逐渐成为企业提升效率、优化产能的得力助手。但它们并非同一概念,在功能、设计与应用场景上有着显著差异。北京沃华慧通测控有限公司凭借深厚的技术沉淀,为不同需求的企业提供适配的
    的头像 发表于 06-03 13:15 1449次阅读
    工业<b class='flag-5'>机器</b>人与协作<b class='flag-5'>机器</b>人<b class='flag-5'>概念</b>不同