convolution at the $l$-th layer computes the output feature $\mathbf{F}_{l}$ as: $$\mathbf{F}_{l} = \mathbf{A}_l\mathbf{F}_{l-1} \mathbf{W}_l
\label{eq:gcn}$$ where $\mathbf{W}_l$ is a trainable parameter, and $\mathbf{A}_l$ is the re-normalized adjacency matrix calculated as $$\mathbf{A}_l=\mathbf{\Lambda}^{-\frac{1}{2}} (\mathbf{A}_{l-1}+\mathbf{A}_l^*) \mathbf{\Lambda}^{-\frac{1}{2}}$$ $\mathbf{\Lambda}$ is the normalization diagonal matrix. We essentially replace the re-normalization matrix $\mathbf{I}_N$ in the original GCN layer with our learned optimal graph $\mathbf{A}_l^*$. When $l=1$, $\mathbf{A}_0=\mathbf{0}$ is a zero matrix. In special cases where a ground truth graph is provided such as in semi-supervised node classification, $\mathbf{A}_0$ is the ground truth graph. The ground truth graph may be inaccurate or could be improved further. For instance, in a citation network, an unweighted graph is often available to describe the citation relationship among papers. We can further learn a weighted graph to learn hidden connections and characterize how well correlated connected papers are, which enhances the model capacity.

The objective of node feature learning is to minimize the cross entropy between predicted labels and ground truth labels, which is task-driven. We predict the label of each node by applying the softmax function to the output feature at the final $L$-the layer: $$\mathbf{\hat Y} = \text{softmax}(\mathbf{F}_L).$$ As $\mathbf{F}_L$ is learned from Eq. , $\mathbf{\hat Y}$ is a 