接上一部分:https://blog.csdn.net/weixin_40248634/article/details/103040193
结点映射
目标是将原始空间的相似性也体现在映射空间中。目标:
两个关键组件:
- 将每个点映射到一个低维向量
- 相似性函数指定向量空间中的关系如何映射到原始网络中的关系。
从“浅”到“深”
浅层编码器我们可以将节点矩阵映射到一个特定的矩阵Z ,矩阵的每一列表示一个节点。
浅层编码的限制
1.需要参数,每个节点有自己特定的编码
2.固定的“转换性”:不可能为在训练期间没有的节点生成嵌入
3.不能合并节点特性:许多图具有我们可以并且应该利用的特性
使用图卷积来进行更加复杂的映射
通常来说,所有的复杂映射都可以用之前的相似的函数组合起来。
GNN
下面是基于图卷积网络的深度编码方法
图卷积基础
v: 顶点集
A:邻接矩阵
X:节点特征矩阵
关键思想:
基于局部领域信息产生节点嵌入here,将A的领域信息整合起来,其一阶领域有BDC,让然后BCD又有其对应的一阶信息,右边图相当于是二阶领域信息整合。
直观上:用神经网络将节点信息整合起来,每个节点具有其对应的计算图
节点在每一层进行映射,模型有任意的深度,第0层是其输入特征
,领域集聚可以视作中心环过滤器
在数学上,图卷积也可以用谱分解+ 傅里叶变换来解释。
不同方法关键的区别在于如何跨层聚合信息。
基础方法是:直接使用神经网络基础方法:运用神经网络平均领域信息。包括当前信息与过去信息的整合。
训练模型需要定义一个好的损失函数
通过K层的领域集聚,我们可以得到 每个节点的输出嵌入,,接着将这些嵌入放进任何的损失函数,然后用随机梯度下降,就可训练集聚参数。
仅仅使用图结构通过一种无监督法则去训练,无监督学习的损失函数可以来自上一部分的任何一个,比如随机游走,图分解,还有训练模型使得节点有相似的映射。
训练可选方案:
- 直接训练无监督任务的模型(如:节点分类)