TigerGraph发布具有50+种图算法的增强型图数据科学库

TigerGraph发布具有50+种算法的增强型图数据科学库
当我完成关于图算法的博士研究时,从没想过会以此为职业。令我欣慰的是,数据分析行业目前已将图分析囊括其中。市场对图分析需求的爆炸式增长也令人振奋。目前,大型企业正在部署大型图以从数据中获得更深入的洞察。随着人们对图的兴趣不断升温,对其用例和部署不断了解,该领域的技术已日趋成熟,因此关注图数据科学已变得极具意义。

图数据科学

什么是图数据科学?简单来说,它是数据科学的一个分支,是构建和分析图数据的一项技术。它包括数据建模和数据管理,以及数据分析方法,从简单的数据统计查询,到揭示更复杂模式的图算法,再到形成预测模型的机器学习方法。

TigerGraph凭借其实时可扩展的图数据库,成为了图数据管理的领跑者。图算法从一开始就是TigerGraph的核心技术之一。过去,TigerGraph的算法集称为 GSQL 图算法库,因为GSQL 是TigerGraph的分析友好型查询语言。最近,我们在大力普及开箱即用的图数据科学和图机器学习,其重要举措之一即对算法库进行微调。为彰显这一变化,我们将其更名为图数据科学库。

新的图数据科学库,新在何处?

TigerGraph’s Graph Data Science Library v1.0包含了几大重要改进和补充,但这只是一个开始。最明显的变化是增加了20多种新算法,使其总数达到50多种,其中还包含一些新的算法类别。以下对新版本做个简单的概述:
● 算法库集合:增加了20多种新算法,包括图机器学习的嵌入算法。
● 算法库的结构和管理:GitHub上有我们持续更新的开源算法库。我们改进了呈现方式,将算法按类别分组,每种算法放在具有README和Change Log文件的专属文件夹中,repository将使用标签来识别主要版本。
下面一起看看这些新算法及其用例:

图嵌入

动词“嵌入”是指将高维数据转换为低维表示,同时准确保留其最重要的特征。名词“嵌入”是一种低维度的展现方式,我们三维星球表面的二维地图就是一个例子。图是高维的,每种类型的关系代表另一个维度,这种高维性是它们如此擅长描述复杂关系的部分原因。可惜的是,传统的机器学习技术旨在处理低维的表格或矩阵数据。但现在有了图嵌入技术!

图嵌入算法(严格来说是节点嵌入算法)将相互连接的节点网络转换成一组独立的嵌入向量,每个顶点对应一个向量。尽管边的连接被删除,但原图中具有相似邻域的节点将具有相似的嵌入向量。因此,你可以轻松用顶点嵌入执行相似度和聚类,反过来又可以用来训练模型以预测分类。

TigerGraph的图数据科学库涵盖两种主流图嵌入算法:node2vec和FastRP。Node2vec能生成准确的嵌入,但在较大的图上可能运行较慢;而FastRP运行得快(得多),但其准确性较差,这一点从其命名就能看出。

中心性算法

中心性算法有助于识别哪个实体最具影响力。不同的中心性算法以不同的方式框定问题,所以配置一个完备的算法库,意味着你可以应对更多的数据应用。我们通过增加文章排名、特征向量中心性、度中心性和影响最大化来扩大我们的算法集。

社区算法

社区算法是我们最受欢迎的算法类型之一,它们常用于反欺诈、个性化推荐和检测社交群体。它们能执行复杂的任务,准确判断哪一组相邻的节点应该被视为“社群”,因为它们具备相对较高的组内连接。我们增加了SLPA(Speaker-listener Label Propagation Algorithm,一种社区发现算法),以应对社区重叠的情况。我们还改进了现有社区算法的性能,增加了两个改良版本。

相似度算法

相似度算法也非常有用,适用于推荐和分类任务。我们增加了四种新算法:近似最近邻搜索算法(Approximate Nearest Neighbors)、欧氏相似度(Euclidean Similarity)、重叠相似度(Overlap Similarity)和皮尔森相似度(Pearson Similarity)。

更多算法

我们增加了一个新类别:拓扑链接预测(Topological Link Prediction),也称结构相似性算法(Structural Similarity)。这些算法相对简单,但它们有助于完善我们的产品。我们还增加了Adamic Adar,共同邻居算法(Common Neighbors),优先链接算法(Preferential Attachment),资源分配算法(​​Resource Allocation),相同社区算法(Same Community)和全邻域算法(Total Neighbors)等测量算法。

