大数据图数据库之离线挖掘计算模型

本节将常见的计算模型分为两类,一类是图编程模型,另一类是图计算范型。编程模型更多地面向图计算系统的应用开发者,而计算范型则是图计算系统开发者需要关心的问题。在本节中,关于编程模型,主要介绍以节点为中心的编程模型及其改进版本的GAS编程模型;关于计算范型,则重点介绍同步执行模型和异步执行模型。这几类模型已经被广泛采用在目前的大规模图挖掘系统中。

14.4.1以节点为中心的编程模型

以节点为中心的编程模型(Vertex-CenteredProgrammingModel)首先由Pregel系统提出,之后的绝大多数离线挖掘类大规模图计算系统都采用这个模型作为编程模型。

典型的图节点更新函数Function(vertex)基本遵循如下逻辑。

即首先从vertex的入边和出边收集信息,对这些信息经过针对节点权值的函数f()变换后,将计算得到的值更新vertex的权值,之后以节点的新权值和边原先的权值作为输入,通过针对边的函数g()进行变换,变换后的值用来依次更新边的权值。通过vertex的节点更新函数,来达到更新部分图状态的目的。

14.4.2GAS编程模型

GAS模型可以看作是对以节点为中心的图计算编程模型的一种细粒度改造,通过将计算过程进一步细分来增加计算并发性。GAS模型明确地将以节点为中心的图计算模型的节点更新函数Function(Vertex)划分为三个连续的处理阶段:信息收集阶段(Gather)、应用阶段(Apply)和分发阶段(Scatter)。通过这种明确的计算阶段划分,可以使原先的一个完整计算流程细分,这样在计算过程中可以将各个子处理阶段并发执行来进一步增加系统的并发处理性能。

这里假设当前要进行计算的节点是u,并以此为基础来说明GAS模型。

在信息收集阶段,将u节点的所有邻接节点和相连的边上的信息通过一个通用累加函数收集起来:

通过以上三个阶段的操作,可以定义以图节点为中心的高度抽象的GAS计算模型。在GAS模型中,节点的入边和出边在信息收集和分发阶段如何使用取决于具体的应用,比如,在PageRank计算中,信息收集阶段只考虑入边信息,分发阶段只考虑出边信息,但是在类似于Facebook的社交关系图中,如果边表达的语义是朋友关系,那么在信息收集和分发阶段则是所有边的信息都会纳入计算范围。

14.4.3同步执行模型

同步执行模型是相对于异步执行模型而言的。我们知道,图计算往往需要经过多轮迭代过程,在以节点为中心的图编程模型下,在每轮迭代过程中对图节点会调用用户自定义函数Function(vertex),这个函数会更改vertex节点及其对应边的状态,如果节点的这种状态变化在本轮迭代过程中就可以被其他节点看到并使用,也就是说变化立即可见,那么这种模式被称为异步执行模型;如果所有的状态变化只有等到下一轮迭代才可见并允许使用,那么这种模式被称为同步执行模型。采用同步执行模型的系统在迭代过程中或者连续两轮迭代过程之间往往存在一个同步点,同步点的目的在于保证每个节点都已经接受到本轮迭代更新后的状态信息,以保证可以进入下一轮的迭代过程。

14.4.4异步执行模型

异步执行模型相对于同步执行模型而言,因为不需要进行数据同步,而且更新的数据能够在本轮迭代即可被使用,所以算法收敛速度快,系统吞吐量和执行效率都要明显高于同步模型。但是异步模型也有相应的缺点:其很难推断程序的正确性。因为其数据更新立即生效,所以节点的不同执行顺序很可能会导致不同的运行结果,尤其是对图节点并发更新计算的时候,还可能产生争用状况(RaceCondition)和数据不一致的问题,所以其在系统实现的时候必须考虑如何避免这些问题,系统实现机制较同步模型复杂。

