随身听第37期:使用 TigerGraph图技术增强机器学习,选自O’Reilly 电子书
大家好,欢迎收听本期的TigerGraph 随身听,不知道大家对于图技术增强高级分析和机器学习了解多少?今天我们来为大家介绍一本最新的专门介绍这方面的书——由O‘Reilly出版的《使用 TigerGraph图技术增强高级分析和机器学习》。很多小伙伴可能已经下载了这本书的早期版本,自去年4月12日首次发布以来,到今年9月份,历经六次重要更新,目前该书的最新版本已增加到223 页,内容包含:图基础、图机器学习、统一ID(实体解析)、客户360和客户旅程分析、初创公司投资分析、欺诈检测和反洗钱、个性化推荐等章节。还没有下载最新版的小伙伴,可以点击文中或者文末的下载链接,即可免费下载最新的电子书。你就是“尊贵的”首批读者啦。

首先跟大家介绍一下主导本书编写的作者:TigerGraph的机器学习和人工智能副总裁Victor Lee博士

Victor 博士一直致力于研究图数据挖掘,他在加州大学伯克利分校获得了电子工程和计算机科学专业本科学士学位,在斯坦福大学获得了电子工程专业硕士学位,在肯特州立大学获得了计算机科学博士学位。在加入TigerGraph之前,他曾担任约翰.卡罗尔大学的客座教授。Victor 博士有着极强的学术背景、数十年的行业经验、以及对产品质量与服务的管理经验。了解完作者,我们就开始今天的内容吧。

“连接、分析、洞察”通常被作为图分析的三大主题,而这也是贯穿这本O’Reilly电子书的三大主题。在本书的第一部分中,探讨了“连接”这个主题。它非常适合机器学习的前两个阶段:数据获取和数据准备。图数据库使从多个数据源提取数据到一个连接的数据库并执行实体解析变得非常容易。“分析“主题则是以具体的解决方案为例,从设计图schema到数据导入,再到查询和分析,一步步非常详细地介绍了如何通过TigerGraph强大的图分析能力对关联数据进行图分析。

但今天,我们将主要围绕“洞察”这个主题进行讨论。所以如果你想直接阅读完整版内容可以拉到本文底部点击“下载按钮”直接下载电子书。当然你也可以选择先听我们的介绍,再下载电子书慢慢学习。“洞察”主题部分提到我们要认真对待机器学习的核心:模型训练。在这本O’Reilly电子书的机器学习章节中,您可以详细地看到图如何增强机器学习的中心阶段,即特征提取和所有重要的模型训练。特征就是数据实体的特征或属性,比如一个人的年龄或一件毛衣的颜色。图提供了一个全新的特性领域,这些特性基于实体与其他实体之间的连接方式。这些独特的图特征为机器学习提供了更好的构建模型的原材料。

在完整学习机器学习章节后,您将能够掌握以下内容:
  • 了解图数据和分析可以改进机器学习的三种基本方法;
  • 指出哪些图算法已被证明对无监督学习有价值;
  • 提取图特征,以丰富监督机器学习的训练数据;
  • 描述神经网络如何被扩展到图学习;
  • 提供用例来说明图驱动的机器学习;
  • 选择适合你的图驱动的机器学习类型;

下面我们将和您一起探索以下几个方面:

1. 用于无监督学习的图算法

无监督学习与监督学习、强化学习共同构成了机器学习的三个主要分支。如果你想让你的人工智能系统学习如何完成一项任务,根据你定的类别对事物进行分类,或者进行预测,你就需要使用监督学习或强化学习。然而,无监督学习有一个巨大的优势,那就是可以自给自足,随时准备学习。与监督学习不同,你不需要知道正确答案。与强化学习不同,你不需要在公开试错中跌跌撞撞。无监督学习只是通过你所拥有的数据,并报告它所学到的东西。

我们可以把每一种无监督学习技术看作是一个对自己的能力和专业有信心的专家。这些专家会告诉我们一些以前没有注意到的信息。无监督学习算法可以通过分析你的客户和销售网络,告诉你什么是你的实际细分市场,其得出的结论可能不是事先预想的年龄和收入群体。但它分析的结果更忠于实际的数据,因此,更具参考价值。

无监督学习算法可以指出客户的行为是一个异常值,与正常值相差甚远,通过从你的数据而不是从你的先入为主的观念来确定 “正常值”。例如,一个异常值可以指出哪些客户可能会流失(选择竞争对手的产品或服务)。