最后,我们增加了A*算法和随机游走路径算法。A*(读作“A星”)算法用于估计到达目的地或目标的总成本。若你已经完成了部分旅程,根据你所处位置,通过一个探索步骤,就能估计剩余路程所需成本。

为何选择TigerGraph?

在不断改进的同时,我们依然特立独行,坚持以下三项原则:开源、数据库内运行、可扩展的高性能。这三项原则均以提升用户体验为导向。

开源

TigerGraph的算法对用户免费开放,并虚心接受批评和改进建议。这也意味着您可以根据自己的喜好定制算法,这是我们最受欢迎的功能之一。您不必受限于默认的功能,可以自行调整参数、过滤和输出格式。您可以在开发者社区分享您的改进和补充意见,也可以给我们发邮件到tgds-feedback@tigergraph.com或者发起Git pull请求。

我们的算法是用GSQL写的。GSQL被称为图数据库的PL/SQL,也即过程查询。我们把最成功的数据库查询语言SQL改编,使其适用于图遍历,加之其对循环、条件语句、变量和参数等程序的支持,然后将其置入可随时存储和调用的命名程序:这就是GSQL。它还有累加器和并行处理的功能!TigerGraph引擎可通过大规模的并行处理加速运行,GSQL累加器能使并行遍历和聚合变得轻而易举。

GSQL还可通过用户定义函数(UDFs)进行扩展。您是否曾需要某个特殊功能,但却难以执行或不支持?这时您可以用C++编写一个自定义功能。一些图数据科学算法也会使用UDFs。

数据库内运行

没错,TigerGraph是一个数据库!现在市面上有一些图分析或图可视化工具,但它们都不像TigerGraph那样是专为数据管理和事务处理而设计的。我们是一个企业级分布式数据库,因此能处理各种操作和分析用例。我们的优势之一是能够在同一个平台上处理多种类型的工作负载。您能在可更新的数据库中运算图算法,这意味着您分析的是最新数据,无需导出至单独的托管副本,您甚至可以根据算法的结果更新数据库。

可扩展性

TigerGraph可根据用户需求不断扩展。无论您当前的数据集是大是小,它都能相应扩展。TigerGraph采用分布式数据库架构构建,拥有大规模并行处理能力。

未来展望

图数据科学库未来将持续增长和完善。TigerGraph想为每个用户提供高性能和易用的图数据科学和机器学习,而图数据科学库只是此愿景的一部分。node2vec和FastRP这样的图嵌入算法是利用图洞察来开发更精确更强大的机器学习的一种方法。然而,由于它们将图转换为线性数据,这过程中我们仍会损失一些东西。
图神经网络(GNNs)在训练过程中使用图结构,将数据分析和机器学习完美结合在一起。Kipf和Welling里程碑式的GCN研究论文虽然只发表了五年,但它已改变了数据科学家思考图的方式。许多其他版本的GNN紧随其后,现在已有PyTorch Geometric和 DGL两个主要的开源库面向公众开放。

好消息

您现在可以构建数据管道,以TigerGraph为数据源,在PyTigerGraph或REST APIs的帮助下导出数据,在您喜欢的平台上运行GNN,训练模型。为改善性能,我们也于近期推出了TigerGraph Graph+ML集成工作台。

想象一下,有这样一个Jupyter-style的数据科学平台,它包括了模型开发的关键阶段—图数据和图机器学习!只需在TigerGraph中准备您的数据,将其无缝传输至您的训练环境,就能从您的图机器学习模型中择优训练和调整。

我们的客户急需数据库内神经网络,以补充现有的数据库内算法。我们也听取了他们的意见,计划在2022年上半年推出数据库内的机器学习(Machine Learning,ML)培训。数据库的ML培训可以简化数据管道,节省导出数据和运行其他系统的时间和成本。

TigerGraph的图数据科学团队将普及推广更多现有和新的功能:教程和用例演示能帮助您入门图算法、图特征工程和图机器学习。同时我们将继续开发新功能和服务,更多的产品即将发布,敬请期待。我们很乐意聆听您的想法和反馈,如有任何问题,请发送邮件到至tgds-feedback@tigergraph.com。

该如何开始使用TigerGraph ?

如果您想马上开始使用TigerGraph,您可以免费下载我们的软件产品。如果您对我们的产品感兴趣,想观看我们的使用演示,探讨如何解决您的数据问题,您也可以直接联系我们的销售团队作进一步的了解。

相关资源