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

图神经网络


node embedding

回顾了之前node2vec的例子以及深度学习卷积的一些基础

浅层encoder的局限性:

参数数量O(v):节点间没有共享参数,每个节点有自己的embedding

不能表征未见过的节点

没有综合考虑节点特征

本节学习图神经网络,多层的非线性的

那么,在图中,如何做卷积?

如果输入是邻接矩阵,那么模型不能适配各种规模的网络;对节点的顺序也没有敏感性


图的深度学习基础

起初,对于一个图G

V:节点集合

A:邻接矩阵

X:节点的特征向量

图卷机网络

思路:图的邻居定义计算图

信息传播→计算节点特征

邻居聚合:局部网络邻居

intuition:节点通过神经网络,从邻居聚合信息

intuition:网络的邻居定义计算图→每个节点基于自身的邻居定义计算图

深度模型:多层结构

模型可以是任意深度的:

节点在每一层都有embedding

第0层的embedding是输入特征x

第k层的embedding得到的信息是通过经过k跳的节点而得

关键的区分在于信息通过不同的层是如何聚合的?

基础的方法:平均+神经网络

第0层初始化为节点的特征

公式如下

那么如何训练模型?定义损失函数?

模型参数

W B

随机梯度下降,训练得到参数

非监督的学习

相似的节点有相似的embedding

监督学习:训练模型用于节点分类

例如,药品是否有毒

模型设计:

定义邻居聚合函数;定义loss函数;训练:生成节点的embedding

聚合参数是所有节点共享的

因此可为未见过的节点生成embedding;甚至是为相近的全新网络生成embedding


图卷积网络和GraphSAGE

有比平均更好的聚合方法吗?

对每一层的embedding进行L2正则化

不相加而是拼接

3中聚合方法:平均;池化;LSTM

小结:

高效的实现

通过对稀疏矩阵的操作

更多的图卷积网络


Graph Attention Network (GAT)

所有节点一视同仁

每个节点的贡献力是否可以使用权重来区分

例子:

引用网络


应用例子

拼趣:Pinterest采用的是瀑布流的形式展现图片内容,无需用户翻页,新的图片不断自动加载在页面底端,让用户不断的发现新的图片。

Pinterest堪称图片版的Twitter,网民可以将感兴趣的图片在Pinterest保存,其他网友可以关注,也可以转发图片。索尼等许多公司也在Pinterest建立了主页,用图片营销旗下的产品和服务。

为每个节点生成一个embedding

从相邻的节点借用信息

给用户推荐相关的pins


使用小贴士

数据预处理是非常重要的:正则化;变量规模的初始化;网络数据的清洗

训练优化器

relu可以获得较好的成效

输出层不需要激活函数

每一层需要偏置

GCN的层在64或128已经很好了,不需要过深

模型:

在训练集上需要过拟合!!

仔细检查loss函数

仔细检查可视化

来自为知笔记(Wiz)

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

时间: 2024-08-14 04:18:49

08-GNN 图机器学习之图神经网络的相关文章

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

图深度生成模型 deep generative models for graph 回顾上一节课中的图编码,图卷积等 今天,来学习图深度解码,也就是反编码,最终输出一个图结构 Problem of Graph Generation图生成需要解决的问题 给定一个真实图,生成一个合成图 那么,什么才是好的生成模型? 图生成的意义 生成→深入探索图行程的过程 异常检测 预测--从过去预测未来 新网络的仿真 图填充 如果...场景?? 图生成的任务: 真实图的生成 目标导向图的生成,例如分子生成 为什么如

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

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

机器学习导图系列(1):数据处理

机器学习导图系列教程旨在帮助引导开发者对机器学习知识网络有一个系统的概念,其中具体释义并未完善,需要开发者自己探索才能对具体知识有深入的掌握.本项目灵感来自Daniel Formoso的github开源项目.本文作者对其项目进行翻译.整理.批注等二次创作,其中不乏生僻的数学名词,对于没有留过学的作者来说费了很多功夫.我又将导图整理成了知识卡片,方便大家查看.由于机器学习的知识网络很大,导致完整的导图过大,文章中的图片可能经过压缩,如需完整图片可查看github项目machine-learning

机器学习导图系列(3):过程

机器学习导图系列教程旨在帮助引导开发者对机器学习知识网络有一个系统的概念,其中有些具体释义并未完善,需要开发者自己探索才能对具体知识有深入的掌握.本项目灵感来自Daniel Formoso的github开源项目.本文作者对其项目进行翻译.整理.批注等二次创作,其中不乏生僻的数学名词,对于没有留过学的作者来说费了很多功夫.我又将导图整理成了知识卡片,方便大家查看.由于机器学习的知识网络很大,导致完整的导图过大,文章中的图片可能经过压缩,如需完整图片可查看github项目machine-learni

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. 集聚系数(无向图):

机器学习三 卷积神经网络作业

本来这门课程http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 作业是用卷积神经网络做半监督学习,这个还没完全解决,于是先从基础的开始,用keras 实现cifar10. 以下是代码 1 # -*- coding: utf-8 -*- 2 __author__ = 'Administrator' 3 4 5 from keras.datasets import cifar10 6 from keras.utils import np_uti

PP图和QQ图

 一. QQ图 分位数图示法(Quantile Quantile Plot,简称 Q-Q 图) 统计学里Q-Q图(Q代表分位数)是一个概率图,用图形的方式比较两个概率分布,把他们的两个分位数放在一起比较.首先选好分位数间隔.图上的点(x,y)反映出其中一个第二个分布(y坐标)的分位数和与之对应的第一分布(x坐标)的相同分位数.因此,这条线是一条以分位数间隔为参数的曲线.如果两个分布相似,则该Q-Q图趋近于落在y=x线上.如果两分布线性相关,则点在Q-Q图上趋近于落在一条直线上,但不一定在y=x线

画图实例:一个计算机商店的基于Wed的订单处理系统的DFD图和ER图

DFD图: 0层DFD图: 1层DFD图: 2层DFD图: ER图:

UML学习(类图和序列图等)

visio绘制UML图使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?新建->选择绘图类型->选择软件与数据库模板->选择UML模型图->注意:如果不选择UML模型图的话,可能会出现无法编辑形状文本,提示“此UML形状所在的绘图页不是UML模型图的一部分,该形状设计用于利用UML模型图模板创建的绘图”所以利用Visio绘UML图第一步就是选择绘图类型为软件中的UML模型图. 还可以参考百度云盘的UML学习资料 参考:UML中几种类间关系: