在本节中,将涵盖以下主要内容:
- 为什么使用图?
- 为什么学习图?
- 为什么使用图神经网络?
为什么使用图?
首先需要回答的问题是:为什么对图感兴趣?图论是对图进行数学研究的学科,它已经成为理解复杂系统和关系的基本工具。图是一种将节点(也称为顶点)和连接这些节点的边的集合的可视化表示,提供了一种表示实体及其关系的结构(见图1.1)。
图1.1 - 具有六个节点和五条边的图的示例
通过将复杂系统表示为实体和相互作用的网络,我们可以分析它们之间的关系,从而更深入地了解它们的基本结构和模式。图的多功能性使它们成为各个领域的热门选择,包括以下领域:
- 计算机科学:图可用于对计算机程序的结构建模,从而更容易理解系统的不同组件之间的交互方式。
- 物理学:图可用于模拟物理系统及其相互作用,例如粒子之间的关系及其属性。
- 生物学:图可用于模拟生物系统,例如代谢途径,作为相互连接的实体网络。
- 社会科学:图可用于研究和理解复杂的社交网络,包括社区中个体之间的关系。
- 金融学:图可用于分析股市趋势和不同金融工具之间的关系。
- 工程学:图可用于建模和分析复杂系统,例如交通网络和电力网络。
这些领域自然地展示了一种关系结构。例如,图是社交网络的自然表示:节点是用户,边表示友谊关系。但是,图的多功能性使它们也可以应用于关系结构不太自然的领域,从而开启新的见解和理解。
例如,图像可以表示为图,如图1.2所示。每个像素是一个节点,边表示相邻像素之间的关系。这使得可以将基于图的算法应用于图像处理和计算机视觉任务。
图1.2 - 左:原始图像;右:该图像的图表示
同样,句子可以转化为图,其中节点是单词,边表示相邻单词之间的关系。这种方法在自然语言处理和信息检索任务中非常有用,其中单词的上下文和含义是关键因素。
与文本和图像不同,图没有固定的结构。然而,这种灵活性也使得处理图更具挑战性。缺乏固定的结构意味着它们可以具有任意数量的节点和边,没有特定的排序。此外,图可以表示动态数据,其中实体之间的连接关系可以随时间变化。例如,用户和产品之间的关系可以随着它们彼此的互动而发生变化。在这种情况下,节点和边会根据现实世界中的变化进行更新,例如新用户、新产品和新关系。
在下一节中,我们将深入了解如何使用机器学习处理图数据,以创建有价值的应用程序。
为什么学习图?
图学习是将机器学习技术应用于图数据的研究领域。这个研究领域涵盖了一系列旨在理解和操作图结构化数据的任务。图学习有许多任务,包括以下内容:
- 节点分类是一个任务,涉及预测图中节点的类别。例如,它可以根据其特征对在线用户或商品进行分类。在此任务中,模型根据一组带有标签的节点及其属性进行训练,并使用这些信息来预测未标记节点的类别。
- 链路预测是一个任务,涉及预测图中节点对之间的缺失连接。这在知识图谱补全中非常有用,目标是完成实体及其关系的图。例如,它可以用于根据社交网络连接(朋友推荐)预测人与人之间的关系。
- 图分类是一个任务,涉及将不同的图分类为预定义的类别。其中一个例子是在分子生物学中,分子结构可以表示为图,目标是预测它们的药物设计属性。在此任务中,模型根据一组带有标签的图及其属性进行训练,并使用这些信息来对未见过的图进行分类。
- 图生成是一个任务,涉及根据一组期望的属性生成新的图。其中一个主要应用是为药物发现生成新的分子结构。这是通过训练一个模型来生成新的、未见过的结构来实现的。生成的结构可以根据其作为候选药物的潜力进行评估和进一步研究。
图学习还有许多其他实际应用,可以产生重大影响。其中最著名的应用之一是推荐系统,图学习算法根据用户之前的互动和与其他项目的关系推荐相关项目。另一个重要的应用是交通预测,图学习可以通过考虑不同路线和交通方式之间的复杂关系来改进旅行时间的预测。
图学习的多功能性和潜力使其成为一个令人兴奋的研究和开发领域。图的研究近年来取得了快速发展,这得益于大型数据集的可用性、强大的计算资源以及机器学习和人工智能的进步。因此,我们可以列举出四个主要的图学习技术家族[1]:
- 图信号处理,将传统信号处理方法应用于图,例如图傅里叶变换和谱分析。这些技术揭示了图的固有属性,如其连接性和结构。
- 矩阵分解,寻找大型矩阵的低维表示。矩阵分解的目标是识别解释原始矩阵中观察到的关系的潜在因素或模式。这种方法可以提供数据的简洁和可解释的表示。
- 随机游走,是一种用于模拟图中实体移动的数学概念。通过在图上模拟随机游走,可以收集有关节点之间关系的信息。因此,它们经常用于为机器学习模型生成训练数据。
- 深度学习,是机器学习的一个子领域,专注于具有多个层的神经网络。深度学习方法可以有效地将图数据编码和表示为向量。然后可以在各种任务中使用这些向量,具有出色的性能。
值得注意的是,这些技术并不是相互独立的,在应用中它们经常重叠。实际上,它们经常结合在一起形成混合模型,以利用每种技术的优势。例如,矩阵分解和深度学习技术可能会结合使用,以学习图结构化数据的低维表示。
当我们深入研究图学习的世界时,了解任何机器学习技术的基本构建块至关重要:数据集。传统的表格数据集,如电子表格,将数据表示为行和列,其中每行表示一个数据点。然而,在许多实际场景中,数据点之间的关系与数据点本身一样重要。这就是图数据集的用武之地。图数据集将数据点表示为图中的节点,将数据点之间的关系表示为边。
让我们以图1.3中显示的表格数据集为例。
图1.3 - 家谱作为表格数据集与图数据集
该数据集表示有关一个家庭的五个成员的信息。每个成员有三个特征(或属性):姓名、年龄和性别。然而,表格版本的数据集不显示这些人之间的联系。相反,图版本用边表示它们,这使我们能够理解这个家庭中的关系。在许多情况下,节点之间的连接对于理解数据至关重要,这就是为什么以图形形式表示数据越来越受欢迎的原因。
现在,我们对图机器学习和涉及的不同类型的任务有了基本的了解,我们可以继续探索解决这些任务的最重要方法之一:图神经网络。
具体请见下篇:【图卷积神经网络】1-入门篇:为什么使用图神经网络(下)