10-graph-gen 图机器学习之图生成模型

图深度生成模型 deep generative models for graph

回顾上一节课中的图编码,图卷积等

今天,来学习图深度解码,也就是反编码,最终输出一个图结构


Problem of Graph Generation图生成需要解决的问题

给定一个真实图,生成一个合成图

那么,什么才是好的生成模型?

图生成的意义

生成→深入探索图行程的过程

异常检测

预测——从过去预测未来

新网络的仿真

图填充

如果。。。场景??

图生成的任务:

真实图的生成

目标导向图的生成,例如分子生成

为什么如此吸引人?

药物分子发现

发现一个全新的结构

网络科学:真实网络的空模型?

图生成为什么如此有难度:

大的且多变的输出空间  n^2

非唯一的表达,因为如果输出是邻接矩阵,那么根据节点的顺序不同,矩阵也是不同的

复杂的依赖→边的形成有远程的依赖关系


ML Basics for Graph Generation

图生成的机器学习基础

输入与输出:

输入:G

目标:学习G的分布;生成G?

起初:假设我们有图的数据集{xi}

p_data(x):数据分布,是未知的,但是我们可以抽样知道一些

p_model(x;θ) :参数为θ的模型,用于近似p_data(x)

目标:

让p_model(x;θ) 趋近于 p_data(x)

可以从p_model(x;θ)中抽样,形成新图

核心思想:最大似然

从p_model(x;θ)中抽样,也就是,输入一个噪声,输出一个近似的网络。采用神经网络的方式

深度生成模型的分类,本节采用的是自动回归模型,该模型是基于过去预测未来

自动回归模型:

p_model(x;θ)用于密度估计和抽样

应用链式规则:联合分布是条件分布的积


GraphRNN 生成真实图谱

与RNN的思想同源,通过节点和边序列的迭代输入生成一个图

那么,首先,需要将图看做序列

一个图,当顺序固定时,可唯一通过序列标识?

那么,序列有两个层次:节点层次(添加节点,一个一次);边层次(从现有节点中添加边)

总结:一个图+节点顺序=一个序列

节点顺序是虚机选择的

因此,将图生成,转变为序列的生成

因此,需要两个步骤的模型:

生成新节点,生成新边

方法:使用RNN

GraphRNN:两个层次的RNN

node-level rnn生成初始状态,可应用于edge-level rnn

edge-level rnn为新节点生成边,探后更新node-level rnn的状态

rnn的基础

用于序列生成的RNN

如何初始化s0,x1?什么时候停止生成?→使用开始符和结束符

yt=前面t-1个的生成

rnn的每一步都输出一个概率向量

从该向量中抽样,并喂入下一步

测试时,

训练时:y是边,采用教师模式,即输入是真实的数据用于修正模型

损失函数:交叉式

训练的过程

节点1已经在网络中了,现在添加节点2

edge rnn预测节点1是否与节点2关联;

edge rnn得到监督结果,并输入修正;

新的边用来更新node rnn;

预测节点3与节点2是否关联

edge rnn得到监督结果,并输入修正;

新的边用来更新node rnn;

节点4与其他点不相连,停止生成

回传,梯度更新

测试

小结:

让graphrnn更易于管控

每个节点可以跟前面的任一节点相连

边生成的步骤太多:需生成一个全的邻接矩阵;负责的过长的边依赖关系

如何限制复杂度?

解决方案:使用广度优先,只需要两步而不是n-1步

如何评估生成的网络?

定义网络的相似度量,但没有有效的网络同构测试

解决方案:视觉相似度;图的统计相似度

视觉相似度


Applications and Open Questions

应用于开放问题

药物发现

基于规则的图卷积网络:将图卷积与强化学习相结合,同时还有对抗训练

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/combfish/p/12271487.html

时间: 2024-08-30 02:34:52

10-graph-gen 图机器学习之图生成模型的相关文章

【机器学习基础】生成模型和判别模型

引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别为生成模型(generative model)和判别模型(discriminative model). 决策函数和条件概率分布 决策函数Y=f(X) 决策函数Y=f(X

08-GNN 图机器学习之图神经网络

图神经网络 node embedding 回顾了之前node2vec的例子以及深度学习卷积的一些基础 浅层encoder的局限性: 参数数量O(v):节点间没有共享参数,每个节点有自己的embedding 不能表征未见过的节点 没有综合考虑节点特征 本节学习图神经网络,多层的非线性的 那么,在图中,如何做卷积? 如果输入是邻接矩阵,那么模型不能适配各种规模的网络:对节点的顺序也没有敏感性 图的深度学习基础 起初,对于一个图G V:节点集合 A:邻接矩阵 X:节点的特征向量 图卷机网络 思路:图的

07-noderepr 图机器学习之图表征学习

网络中的机器学习 节点分类 链接预测 机器学习的生命圈需要特征工程 网络的特征学习--特征向量   embedding network embedding的意义 节点的表征 节点的相似度衡量→网络相似度衡量 网络信息编码,生成节点表征 用途:异常检测,属性预测,聚类,关系预测 例子:deepwalk 难度:当前的深度学习视为序列或网格数据而设计的,但网络结构比这些更复杂,没有固定的空间结构,没有固定的顺序,是动态的,并且有多类特征 Embedding Nodes 假设我们有图G,V是节点集合,A

生成模型与判别模型

摘要: 1.定义 2.常见算法 3.区别 4.优缺点 内容: 1.定义 1.1 生成模型: 在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下.它给观测值和标注数据序列指定一个联合概率分布(joint probability distribution).在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布.条件概率分布可以由生成模型根据贝叶斯准则形成  (参考自:中文wiki) 1

从 Java 代码逆向工程生成 UML 类图和序列图

from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM? Rational? Software Architect 从 Java? 源代码来逆向工程生成 UML 类和序列图. 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品. 作者详细说明了使用 IBM Rational Sof

eclipse下生成Java类图和时序图,生成UML图

最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理了些 1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF 采用eclipse在线安装方式安装就好. eclipse在线安装GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/ 安装好GEF后,安装AmaterasUML 先到如下地址下载:http://sourceforge.jp/projects/amateras/download

PowerDesigner(八)-面向对象模型(用例图,序列图,类图,生成Java源代码及Java源代码生成类图)(转)

面向对象模型 面向对象模型是利用UML(统一建模语言)的图形来描述系统结构的模型,它从不同角度实现系统的工作状态.这些图形有助于用户,管理人员,系统分析人员,开发人员,测试人员和其他人员之间进行信息交流.这里主要介绍用例图,序列图和类图.   1.面向对象模型OOM 面向对象模型是利用UML的图形描述系统结构的模型,可以利用PowerDesigner的面向对象模型进行创建.PowerDesigner支持UML的下列图形. 用例图(User Case Diagram):通常用来定义系统的高层次草图

02-gnp-smallworld 图机器学习之最小世界

本节重点:如何衡量一个网络 (网络量化) 网络的关键属性: 1. 度的分布:P(k) 2. 路径长度:h 3. 集聚系数(clustering coefficient):C 4. 连通分量(connected components):s 1. 度的分布 degree distribution:P(k) 统计每个节点的度,形成归一化后的直方图 2. 路径 3. 距离:最短路径 4. 直径:网络中任意节点最短距离的最大值 5. 平均路径长度(针对连通图或强连通的有向图) 6. 集聚系数(无向图):

04-communities 图机器学习之社区

网络中的社区结构 信息流通: 节点在此扮演了什么角色? 连接扮演了什么角色? 非网络时代,人们是如何获取工作的? 通过人脉,然而,不少关系是泛泛之交,而亲密关系较少. 那为什么泛泛之交反而更有用? 结构上:短距离的关系亲密,长距离的关系弱 信息上:长距离:获取更多信息 三角闭合--高度聚集的系数 边重叠? N(i):节点i的邻居集 计算Oij时要除去i,j节点 当overlap==0时,该边为局部桥梁 以下是基于通话网络的分析,可以看出,两节点间的路径越长,其邻居重叠性越多 网络社区:包含.一系