Neo4j是业界最早推出图算法的厂商,图算法由早期的ALGO 3.5升级为了GDS 1.0,预示着Neo4j从算法平台向图数据科学平台的演进。
1. 是什么在驱动业务创新?
Neo4j的业务创新不是由数字驱动,而是在深入分析各个业务环节间关系的基础上,进行相应的业务变革,从而带来业务创新,因此关系是行为的最强预测因素。
例如:零售商超公司可以通过分析客户与产品间的关系进行产品推荐,通过分析商品门店与供应商之间的关系来优化供应链等。这些都是分析关系驱动业务的实际案例。而图数据库则是处理关系的最佳技术。
2. 什么是图数据科学?
顾名思义,图数据科学是一门综合了图查询、图算法、图可视化,在事物、关系上进行数据科学类研究和分析的技术。传统的关系数据库不擅长处理关系,图模型是建立在关系之上的,因此借助图数据科学可以获得更好的数据分析和预测的结果。
现有的ML方法和技术主要基于维度和指标特征建立的特征工程,忽略了数据中的网络/图结构。图机器学习不仅可以识别个体特征,还能识别个体所处的网络特征,基于关系进行建模和预测。图可以为机器学习模型提供高度可信和精准的特征预测。
例如信用卡异常用户的检测,可以由基于特征模式的传统机器学习的欺诈检测系统完成。比如一个超大额的交易或是同一时间超远异地交易等,这种个体的异常特征很容易被传统的欺诈检测方法识别到。如果欺诈者在实施欺诈的过程中仍然表现出正常行为,又该如何进行检测?研究表明70%以上的看似正常行为的欺诈都是团伙欺诈,比如互相套用真实身份信息做一些看似正常的交易,这种团伙欺诈就很难被传统的欺诈检测系统发现。而图数据科学正是识别这类团伙关系的最佳方案。
Neo4j图数据科学平台是由图数据库、图算法库、可视化分析组件、各类连接系统等组成的技术平台。
① Neo4j Database
提供了原生的图存储、免索引链接技术,保障各类分析查询场景下的高性能。也是支持ACID的交易型数据库,保障数据的准确性、持久性、一致性、可以用于交易生产。
② GDS Library
支持各类算法和机器学习工作流的库。
③ Bloom
图形可视化的探索工具,业务用户无需学习图查询语言就可以通过鼠标的点选和拖拽完成对图的分析和探索。
④ Connectors
提供多种连接器,如果用户习惯用Python完成ML的开发,可以使用Python去调用各种图算法的功能来完成开发。
⑤ AuraDS
AuraDS是新上线的数据科学的云端方案,可以借此完成图分析的相关工作。
① 提供最健全的图算法和ML方法
计算有关拓扑结构和连接性的指标
建立预测模型以扩展您的图
高度并行化,可扩展到百亿级的节点
② 高效和灵活的分析工作空间
Neo4j的图算法需要将数据投影到内存中去运行,这样做的好处是可以拥有一个高性能的方案去运行各种图算法。
Neo4j的图算法还可以在运行过程中去丰富内存图的内容,比如可以将中间结果写回到内存图被其他的算法反复地调用。
GDS库包含60+图科学算法,主要有以下几大类:
寻找网络中的最短路径等路径发现的动作。
根据网络图中的拓扑结构寻找最有影响力的节点和它们的作用,常用来推断群体中的动态。
寻找网络中节点所形成的社区集群,揭示集群的紧密型、节点集群的孤立性和结构。
确定一对节点的接近程度,考虑节点的接近性及结构元素来预测未观察到的或者未来的关系。
根据网络图中的拓扑结构寻找相似节点。
将图中的节点和关系通过低维向量或数组的方式表示,这些向量就可以被表示为嵌入,作为机器学习的输入。
图算法在实际应用中的演进有如下几个阶段:
在关联数据中搜索特定的关联模式。例如构建企业级的应用知识图谱,借助知识图谱回答特定的问题。
使用无监督的机器学习技术识别图中的关联、异常值和趋势。例如了解图中最重要的是什么、哪里有相似性、应该在哪步做调查。
使用嵌入来学习图中那些可能之前不知道的重要特征,训练图内监督机器学习模型来预测链接、标签和缺失数据。例如哪些客户会购买哪些商品、哪些交易存在欺诈行为。
这里以账户持有人知识图谱为例,对比图查询、图算法、基于图的特征工程进行金融欺诈检测的功能。
① 图查询
关联分析能够提高检测的效率和精确度,例如进行可以模式的搜索和匹配等。
例如:可疑账户与黑名单账户之间是否有连接、距离有多远?账户之间有没有异常的共同点、共享关键信息?
② 图算法
借助无监督的学习对欺诈进行识别。通过连通分量算法将图切分成彼此不连通的子图;通过页面排行算法计算节点在网络中的影响力,去发现某些重要程度高的节点有什么样的特征;通过Louvain模块度算法识别频繁出现的集群/社团;用Jaccard相似度算法判断账户之间的相似程度。
③ 基于图的特征工程
无需使用多个算法来描述图结构和特征,通过图嵌入来完成对于图结构表示,使用图结构进行预测。
4. 图嵌入
通过对图进行嵌入学习,以及在图中进行有监督的机器学习,来提升数据预测精准度。图嵌入就是把图进行变换,识别出之前并不了解的一些关键的模式和信息。
图(网络)往往是高维的、难以处理的;图嵌入算法作为降维技术的一种将图的节点”嵌入”到一个D维向量空间中,从而方便机器学习算法实现诸如分类的操作。
好的图嵌入过程会将连接的(或者类似的)节点在D维空间中集聚在一起,而没有连接或者差异很大的节点则分布很远。
如上图中生成的一个二维空间中,显示了不同颜色的点的位置,可以看到其分布和聚集,可以用来进一步的分析。
图嵌入分为下面三类:
节点嵌入:描述每个节点的连接信息。
路径嵌入:在图上遍历的过程。
子图嵌入:将一个子图嵌入成向量。
GraphSAGE是目前流行的一种能够利用节点的属性信息高效产生未知节点嵌入表示的一种归纳式(inductive)学习的框架。
① BANKING CIRCLE - 欺诈检测
300%+欺诈检测增长
10%的正面升级(行业是<1%)
大约150%支付流量增加
大大减少了欺诈误报的总数量
② AstraZeneca – 药品研发
分析药品研发中收集的百亿条数据关系和模式
根据病患的经历找到相似案例
预测最有可能受益的病人
③ Meredith – 客户360
1621%接触点长度
500%每个访问实体访问时间
20-30%客户偏好了解和识别
④ OrbitMI - 物流运输
亚秒级的海上航线规划
减少全球碳排放6万吨
为客户带来12-16Million的ROI
03 Neo4j GDS 2.0版新特性
Neo4j GDS不仅提供了业界最广泛的图算法和各类API,还自我定位为一个图数据科学平台。其发展围绕着以下四个方面不断演进:
① 简单易用
从加载任何来源的数据,到使用图数据科学及服务的云平台,图数据科学都很容易。
② 为数据科学家量身打造
连接数据的便利性和统一的工作空间,为数据科学家回答棘手业务问题提供了简易的平台。
③ 企业级平台
分析数以千亿计的节点和关系,从POC到生产支持。
④ 数据生态
图数据科学与你最喜欢的工具一起工作,本地连接器使其他数据专家能够轻松参与其中。
仍然围绕上面提到的四个方面:
① 简单易用
图数据库科学及服务(AuraDS)
统一的ML Pipelines
简单地数据投影
提示&警告
② 为数据科学家量身打造
原生Python客户端
65+预警的算法
用于加载、分析和回写的单一API
生产环节保障
③ 企业级平台
图备份/恢复
集群兼容性
压缩算法改进
自动ML Ops
④ 数据生态
Neo4j Spark Connector
Neo4j BI Connector
Neo4j Kafka Connector
Datalku
Knime
AuraDS产品特性
官方链接:www.neo4j.com/aurads
AuraDS是一个纯云端针对图数据科学的平台,下方的特性可以总结为两点:开箱即用、零维护。
ML Pipelines提供了一组基于Dataframe的统一高级API,帮助用户创建和调整ML Pipelines。
以Link Prediction为例,将步骤简化为统一格式的Pipeline:
让Python用户或其他平台来对Neo4j图算法进行调用
可以直接在read replica的节点上部署GDS,同时也支持数据的回写,大大减少数据写入到写节点的工作
这里指运行算法的内存图的恢复和备份。
Neo4j可以与ingest、process、analyze、productionize、ML多个平台的应用使用连接器进行交互。