怎样操作图卷积收集对图举办深度进修(下)
前文回首:怎样操作图卷积收集对图举办深度进修(上) 把全部的对象放在一路我们此刻团结了自轮回和类型化能力。另外,我们将从头引入我们先前扬弃的权重和激活函数,以简化接头。 把权重加返来起主要做的是计较权重。留意,这里D_hat是A_hat = A + I的次数矩阵,即,具有逼迫自轮回的A的度矩阵。 In [45]: W = np.matrix([ [1, -1], [-1, 1] ]) D_hat**-1 * A_hat * X * W Out[45]: matrix([ [ 1., -1.], [ 4., -4.], [ 2., -2.], [ 5., -5.] ]) 假如我们想低落输出特性暗示的维数,我们可以减小权重矩阵W的巨细: In [46]: W = np.matrix([ [1], [-1] ]) D_hat**-1 * A_hat * X * W Out[46]: matrix([[1.], [4.], [2.], [5.]] ) 添加激活函数我们选择保存特性暗示的维数,并应用ReLU激活函数。 In [51]: W = np.matrix([ [1, -1], [-1, 1] ]) relu(D_hat**-1 * A_hat * X * W) Out[51]: matrix([[1., 0.], [4., 0.], [2., 0.], [5., 0.]])
瞧!一个完备的隐含层与连接矩阵,输入特性,权值和激活成果! 回到实际此刻,最后,我们可以将图卷积收集应用于实图。我将向您展示怎样天生我们在文章早期看到的成果暗示。 Zachary白手道俱乐部 Zachary白手道俱乐部是一个常用的交际收集,个中的节点代表白手道俱乐部的成员,并边沿他们的彼此相关。在白手道俱乐部进修时,打点者和锻练产生了斗嘴,导致俱乐部一分为二。下图表现了收集的图形暗示,节点按照俱乐部的哪个部门举办标志。打点员和讲师别离标有“A”和“I”。 成立GCN此刻让我们成立图卷积收集。我们现实上不会实习收集,只是随机初始化它,以天生我们在本文开头看到的特征暗示。我们将行使networkx,它有一个轻易得到的俱乐部的图形暗示,并计较A_hat和D_hat矩阵。 from networkx import karate_club_graph, to_numpy_matrix zkc = karate_club_graph() order = sorted(list(zkc.nodes())) A = to_numpy_matrix(zkc, nodelist=order) I = np.eye(zkc.number_of_nodes()) A_hat = A + I D_hat = np.array(np.sum(A_hat, axis=0))[0] D_hat = np.matrix(np.diag(D_hat)) 接下来,我们将随机初始化权值。 W_1 = np.random.normal( loc=0, scale=1, size=(zkc.number_of_nodes(), 4)) W_2 = np.random.normal( loc=0, size=(W_1.shape[1], 2)) 堆叠GCN层。这里我们只行使身份矩阵作为特性暗示,即每个节点被暗示为一个热编码的分类变量。 def gcn_layer(A_hat, D_hat, X, W): return relu(D_hat**-1 * A_hat * X * W) H_1 = gcn_layer(A_hat, D_hat, I, W_1) H_2 = gcn_layer(A_hat, D_hat, H_1, W_2) output = H_2
我们提取特性暗示。 feature_representations = { node: np.array(output)[node] for node in zkc.nodes()} 瞧!将Zachary白手道俱乐部的社区很好地脱离开的特性暗示。我们还没开始实习呢! 我应该留意的是,对付这个例子,随机初始化的权重很也许在X或Y轴上给出0个值作为Relu函数的功效,因此必要几个随机初始化来发生上面的图。 结论在这篇文章中,我对图卷积收集做了一个高级的先容,并声名白GCN中每一层节点的特性暗示是怎样基于其邻域的荟萃的。我们看到了怎样行使numpy来构建这些收集,以及它们是何等强盛:纵然是随机初始化的GCNs也可以在Zachary的白手道俱乐部中社区疏散。 参考文献 [1] Thomas Kipf关于图形卷积收集的博客文章。 [2] 论文Thomas-Kipf和Max-Welling将图卷积收集称为半监视分类。 原文链接:https://towardsdatascience.com/how-to-do-deep-learning-on-graphs-with-graph-convolutional-networks-7d2250723780 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |