其他分享
首页 > 其他分享> > m6

m6

作者:互联网

1、gcn

图卷积神经网络是指在图结构中做卷积操作的神经网络,所以其输入输出的都是图结构,它解决的是对图中的节点进行分类的问题,其中仅有一小部分节点有标签(半监督学习)。

假定每个节点有个V维向量,邻接矩阵是A,全图的节点特征X是N*C大小,即有N个节点则N行,仅有一层GCN,对于节点x1

1️⃣先进行图卷积(聚合周围邻居)

比如对所有的邻居向量和自己求平均:

即 度矩阵D̃的逆矩阵 * Ã * X,Ã = A + I,若不同节点的重要程度不同,可以加个可以训练的 lambda 参数:

为了能够加权平均,将低度数节点的权重提高,高度数的降低,同时由于归一化了两次,所以将"-1 "改为"-1/2",因此:

 

 2️⃣然后通过神经网络,最后接一个softmax,即:

这个神经网络对所有节点都是共享的,若是多层GCN,则中间的GCN层输出是个向量。层数越大,则节点能够聚合到更多的节点信息,若为6-7层,任何网络的节点都能看到整个图的信息了,一般用2层或3层的模型可以得到最好的结果

 

【从数学角度理解图卷积】

 

 解释:

借助傅里叶变换的思想,在时域问题上不好解决的话,映射到频域做处理,处理好了再映射回时域,这种思想类类似于FFT,对多项式乘积问题,不直接相乘,而是先做点值表示,乘完后,再求出系数。在这里,从右往左看:先把图上节点通过傅里叶变换(左乘U')映射到频域,再经过 g 处理,再逆变换返回空间域(左乘U),其中 U 来自于对 F(A) =  Lsym - L 做的特征分解

 

g 采用切比雪夫多项式的线性组合,切要求特征值在[-1,1]之间,因为谱图理论,拉普拉斯矩阵的对称规范化 Lsym的特征值在[0,2]之间,且是半正定的实对称阵,具备优良的性质,这里F(A)是满足的,切的定义:

 后面为了简化运算,令k=1,把 I 移到了 A 里面和A相加

 2、GraphSAGE

提出原因:GCN 训练时需要用到整个图的邻接矩阵,依赖于具体的图结构,一般只能用在 Transductive Learning。Transductive 通常指要预测的节点在训练时已经出现过,Inductive 指要预测的节点在训练时没有出现。而GraphSAGE 采用了节点的邻域信息,不依赖于全局的图结构。

假定节点 A、B、C 处于目标集合中,想要他们最后的embedding,然后这三个样本要输入到神经网络中进行分类训练,那如何得到它们的embedding?

分为两大步:先采样、后聚合

1️⃣采样:先得到3个点的邻居,记为1,这个邻居不必是挨着的全部邻居,记为第1跳

然后对这些邻居1,得到挨着邻居1的邻居2,记为第2跳

以此类推,为方便假定只有2跳

2️⃣聚合:从最后一跳往前走,利用聚合函数+映射 从第二跳的 embedding 得到第一跳的 embedding,再由第一跳的embedding得到目标3个点的embedding

以方框中的为例,聚合函数+映射的操作如下:

先将1的邻居(2个2)通过聚合函数聚合为1个向量,然后和1向量拼接,拼接结果乘以矩阵W并加上激活函数(即,拼接结果通过一层神经网络),在除以自己模长的平方做归一化,该结果向量作为1的向量

聚合函数有多种:

a.平均聚合:邻居embedding取平均

b. 归纳式聚合:对目标节点和邻居emebdding取平均

c. LSTM聚合:LSTM函数不符合“排序不变量”的性质,需要先对邻居随机排序,然后将随机的邻居序列embedding [公式] 作为LSTM输入,最后的输出就是聚合结果。

 

3、GAT

https://blog.csdn.net/qq_41995574/article/details/99931294

标签:聚合,邻居,神经网络,m6,embedding,节点,向量
来源: https://www.cnblogs.com/pjishu/p/16265025.html