基于Graphs的机器学习

当前主流的深度学习模型主要是为简单的序列数据或者格式化数据来设计的,常见有图像数据、文本或者语音数据等。

但是基于网络或者图的机器学习是相对困难的:

  • 图是没有固定的大小,并且是一个复杂的拓扑结构
  • 节点之前没有固定的引用顺序
  • 图时常是动态更新的并且具有多模态异构的特征

(有监督)机器学习生存周期基本上是构建特征工程->基于模型做特征学习以及学习新的特征表示->最后基于特征进行预测,而现在基于Graph的机器学习不需要特征工程,而是输入到网络进行自动表示学习,然后用于下游任务。

 

GCN的特征提取:

对于卷积神经网络CNN,图片中提取特征,可以采用卷积的方式提取特征。但是对于拓扑结构,只能用其他方法来提取特征。

对图的特征提取分为vertex domain(spatial domain)空域和spectral domain频域

Spatial Convolution:核心在于聚合邻居结点的信息。一种最简单的无参卷积方式可以是:将所有直连邻居结点的隐藏状态加和,来更新当前结点的隐藏状态。

Spectral Convolution:在图上进行信号处理的变换,如傅立叶变换或者拉普拉斯变换,进而进行图的卷积,从而提取图的特征。借助于图的拉普拉斯矩阵的特征值和特征向量来研究Graph的性质

 

GCN的设计目标:

Deep learning中的convolution就是要设计含有trainable共享参数的kernel。

假设图数据其中有N个节点(node),设这些节点的特征组成一个N×D维的矩阵H,各个节点之间的关系形成一个N×N维的矩阵A,也称为邻接矩阵(adjacency matrix)。H和A便是模型的输入。

首先做一个内积,再乘参数矩阵W,然后激活一下,就相当于一个简单的神经网络层。

由于A的对角线上都是0,所以在和特征矩阵H相乘的时候,只会计算一个node的所有邻居的特征的加权和,该node自己的特征会被忽略。因此,给A加上一个单位矩阵 I ,使对角线元素变成1了。A是没有经过归一化的矩阵,与特征矩阵H相乘会改变特征原本的分布,产生一些不可预测的问题。所以对A进行标准化处理。 得到最终的层特征传播公式。

以GCN为例来解释深度学习在图学习的作用机制,由节点以及节点之前的边组成Graphs作为神经网络的输入,通过图卷积神经网络以及激活函数得到图的表示,最后通过正则化比如dropout来约束模型,最后通过输出层得到相应任务的输出,比如可以用来预测节点的标签、新的关系以及子图发现。

通过Graph的表示学习,我们可以将网络映射到d维的嵌入空间,理想情况下,在这个d维的向量空间中网络中的相似节点相似性越大,差异距离越小。

几种常见的图表示学习方法:

  • 传统方法:Graphlets,Graph Kernels
  • Node Embedding:DeepWalk,Node2Vec
  • GNN:GCN,GraphSAGE,GAT,GNNS
  • 知识图谱以及嵌入:TransE,BetaE
  • 图生成网络
  • 生物医药、科学研究以及工业界的应用

 

实例:

Node级别——蛋白折叠 https://www.leiphone.com/news/202012/lklVFjHWl2C7xUFh.html

Edge级别——社交网络推荐系统、推荐相似商品、药物副作用预测

Subgraph级别——交通预测https://blog.csdn.net/zhouchen1998/article/details/110136808

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值