1. 图的分类:
1.1 根据边的方向性:
有向图(Directed Graph):图中的边具有方向性,表示节点之间的单向关系。例如,A指向B的边表示节点A指向节点B。无向图(Undirected Graph):图中的边没有方向性,表示节点之间的双向关系。例如,A和B之间的边表示节点A和节点B之间存在连接关系。
1.2 根据边的是否具有权重:
加权图(Weighted Graph):图中的边具有权重,表示节点之间的强度或距离。例如,一个道路网络中,边的权重可以表示两个城市之间的距离或者通行时间。非加权图(Unweighted Graph):图中的边没有权重,表示节点之间的存在关系而不考虑具体程度。
1.3 根据节点连接的密集程度:
稠密图(Dense Graph):稠密图指节点之间具有较多的连接,边的数量接近节点数的平方。在稠密图中,大多数节点之间都有直接的连接。稀疏图(Sparse Graph):稀疏图指节点之间具有较少的连接,边的数量较少。在稀疏图中,只有少数节点之间有直接的连接。
1.4 根据节点之间是否存在全部连接:
完全图(Complete Graph):完全图是指任意两个节点之间都有边连接的图。即,在完全图中,每个节点都与其他节点直接连接。非完全图(Non-complete Graph):非完全图指存在某些节点之间没有边连接的图。
1.5 根据应用领域的特定分类:
社交网络图(Social Network):用于表示社交网络中用户之间的关系,例如Facebook的好友关系图。知识图谱(Knowledge Graph):用于表示知识库中实体和实体之间的关联关系,例如Google的Knowledge Graph。通信网络图(Communication Network):用于表示通信网络中设备之间的连接关系,例如互联网的路由网络。推荐系统图(Recommendation System):用于表示推荐系统中用户和物品之间的交互关系,例如电商网站的用户购买行为图。
还有同构图和异构图等分类方式。
2. 图的特征
3. Graph Embedding
即node embedding,相当于文本中的word embedding,就是把节点和边的特征转化为向量表示。
node embedding 大致分类如下:
deepwalk:随机游走
node2vec:在deepwalk的基础上添加了dfs和bfs
针对异构图:metapath2vec根据节点类型进行随机游走
4. 图神经网络的任务和模型分类
任务主要分为:节点分类和边预测,图分类和图匹配,图生成等任务
图神经网络基本分类:GCN、GAT、MP
5. 图采样算法
上面的算法都是全图训练的,下面是采样训练的算法
6. 扩展