# Graph Embedding Vs Graph Convolution Network

I'm new in Graph-Embedding and GCN(Graph/Geometric Convolution Network).

I'm confused and not very much sure about "How training works in GCN"?

As per my understanding, GCN training data will be in the form of "Adjacency Matrix" + "Degree Matrix" + Features of nodes(vertex). Using the aggregate of these metrics, we do GCN training. Kindly confirm?

If my understanding is correct, then I believe that even for Graph-Embedding, we use similar type of Input data(as mentioned above) for generating vector representation? Again if it correct, why GCN is better than Graph Embedding?

Or it's incorrect to co-relate both these terms?

GCN(Graph Convolutional Networks) and Graph-Embedding are two different methods for learning graph-structured data.

### GCN(Graph Convolutional Networks) vs Graph-Embedding

In GCN, the training data consists of an adjacency matrix, a degree matrix, and the features of the nodes(vertices) in the graph. The adjacency matrix is a square matrix containing information about the connections between the nodes in the graph. The degree matrix is a diagonal matrix containing the degree of each node in the graph. The GCN model uses these matrices and the node features to learn a representation of the graph.

In Graph-Embedding, the training data consists of a set of nodes and the connections between them. The goal of graph-embedding is to learn a low-dimensional representation of the nodes in the graph such that the connections between the nodes are preserved in the low-dimensional space.

GCN is better than graph-embedding in that it is able to incorporate the structural information in the graph (given by the adjacency and degree matrices) into the learned representation, whereas graph-embedding only uses the connections between nodes. This allows GCN to learn more informative representations of the graph.

As for the difference between GCN and graph embedding, GCN is a type of neural network that operates directly on the graph structure, while graph embedding is a method for learning low-dimensional vector representations of nodes in a graph. GCN has been shown to be effective for semi-supervised learning tasks on graph-structured data, while graph embedding can be useful for a variety of downstream tasks such as visualization, clustering, and classification. The choice of which method to use depends on the specific task at hand.

Training a GCN (Graph Convolutional Network) typically involves defining a graph convolutional layer, which takes in a graph and produces a new graph with updated node features. This layer can be trained using a variant of backpropagation, where the error is propagated through the graph structure.

• Training a GCN typically involves the following steps:
1. Construct the adjacency matrix and degree matrix for the graph.
2. Use the adjacency matrix and degree matrix to define the GCN layer.
3. Initialize the weights of the GCN layer.
4. Forward propagate the input features through the GCN layer to get the output features.
5. Compare the output features with the ground truth labels and compute the loss.
6. Backpropagate the loss to update the weights of the GCN layer.
7. Repeat steps 4-6 for multiple epochs until the model converges.

GCN and graph embedding are not necessarily related or competing techniques - they are used for different purposes and can be used together in some applications. GCN is a method for learning node representations in a graph that are suitable for performing downstream tasks, such as node classification or graph classification, while graph embedding is a method for representing nodes in a low-dimensional space for visualization or analysis.