首页 > 编程知识 正文

卷积网络gcn预测,卷积网络应用

时间:2023-05-04 20:06:07 阅读:202157 作者:835

图卷积网络GCN
图卷积网络研究的对象是图数据,研究的模型是卷积神经网络。

1. 为什么会出现图卷积神经网络?
普通卷积神经网络研究的对象是具备Euclidean domains的数据,Euclidean domains data数据最显著的特征是他们具有规则的空间结构,如图片是规则的正方形,语音是规则的一维序列等,这些特征都可以用一维或二维的矩阵来表示,卷积神经网络处理起来比较高效。

然而,生活中很多数据不具备规则的空间结构,称为Non Euclidean data,如,推荐系统、电子交易、分子结构等抽象出来的图谱。这些图谱中的每个节点连接不尽相同,有的节点有三个连接,有的节点只有一个连接,是不规则的结构。对于这些不规则的数据对象,普通卷积网络的效果不尽人意。下面展示一些图数据:

社交网络非常适合用图数据来表达
上面的图谱刻画社交网络中节点以及节点与节点之间的关系,用户A(有ID信息等)、用户B、帖子都是节点,用户与用户之间的关系是关注,用户与帖子之间的关系可能是发布或者转发。通过这样一个图谱,可以分析用户对什么人、什么事感兴趣,进一步实现推荐机制。
从以上数据可以看出,图数据有几下几个特点:
1) 每个节点有自己的特征;(点)
2) 图数据中的每个节点具有结构特征,即节点与节点存在一定的联系。(边)
总地来说,图数据既要考虑节点信息,也要考虑结构信息,图卷积神经网络就可以自动化地既学习节点特征,又能学习节点与节点之间的关联信息。

2. 什么是图卷积神经网络?
图卷积神经网络就是一种处理图数据的深度学习方法。

图卷积算子:

图卷积算子的计算公式如上,设中心节点为i;(Wrj可以看作滤波器)

3. 分三步理解图卷积神经网络
第一步:发射(send)每一个节点,将自身的特征信息经过变换后发送给邻居节点。这一步是在对节点的特征信息进行抽取变换。(一个节点与相邻所有节点相连的边均含有相同信息,同一个节点出来的边颜色相同)

第二步:接收(receive)每个节点,将邻居节点的特征信息聚集起来。这一步是在对节点的局部结构信息进行融合。(融合节点与所有其相邻节点的信息。)

第三步:变换(transform),把前面的信息聚集之后做非线性变换,增加模型的表达能力。

更形式化地说,图卷积网络(GCN)是一个对图数据进行操作的神经网络。给定图 G = (V, E),GCN 的输入为:
•一个输入维度为 N × F⁰ 的特征矩阵 X,其中 N 是图网络中的节点数而 F⁰ 是每个节点的输入特征数。
•一个图结构的维度为 N × N 的矩阵表征,例如图 G 的邻接矩阵 A。
因此,GCN 中的隐藏层可以写作 Hⁱ = f(Hⁱ⁻¹, A))。其中,H⁰ = X,f 是一种传播规则。每一个隐藏层 Hⁱ 都对应一个维度为 N × Fⁱ 的特征矩阵,该矩阵中的每一行都是某个节点的特征表征。在每一层中,GCN 会使用传播规则 f 将这些信息聚合起来,从而形成下一层的特征。这样一来,在每个连续的层中特征就会变得越来越抽象。在该框架下,GCN 的各种变体只不过是在传播规则 f 的选择上有所不同 。

4. 图卷积网络与普通卷积神经网络的共同点
1)、局部参数共享,算子适用于每个结点,处处共享;
2)、感受野正比于层数,第一层的节点只包含与直接相邻节点有关的信息,第二层以后,每个节点还包含相邻节点的相邻节点的信息,这样的话,参与运算的信息就会变多。层数越多,感受野越大,参与运算的信息量越充分。


圆圈代表算子

5. 图卷积网络的网络架构和性质
输入:一张图
输出:一张图

GCN模型同样具备深度学习的三种性质:
1)、层级结构(特征一层一层抽取,一层比一层更抽象,更高级);
2)、非线性变换 (增加模型的表达能力);
3)、端对端训练(不需要再去定义任何规则,只需要给图的节点一个标记,让模型自己学习,融合特征信息和结构信息。)

6. GCN四个特征
1)、GCN 是对卷积神经网络在 graph domain 上的自然推广。
2)、它能同时对节点特征信息与结构信息进行端对端学习,是目前对图数据学习任务的最佳选择。
3)、图卷积适用性极广,适用于任意拓扑结构的节点与图。
4)、在节点分类与边预测等任务上,在公开数据集上效果要远远优于其他方法。

7. GCN实际应用

实验输入是一个验证数据构成的图数据,节点是验证事件以及事件相关的属性节点。如IP,DeviceID,UA等节点。(我们总计用了30天的验证数据,每两个小时的数据构成一张图,共360张图。)
实验输出是对事件节点进行人机分类,正常或者异常。
实验细节
网络结构:
GCN(128)->GCN(64)->GCN(64)->Linear(2)
训练: Adam优化器, lr=0.001
参照基准: 以只能学习特征信息的GBDT做为基准, grid_search 搜索超参数,GBDT是目前最流行的浅层分类器。
我们用第一天的数据做训练,持续30天预测结果如下:

GCN模型的准确率衰减比较小,而GBDT的衰减很严重。可见,GCN模型的人机判别效果要好,鲁棒性好。

7d评估效果可视化,(用第一天的数据训练模型,第七天观察其预测效果及最后一层输出的tsne可视化结果)。上图可以看出,GCN在第七天时对样本判别的分界面仍很明显,但是GBDT对样本判别的分界面已经很模糊类了。综上,GCN学到的结构信息在人机判别中不仅效果很好,也具有更好的鲁棒性。

https://www.jianshu.com/p/89fbed65cd04?winzoom=1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。