我们从图数据中学习的第一种方式是通过应用图算法来发现数据的模式或特征。现在我们来看看其他更深入的图算法系列。这些新算法的特点是,它们寻找或处理模式。它们都可以被归类为图的模式发现或数据挖掘算法。

1.1 社区检测算法

当人们形成自己的社会关系时,他们会自然地分成不同的群体。毫无疑问,你在学校、工作、娱乐和在线社交网络中都观察到了这一点。我们形成或加入社区。然而,图可以描述任何类型的关系,所以,了解你的数据中其他类型的社区是很有价值的。用例包括:
  • 在一组高度互联的当事人、机构、地点、计算机网络之间发现异常交易,并考虑这是否可能是金融犯罪?
  • 寻找高度关联和相互依存的软件、法规、基础设施。它们相互联系,是好事,还是一个令人担忧的迹象,即一些组件无法像预期的那样独立存在?
  • 在科学领域(生态学、细胞生物学、化学),发现一组高度相互作用的物种/蛋白质是(相互)依赖的证据,并可以提出对这种依赖的解释。

社区检测可以与其他算法结合使用。例如,首先使用PageRank或中心度算法来找到特定的实体(例如,已知或可疑的罪犯)。然后找到他们所属的社区。你也可以调换顺序。先找到社区,然后计算该社区内有多少值得关注的当事人。

1.2 相似度算法

处于同一社区并不一定是相似性的指标。例如,一个诈骗团伙是一个社区,但它需要不同的人扮演不同的角色。此外,一个社区可以由不同类型的实体组成。例如,一个以运动队为中心的社区可以包括个人、销售球迷用品的企业、聚会活动、博客文章等。如果你想知道哪些实体是相似的,你需要一个不同的算法。参加相同活动和购买相同用具的球迷在直觉上似乎是相似的;为了确定这一点,我们需要一个定义明确的方法来评估相似性。

能够高效和准确地测量相似性是企业最重要的工具之一,因为它是个性化推荐的基础。我们都见过亚马逊或其他电子商务网站上的推荐,建议我们考虑一个产品,因为 “其他像你一样的人买了这个”。如果供应商对 “像你这样的人 “的概念过于宽泛,他们可能会做出一些很傻的推荐,让你感到厌烦。他们想利用他们知道的或推断的关于你和你的兴趣的几个特征来过滤掉各种可能性,然后看看类似的客户是怎么做的。这种相似性不仅用于推荐,也用于检测到特别关注的情况后的后续行动,比如安全漏洞或某种犯罪。我们发现了这个案例,那么有其它类似的案例吗?

仅仅找到相似的东西并不一定是机器学习。在本书中,我们可以详细了解基于图的相似度和邻域相似度,以及第三种类型——角色相似度,这可以被认为是无监督机器学习。角色相似度深入迭代地查看图,以完善其对图的结构模式的理解。

相似度值至少是其他三种机器学习任务的先决条件,即聚类、分类和链接预测。聚类是将相近的事物归为同一组。”相近 “不一定是指物理上的接近;它意味着……相似。

人们经常混淆社区和聚类。社区是基于连接的密度;而集群是基于实体的相似度。分类是决定一个项目应该被放在几个预定义的类别中的哪一个。一个常见的元方法是说,一个项目应该和那些有已知类别的类似项目放在同一类别中。如果一个东西看起来像鸭子,走路也像鸭子,那么我们就可以得出结论,它是一只鸭子。链接预测是通过计算来猜测一种关系,这种关系目前不存在于数据集中,但在现实世界中确实存在或将存在。在许多情况下,有类似邻居(环境)的实体很可能有类似的关系。这种关系可以是任何东西:人与人之间的关系,金融交易,或工作变动。调查员、精算师、赌徒和营销人员都试图做准确的链接预测。正如我们所看到的,相似性已经是众多机器学习任务的先决条件。

你可以阅读本书中机器学习章节,了解更多基于图的相似度、邻域相似度、Jaccard相似度、余弦相似度、角色相似度等。

1.3 频繁模式查找算法

