图结构数据最大的好处是它可以改善分析结果和性能。我们出于各种原因收集和存储数据,有时候只是为了回忆起之前记录的某些特定信息。例如,银行会记录你的每一笔信用卡交易,并且每个月会给你发一份账单,列出每笔交易和支付情况。对于这种列出和汇总交易的简单需求,使用数据表就足够了。
但现代企业需要利用数据做更多的事情,而不仅仅是执行这些基本任务。企业需要找到并抓住更多的创收机会,减少欺诈和浪费造成的损失,并降低风险。发现数据中的模式可以帮助企业满足所有这些需求。例如,随着时间的推移,你的信用卡消费模式是什么?发现这些模式能否将你与其他具有相似模式的人进行归类?企业如何利用社交网络关系为自己的利益服务,比如通过推荐来推广业务或根据家庭关系预测用户行为?企业有来自多个来源的客户信息。拼写错误、字符差异、姓名或地址的更改,以及客户故意使用不同的在线身份等因素都会导致数据差异,从而使得他们看起来像是多个不同的人。企业能否通过分析来检测和整合这些记录,从而判断是否存在信用卡欺诈或卡号被窃取的情况等?
上面说的分析是指发现模式。模式是以某种特定的方式构造的关系集合,这正是图的本质。一个模式可以包含结构和数量两个方面,例如对于“平均每个家庭有1.4只宠物”模式,结构部分(定义家庭的住房关系以及某些动物和家庭之间的关系)可以被编码为图模式查询。当然,图数据库和图分析平台也可以进行定量分析。本书的第二部分将帮助你理解和应用图分析。
机器学习利用过去的数据来检测可能有助于预测未来活动的模式。由于图能够自然地表示、存储和分析模式,因此我们有理由认为图有助于我们做出更好的预测。
传统的监督机器学习对数据做了一些假设,简化了分析,并且能够很好地适用于表格数据。首先,我们假设每个数据点都是独立的,即数据集中的每条记录在统计上都独立于其他记录。其次,在创建监督机器学习模型时,我们假设数据点是同分布的,即每个样本都来自同一分布。这两个假设合起来就是独立同分布概念。然而,现实生活中的事件并不总是符合独立同分布现象。
为了获得最准确的机器学习模型,我们需要考虑数据点之间的关系。例如,在构建人际互动的社交网络模型时,拥有共同朋友的人比没有共同朋友的人更有可能相互联系。图允许我们显式地利用那些拥有共同朋友的人对应的数据点之间的关系,因为我们不仅对独立的节点建模,还对关系建模。
有几种方法可以利用图数据改进机器学习。一种方法是使用选定的图算法或其他图查询来评估数据点(顶点)的关系特征。例如,交易图中各方的PageRank分数有助于预测欺诈行为。我们可以使用这些体现数据点之间关系的图特征来丰富现有的特征集,同时保留现有的模型训练方法。
图机器学习与传统的机器学习方法不同,它不需要在特征工程阶段手动选择和设计特征,而是可以通过学习图的结构自动从图中生成特征。这种所谓的“图表示学习”减轻了对特征工程的需求。它采用数据驱动的方法,因此不太依赖分析师的领域知识来设计有意义的特征。图表示学习有两种方式:图嵌入和图神经网络(GNN)。图嵌入技术为每个数据点生成关联向量。在预测任务中,我们可以将这些嵌入向量传递给下游机器学习算法。图神经网络类似于传统的神经网络,不同之处在于它在训练过程中考虑了图的连接。可以说,GNN能够执行其他神经网络所能做的所有任务,并且可以得到更好的结果。本书的第三部分将专门介绍图增强型机器学习。