![1baacb5769e57730ea8e846189b5bc40.png](https://img-blog.csdnimg.cn/img_convert/1baacb5769e57730ea8e846189b5bc40.png)
基础
各式各样的GCN无非是为了结合节点自身及邻居的特征对节点进行分析,主要包括节点的分类,链路预测,推荐等任务。而这其中最重要的就是如何利用邻居节点的信息,如果对一个节点我们已知它的特征,那么我们是可以用Xgboost对其进行分类,或者其他机器学习的算法进行分析的。GCN解决的就是如何结合邻居的信息。关于GCN的介绍已经有非常优秀知乎回答了
如何理解 Graph Convolutional Network(GCN)?www.zhihu.com![edc98cdc0b1d8b7897b19f43e8d4142c.png](https://img-blog.csdnimg.cn/img_convert/edc98cdc0b1d8b7897b19f43e8d4142c.png)
superbrother对于其他GCN的回答也非常经典,大家可以先进行了解。另外,我们也对GCN做了相关的介绍,请参考:
Mr-Lee:普通视角下的图卷积网络(Graph Convolutional Network)zhuanlan.zhihu.com![ca0f48bd3745905881ab89f0c4965488.png](https://img-blog.csdnimg.cn/img_convert/ca0f48bd3745905881ab89f0c4965488.png)
为何要GAT
因为GCN是无法解决动态的图,(但是其实这也不是绝对的例如:Graphsage也是可以处理动态的图,这里动态的图表示的是一个图在训练的时候与预测的时候节点数不相等,例如训练的时候为100个节点,但是预测的时候新加入了5个节点需要预测,另外我认为其实GCN并不是不能处理动态的图,只是效果可能不好)还有一个原因是因为GCN给每个邻居节点都分配相同的权值,这点其实是有问题的,例如:有些点与点连接本来就是错误的,另外并不是每个邻居节点的重要性都是相同的,例如