数据科学家将此称为频繁子图挖掘任务,因为一个连接模式就是一个子图。这项任务对于理解自然行为和结构特别有用,例如消费者行为、社会结构、生物结构,甚至是软件代码结构。然而,它也提出了一个更困难的问题。大图中的 “任何和所有 “模式意味着有大量的可能出现的情况需要检查。如果要被认为是频繁的,一个模式必须至少出现T次。如果T足够大,那就可以在早期排除很多选项。本书中的例子将为你显示T是如何用来排除小模式的,这样就不需要考虑将它们作为更复杂模式的构件。

有许多先进的方法试图加快频繁子图的挖掘,但基本的方法是以1个边的模式开始,保留至少出现T次的模式,然后尝试连接这些模式,使之成为更大的模式。

2. 为有监督和无监督的机器学习提取图特征

在前面,我们展示了如何使用图算法来进行无监督的机器学习。在大多数这些例子中,我们把图作为一个整体来分析,以发现一些特征,如社区或频繁模式。在本节中,你将学习图如何提供额外的、有价值的特征来描述和帮助你理解你的数据。

图特征是一种基于图中连接模式的特性。一个特征可以是局部的——归属于单个顶点或边的邻域,或者是全局的——与整个图或子图有关。在大多数情况下,我们对顶点特征感兴趣,即一个顶点周围的邻域的特征。这是因为顶点通常代表了我们想用机器学习来建模的现实世界实体。

当一个实体(现实世界事物的一个实例)有几个特征,并且我们将这些特征按标准顺序排列,我们称这个有序的列表为特征向量。你可以将一个顶点的实体属性与它的图特征连接起来,形成一个更长、更丰富的特征向量。我们还将研究一种特殊的独立的特征向量,称为嵌入,它概括了一个顶点的整个邻域。

这些特征可以提供洞察力,但它们最强大的用途之一是丰富监督下的机器学习的训练数据。特征提取是机器学习的关键阶段之一。对于图来说,这一点尤其重要,因为传统的机器学习技术是为向量设计的,而不是为图设计的。因此,在机器学习中,特征提取也是我们将图转化为不同表示的地方。

在本书中,你将可以详细了解三个关键话题:域相关特征、域无关特征,以及图嵌入的发展。

3. 图神经网络

在大众媒体中,除非使用神经网络,否则就不是人工智能,除非使用深度学习,否则就不是机器学习。神经网络最初是为了模仿人脑的工作方式而设计的,但它们逐渐演变为解决计算机和数学的能力。主流的模型一般假设你的输入数据是在一个矩阵或张量中;目前还不清楚如何用相互连接的顶点表示和训练神经网络。然而,有基于图的神经网络吗?当然!

图神经网络(GNNs)是传统的神经网络,在图上增加了一些变化。就像神经网络有多种变化一样,GNN也有多种变化。将图本身纳入神经网络的最简单方法是通过卷积。

3.1 图卷积网络

在数学中,卷积是指如果一个函数以特定方式作用于另一个函数,那么两个函数如何影响结果。它经常被用来模拟这样的情况:一个函数描述一个主要行为,另一个函数描述一个次要影响。例如,在图像处理中,卷积考虑到了相邻的像素,以改善边界的识别,并增加人工模糊度。在音频处理中,卷积被用来分析和合成房间的混响效果。卷积神经网络(CNN)是一个在训练过程中包括卷积的神经网络。例如,你可以使用一个CNN进行面部识别。CNN会系统地考虑到相邻的像素,这是分析数字图像时必不可少的任务。

图卷积网络(GCN)是一种在学习过程中使用图遍历作为卷积函数的神经网络。对于图来说,我们希望每个顶点的嵌入都包括与其他顶点的关系信息。我们可以使用卷积的原理来实现这一点。

本书中,我们可以看到示例演示GCN如何在无监督学习模式下使用。这里没有提供训练数据或目标函数;我们只是将顶点的特征与它们的邻居合并。令人惊讶的是,你仍然可以从一个无监督的、未经训练的GCN中获得有用的结果。

GCN体系结构足够通用,可以用于无监督、有监督、半监督甚至强化学习。GCN和普通前馈神经网络之间的唯一区别是增加了将向量的特征与其相邻向量的特征聚合的步骤。

3.2 GraphSAGE

GCN基本模型的一个局限性是,它对顶点+邻居的特征做了一个简单的平均。我们想对这个卷积进行更多的控制和调优。此外,不同顶点的邻居数量的巨大变化可能会导致训练困难。为了解决这个限制,GraphSAGE被引入进来。与GCN一样,这项技术也结合了来自邻居的信息,但它的做法有些不同。为了使来自邻居的学习标准化,GraphSAGE从每个顶点采样固定数量的邻居。

