图表示学习
文章
0 图表示学习概述
图表示学习 论文阅读中的图表示学习 0 简介概念图表示学习,即图网络嵌入(Network Embedding)、图嵌入(Graph Embedding),用于得到网络中节点的低维、稠密、实值的向量表示,该向量表示形式在向量空间中具有表示以及推理的能力,可作为机器学习模型的输入,进而运用到网络问题领域下的常见任务中。 简单来说,就是将图转换成特征向量。 图表示学习,结合了图和表示学习领域相关的知识。希望通过神经网络能够自动抽取图中的特征。 应用 节点分类 链路预测 图分类 节点关系可视化 社交网络发现 图进化 目的图表示学习是表示学习技术的分支领域,表示学习的目的是要得到对数据的广义特征表示。 如邻接矩阵是对网络结构的表示,链表是对列表结构的表示,TFIDF 特征是对文本的特征表示。 向量表示可以通过多种手法得到,手法区分形式也不同 如最经典的以是否为监督学习进行区分, 是否以只进行局部表示学习而区分, 利用表示学习过程中所采用的方法是否为线性方法而区分。 而图表示学习则专注于对图网络的表示,如图 2-8 所示,它能够以更加直观、高效的方式还原原始空间中节点的关系。 分类...
1 图基础知识
基础知识1 图的表示 邻接矩阵 2 图的特性 子图 度、出度、入度 连通图、连通分量(无向图最大的连通分量) 强连通图、弱连通图 最短路径、图直径(最短路径的最大值) 3 图的中心性 度中心性 $$\frac{N_d}{n-1}$$ 特征向量中心性。特征值越大,其相邻节点的度越大。 连接的中心性。节点在图中的重要性。其他节点两两到达是否经过该节点 4 网页排序算法page rank算法 节点值等于指向节点的边的值的和。 边的值评分节点值 阻尼系数,有0.85的概率按照路径传播。 具体的步骤: 在初始阶段:网页通过链接关系构建起Web图,每个页面设置相同的PageRank值,通过若干轮的计算,会得到每个页面所获得的最终PageRank值。随着每一轮的计算进行,网页当前的PageRank值会不断得到更新。 在一轮中更新页面PageRank得分的计算方法:在一轮更新页面PageRank得分的计算中,每个页面将其当前的PageRank值平均分配到本页面包含的出链上,这样每个链接即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的PageRa...
2 GraphEmbedding
图嵌入0 引言概述在图上进行每一个节点的embedding,最终得到的结果是图上每一个节点的嵌入表示。这里主要通过无监督的方法实现embedding的过程。主要包括五种传统算法 Deepwalk LINE SDNE node2vec struct2vec 作用n维onehot向量表示图上的每一个节点。有多少个节点,就有多少onehot向量。如果节点的数量比较多,那么n的维度就会比较大。 代码https://github.com/shenweichen/GraphEmbedding 1 deepwalk 对每一个节点进行多次随机游走得到一系列语义信息。 w表示前后照顾的节点的数量、d表示嵌入后向量的维度、$\gamma$表示迭代的次数、t表示行走的步长 嵌入的维度为d=2的时候,就可以进行二维可视化了。如下所示,通过嵌入后的二维向量可是话,能够得到点的距离关系,相当于利用了图特征。 2 LINE 基于以下两个原理: 节点相互连接,并且相互连接的节点之间的权重很大,具有很高的相似性。 节点的邻居如果很相似的话,那么这两个节点即使不连接,那么他们也非常相似。 ...
3 图神经网络GNN
图神经网络GNN简介概述包括主要的三个算法 GCN GraphSAGE GAT 1 GCN 原理都是利用节点周围节点的信息,聚合下一层的节点的信息。 使用对角阵D进行归一化操作。 使用邻接矩阵A和特征矩阵X相乘,聚合直接相连的节点的信息。 公式说明 物理含义 具体目标 还是得到节点的嵌入向量。 利用节点的类型作为标签,进行有监督的学习 2 GraphSAGEgraphSAGE原理 原理:聚合节点周围的节点的信息。 算法流程。包括聚合和拼接两个关键步骤。可以定制这两个函数的具体形式。 一个算法的实例。aggregate采用了均值函数。concat采用了直接拼接的函数。W会将节点高维的节点特征映射到低维节点特征当中。 在以上运算的基础上进行采样。即选择固定数量的邻居节点,而不是所有的邻居节点。以下是一个采样的实例 可以选择不同的聚合函数 graphSAGE minibatch graphSAGE有minibatch版本。graphsage只聚合周围图的信息,而不是聚合图上所有节点的信息,所以可以通过采样选点的方式,进行训练。而不...
4 图神经网络库
入门教程 常见的代码工具 networkx是专门用来进行图计算的。 matplotlib可以用来绘制图像的。 pytorch geometric 是用来做图神经网络的 dgl 是aws的图神经网络库。暂时用不到。 1 数据处理图数据类型123456789data.x: Node feature matrix with shape [num_nodes, num_node_features]data.edge_index: Graph connectivity in COO format with shape [2, num_edges] and type torch.longdata.edge_attr: Edge feature matrix with shape [num_edges, num_edge_features]data.y: Target to train against (may have arbitrary shape), e.g., node-level targets of shape [num_nodes, *] or graph-level ta...
5 图神经网络的综述
图神经网络的综述主要是对图神经网络的综述,包括各种类型的图神经网络。 0 概述发展原因 计算资源的快速发展(如GPU) 大量训练数据的可用性 深度学习从欧氏空间数据中提取潜在特征的有效性 图嵌入和图神经网络的关系图神经网络的研究与图嵌入或网络嵌入密切相关,图嵌入或网络嵌入是数据挖掘和机器学习界日益关注的另一个课题。 图嵌入旨在通过保留图的网络拓扑结构和节点内容信息,将图中顶点表示为低维向量,以便使用简单的机器学习算法(例如,支持向量机分类)进行处理。许多图嵌入算法通常是无监督的算法,它们可以大致可以划分为三个类别,即矩阵分解、随机游走和深度学习方法。同时图嵌入的深度学习方法也属于图神经网络,包括基于图自动编码器的算法(如DNGR和SDNE)和无监督训练的图卷积神经网络(如GraphSage)。 1 根据神经网络的类型进行分类主要有以下六种: 图卷积网络(Graph Convolution Networks,GCN)、 图递归网络GRNN、 图注意力网络(Graph Attention Networks)、 图自编码器( Graph Autoencoders)、 图生成网络(...
6 图分类任务
图分类任务 本次应用图神经网络存在两个主要的难点 构建图,函数调用图是节点名称和类型不一致的。如何构建一个合理的图很关键。需要对多余的节点进行拆分和组合。去掉冗余的边和路径。 readout,如何定义经过卷积处理的图网络的读出函数。让他能够体现整个图网络的信息,节点是不是得按照一定的顺序读取才行。 总结图网络的分类任务。