在讲解异步模型的数据一致性问题前,先来了解一下GraphLab论文提出的图节点的作用域(Scope)概念。对于图G中的某个节点v来说,其作用域Sv包括:节点v本身、与节点v关联的所有边,以及节点v的所有邻接图节点。之所以定义图节点的作用域,是因为在以节点为中心的编程模型中,作用域体现了节点更新函数f(v)能够涉及的图对象范围及与其绑定的数据。

在并发的异步执行模型下,可以定义三类不同强度的数据一致性条件(见图14-12),根据其一致性限制条件的强度,由强到弱分别为:完全一致性(FullConsistency)、边一致性(EdgeConsistency)和节点一致性(VertexConsistency)。

完全一致性的含义是:在节点v的节点更新函数f(v)执行期间,保证不会有其他更新函数去读写或者更改节点v的作用域Sv内图对象的数据。因此,满足完全一致性条件的情形下,并行计算只允许出现在无公共邻接点的图节点之间,因为如果两个图节点有公共邻接图节点,那么两者的作用域必有交集,若两者并发执行,可能会发生争用状况,而这违反了完全一致性的定义。

比完全一致性稍弱些的是边一致性条件,其含义为:在节点v的节点更新函数f(v)执行期间,保证不会有其他更新函数去读写或者更改节点v,以及与其邻接的所有边的数据。即与完全一致性条件相比,放松了条件,允许读写与节点v邻接的其他图节点的数据。在满足边一致性条件下,并行计算允许出现在无公共边的图节点之间,因为只要两个节点u和v不存在共享边,则一定会满足边一致性条件。

更弱一些的是节点一致性,其含义为:在节点v的节点更新函数f(v)执行期间,保证不会有其他更新函数去读写或者更改节点v的数据。很明显,最弱的节点一致性能够允许最大程度的并发,之所以说其限制条件较弱,是因为除非应用逻辑可以保证节点更新函数f(v)只读写节点本身的数据,否则很易发生争用状况,使得程序运行结果不一致。

如果对所有可能的并发执行顺序总是存在与序列执行完全一致的执行结果,在此种情形下,我们可以将这个并发程序称为是满足序列一致性的。

是否满足序列一致性可以帮助我们验证将一个顺序执行的程序改造为并行执行程序后的正确性。在并行的异步图计算环境下,以下三种情形是可以满足序列一致性的。

情形一:满足完全一致性条件。

情形二:满足边一致性条件,并且节点更新函数f(v)不会修改邻接节点的数据。

情形三:满足节点一致性条件,并且节点更新函数f(v)只会读写节点本身的数据。

上面三种情形可供应用者在设计算法时参考,以在并发性和结果正确性之间做好权衡:一致性条件越弱,则并发能力越强,但是争用状况发生概率越高,即结果可能越难保障正确性。如果应用能够明确节点更新函数的数据涉及范围,就可以根据上述几种情形来进行选择,更好地做到在保证结果正确性的前提下提高并发性能。

THE END
1.数据挖掘概念(AnalysisServices与以下关系图的突出显示相同,数据挖掘过程的第一步就是明确定义业务问题,并考虑解答该问题的方法。 该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题: 您在查找什么?您要尝试找到什么类型的关系? https://technet.microsoft.com/zh-cn/library/ms174949(en-us,sql.105).aspx
2.教程丨手把手教你做数据挖掘!(附教程&数据源)转载自:数据派THU(ID:DatapiTHU) 作者:宋莹 本文11836字59图,建议阅读30分钟。 本文介绍一个极其详尽的数据挖掘实例。 本文主要介绍基于集成学习的决策树,其主要通过不同学习框架生产基学习器,并综合所有基学习器的预测结果来改善单个基学习器的识别率和泛化性。 https://blog.csdn.net/eNohtZvQiJxo00aTz3y8/article/details/103146460
3.全球岛弧玄武岩数据挖掘——在玄武岩判别图上的表现及初步解释领域: 地质学; 关键词: IAB;MORB;OIB;数据挖掘;判别图;岛弧;后弧; 格式: PDF原版;EPUB自适应版(需下载客户端) 751310 开通会员更优惠,尊享更多权益 下载PDF版(2330K) 原貌显示 下载EPUB版 自适应显示 地质通报 2016年12期立即查看 > 相似文献 期刊硕士博士会议报纸 沙湾地区玄武岩对峨眉山地幔柱岩浆过程的https://wap.cnki.net/touch/web/Journal/Article/ZQYD201612001.html
4.学部组织第三批“课程思政”教改项目中期检查《数据分析与数据挖掘》 项目负责人:王鑫 《数据库原理》课程以中国共产党党史知识图谱数据库为案例,详细展示了数据库的完整设计实现流程,包括使用E/R图或UML图建立高层数据模型,设计关系数据表,使用SQL定义、查询和更新数据,建立视图、索引、约束、触发器及其他数据库对象等实践过程。 http://cic.tju.edu.cn/info/1040/3631.htm
5.商战数据挖掘:你需要了解的数据科学与分析思维数据科学的一条重要原则是,数据挖掘的流程可以分解为几个通俗易懂的环节。有些环节涉及信息技术的应用,如数据中模式的自动发现和评估,而有些则主要依赖数据分析师的创意、常识和商业知识。理解数据挖掘的整个过程,有助于组织数据挖掘项目,使它们更接近系统性的分析,而不是凭借运气和个人智慧的冒险行为。 https://www.ituring.com.cn/book/tupubarticle/28952
6.艺术档案数字化民间艺术的数字化涉及信息的采集、处理和储存,这其中包含采集设备的选择、数据处理方式、储存格式和数据库技术。但是截止到目前,并没有一个全国统一的数据加工规范或标准,无论在民间艺术普查阶段还是在名录项目申过程中,都不同程度存在一些问题,具体表现在:数据资料保存很好,但标示和描述很差,以至于使潜在的用户无法了解https://www.zboao.com/cgal/8068.html
7.数据挖掘分析流程图mob64ca12e8a030的技术博客数据挖掘是从大量数据中提取有用信息的过程,广泛应用于商业、科学研究、医疗等多个领域。为了有效地进行数据挖掘,我们通常遵循一个标准的分析流程。本文将通过该流程简要介绍数据挖掘的基本步骤,同时附上示例代码,方便读者理解和应用。 数据挖掘分析流程 图1展示了数据挖掘的基本流程,包括数据收集、数据清洗、数据探索、https://blog.51cto.com/u_16213399/11755555
8.DatawhaleAI活动第二期我们微调的目的,是定制一个专属的垂类大模型,实现这一点,需要我们所指定领域的优质数据集和一个选定的开源通用大模型 通俗来说, 微调 ,其实可以类比为给一个 高中生 ( 通用大模型 ),灌输 知识偏好 (数据集)塑造世界观,长大成 职业选手 (分化成对应的能力者, 垂类大模型 )。 https://www.bilibili.com/read/cv40098880
9.深度详解:对象检测和图像分割的数据探索过程数据挖掘对于图像分割和目标检测的需要 数据探索是很多机器学习过程的关键。也就是说,当涉及到目标检测和图像分割数据集时,没有直接的方法进行系统地数据探索。 在处理常规图像数据集和分割图像数据集时,有很多东西是可以区分的: 标签被强绑定在图像上。您必须非常小心对图像所做的任何操作,因为它可能破坏图像-标签-https://www.flyai.com/article/703
10.课程介绍了清洗大数据的新方式——可视化清洗的含义、过程和方法,并解释说明了4个免费清洗工具和3类商业化清洗工具。 第四章突破想象:大数据挖掘分析 大数据挖掘分析,可以帮助我们获得事先不知道的信息和知识。因此,本章节通过阿里的大数据挖掘应用案例和“西游记”讲述大数据挖掘的实际应用价值和难易程度,通过规范流程和四https://higher.smartedu.cn/course/62354d379906eace048f64f2
11.人工智能学习图片人工智能学习高清设计图片素材大全人工智能机器学习技术图AI神经网络VR屏幕数据挖掘 高清图片 远程学习创新教育概念 高清图片 人工智能思考大脑人工智能和机器学习过程第四轮工业革命 高清图片 学习屏幕显示网络教育或在线学习 高清图片 电子学习远程学习 高清图片 计算机学习语言数据 高清图片 人工智能机器学习技术图AI神经网络航空VR屏幕数据挖掘 https://699pic.com/image/rengongzhinengxuexi.html
12.[转载]一种基于深度神经网络的临床记录ICD自动编码方法提出一种基于多尺度残差图卷积网络的自动ICD编码技术,该技术采用多尺度残差网络来捕获临床文本的不同长度的文本模式,并基于图卷积神经网络抽取标签之间的层次关系,以加强自动编码能力。在真实医疗数据集MIMIC-III上的实验结果表明,该方法的P@k和Micro-F1分别为72.2%和53.9%,显著提高了预测性能。https://blog.sciencenet.cn/blog-3472670-1280973.html
13.知识图谱实体对齐:基于GNN嵌入的方法orionorionHGCN[3]在实体嵌入的过程中隐式地利用关系的表示来改善对齐过程。为了包含关系信息,HGCN同时学习实体和关系谓词的embeddings, 其整个包含embedding和align模块的框架如下: 本文提出的框架可分为以下的三个阶段: Stage 1使用GCN的变种Highway-GCN来将实体嵌入到统一的向量空间。这里直接将G1G1和G2G2视作一个图GaGahttps://www.cnblogs.com/orion-orion/p/16790701.html
14.为电商而生的知识图谱,如何感应用户需求?关系挖掘和本体构建通过文本增强图谱和外部数据的关联常识类推理规则的挖掘图推理的符号逻辑表示 阿里巴巴搜索事业部NLP&知识图谱团队欢迎自然语言处理、数据挖掘、知识图谱方向的优秀人才加入,共建阿里电商生态,有兴趣的同学可发简历至xique.llx@alibaba-inc.com。每天一篇技术文章,看不过瘾?关注“阿里巴巴机器智能”,发https://baijiahao.baidu.com/s?id=1610282079138678790&wfr=spider&for=pc
15.建筑平面图生成式设计,?HouseGAN++Mixlab建筑智能我们知道建筑平面图设计可以通过泡泡图的方式来表达,这一概念与知识图谱的形态是类似的。设计师对泡泡图的理解就是用来可视化思考建筑平面的功能、动线等,而程序员对知识图谱的理解是一种数据结构及算法。 非常类似的概念,在各自的领域里理解也有各自的侧重点。 https://cloud.tencent.com/developer/article/1829787
16.深度学习论文阅读图像分类篇(六):SENet《Squeezeand在训练过程中,我们遵循标准的做法,使用随机大小裁剪[39]到 224×224224×224 像素(299×299299×299 用于 Inception-ResNetv2[38]和 SE-Inception-ResNet-v2)和随机的水平翻转进行数据增强。 输入图像通过通道减去均值进行归一化。另外,我们采用[32]中描述 的数据均衡策略进行小批量采样,以补偿类别的不均匀分布。网https://developer.aliyun.com/article/1210043
17.“就在江苏”智慧就业服务平台2、有3年以上的大型PCB工厂任职经历,有2年以上的(沉铜、电镀、塞孔、化金、镍钯金、表涂、阻焊、图形蚀刻、层压等站别)工艺或过程质量任职经历 3、有面向对象的思维,能熟练使用工具绘制数据流图、时序图、类图等,具有一定的设计能力和良好的代码编写习惯 4、精通SqlServer、MySql或Oracle一种或多种数据https://www.js365job.com/recruitment/news/1537313427270025217.html
18.图挖掘技术在京东广告流量风控上的应用与实践目前初步设计出图挖掘算法平台的框架并在不断的进行优化和建设中,未来希望能够建设成为一个具有支持较多主流图挖掘算法的基础算法平台,能够支持 billion 量级、超大规模风控场景下的图挖掘应用需求,设计初期的图挖掘算法平台的架构(图5)。 图5:图挖掘算法平台主要包含六层,从下到上依次为数据层(由业务数据封装成的https://maimai.cn/article/detail?fid=1567807199&efid=OaWNb5R1UOE_ZaDNI3D1mg