在GraphSAGE中,邻居的特征根据选定的聚合函数被组合起来。该函数可以是加法,如GCNs。可以使用任何与顺序无关的聚合函数;具有随机顺序的LSTM和最大池的效果很好。一个GraphSAGE网络有k层,每层都有自己的权重集。

除了像GCN那样对全图进行训练外,你还可以只用一个顶点的样本来训练GraphSAGE。事实上,GraphSAGE的聚合函数使用同等大小的邻域样本,这意味着你如何安排输入并不重要。这种安排的自由度使你可以用一个样本进行训练,然后用不同的样本进行测试或部署。因为它可以从样本中学习,所以GraphSAGE进行了归纳学习。相比之下,GCN直接使用邻接矩阵,这迫使它使用顶点按特定顺序排列的完整图,用完整的数据进行训练,只为这些数据学习一个模型。

从样本中学习是否对你的特定图有效,取决于你的图的结构和特征是否遵循全局趋势,如一个随机子图看起来与另一个类似大小的子图相似。再比如,森林的一个部分可能看起来很像森林的另一个部分。对于一个图的例子,假设你有一个客户360图,包括一个客户与你的销售团队、网站、事件、他们的购买行为以及你能够获得的所有其他概况信息的所有互动。去年的客户是根据他们购买的总金额和频率来评定的。可以合理地预期,如果你用GraphSAGE与去年的图来预测客户的评级,它应该能很好地预测今年的客户评级。

下方的表总结了我们所介绍的GCN和GraphSAGE的所有异同点:

4. 比较图机器学习方法

本章涵盖了许多从图数据中学习的不同方法,但它只是触及了表面。我们的目标不是要提出一个详尽的调查,而是要提供一个框架,以便可以继续学习、发展。我们已经概述了以图为驱动的机器学习的主要类别和技术,描述了它们的特点和区别,并提供了简单的例子来说明它们是如何运作的。
这里,我们再简要回顾一下这些技术,不仅是总结,而且还希望为您提供一些指导,以帮助您选择正确的技术来从互联数据中学习。

4.1 机器学习任务的用例

下方的表汇集了每个主要学习任务的用例。这些都是你可能在任何数据上执行的基本数据挖掘和机器学习任务,但这些例子与图数据特别相关。
一旦你确定了你想执行什么类型的任务,就可以考虑可用的基于图的学习技术,它们提供什么,以及它们的主要优势和差异。

4.2 基于图的机器学习任务的学习方法

下方的表中列出了本章中我们遇到的图算法和特征提取方法,方便大家了解。

4.3 图神经网络的摘要和用途

本章介绍的图神经网络不仅在许多情况下直接有用,而且也是向更高级的数据科学家展示如何将任何神经网络技术转化为包括训练中的图连接的模板。关键是卷积步骤,它将相邻顶点的特征考虑在内。所有介绍的图神经网络方法都可以用于无监督或有监督的学习。

5. 小结

通过今天的分享,我们发现图和基于图的算法有助于机器学习的几个阶段:数据采集、数据准备、特征提取、降维和模型训练。 正如数据科学家所知,没有一项技术能够解决所有问题。 相反,您需要努力为您的工具包开发工具,培养良好使用工具的技能,并了解何时使用它们。在此,我们也欢迎大家试用TigerGraph的机器学习工作台(ML Workbench),借助机器学习工作台,数据科学家,人工智能和机器学习从业者可以快速开发图神经网络 (GNN) 模型。借助TigerGraph 的大规模并行图数据计算引擎和 55 种以上开源图算法,数据科学家可以无缝地启动TigerGraph内置的高性能图特征生成、采样和训练。使用TigerGraph 机器学习工作台建立的模型被证明比传统的机器学习方法更准确和有效,因为它包含了最先进的图神经网络功能。

TigerGraph GNN课程一直播:图数据切分与GNN模型数据加载实践

接下来,我们准备了一系列针对图神经网络的直播课程帮助大家学习了解和实践。最新一期将于12月8日上线,主题为“图数据切分与GNN模型数据加载实践”,欢迎大家报名观看。

3分钟认识TigerGraph

相关资源