## 2 Materials and Methods
### Methodology
#### 2.2.3 The Graph Network Architecture
On the contrary, traditional encoders (backbone networks) based on convolutional layers or self-attention can only process data with regular spatial arrangements, and they cannot be applied to extract features from graph structured data. The GCN-Dominated Decoder. GCN is a type of convolutional neural network that can work directly on graphs and take advantage of their structural information [33]. To put it simply, for each node, first we get the feature information from all its neighbors including itself, and then, we take the average of all its neighbors (assuming we use the _average_() function), after that, these average values will be feed into a fully connected neural network [33]. Note that in practice, we usually use more sophisticated aggregate functions rather than _average_(). In Figure 5, a GCN-based decoder, which is symmetric to the encoder architecture, was proposed to reconstruct the nodal attributes from the encoded latent representations Z. Finally, we use the _sigmoid_() function to restrict the reconstructed background values within the range of [0, 1]. Maybe it is better to use GAT layers to construct the decoder structurally symmetric to the encoder. If so, D_out of the second GAT layer in the decoder must be divisible by the number of nodal features (11), or say D_out * 8 (the number of heads) must be equal to 11 and D_out must be an integer, but it is obviously not possible in our case. So instead, GCN was applied to obtain the nodal reconstructed features. The Loss Function. Our OGE is an unsupervised machine learning approach, so its loss function does not involve manually annotated labels. At the suggestion of [PERSON] et al. [24], here we use the unsupervised SPRE (i.e., sampling point reconstruction error) function as our loss function, which is formulized as:  
\[L_{SPRE}=\frac{1}{N}\ \sum_{i=1}^{N}A_{i} \tag{5}\]  
\[A_{i}=\sqrt{\sum_{k=1}^{F}\left(x_{i}^{k}-x_{i}^{rk}\right)^{2}} \tag{6}\]  
where \(x_{i}^{k}\) and \(x_{i}^{rk}\) represent the \(k\)th original and reconstructed nodal features of \(i\)th node, respectively; \(N\) and \(F\) denote the number of nodes/centroids and variable categories, respectively; \(A_{i}\) denotes the reconstruction error (or say the anomaly score) for each centroid, namely the multivariate Euclidean distance between the original geochemical values and the reconstructed background values. By minimizing the Formula (5), OGE can continuously learn the spatial structural features and compositional relationship from the input graph structured data by back propagation, and then approximate iteratively the input attributed graph with encoded latent features until the \(L_{SPRE}\) function converges [24]. After that, we input the original geochemical topology data into the trained model to obtain the reconstructed geochemical background values for each node or centroid. And then, we calculate the reconstruction error (namely \(A_{i}\)) for each node. Finally, the geochemical anomaly score map is generated by assigning the nodal reconstruction errors back to the corresponding image objects as the summary statistics. This process is summarized and pictured in Figure 5.