## 3 Proposed Method
### GCN Classification  
The proposal of the GCN makes it possible to represent and analyze data in graph data structures. Unlike the CNN which only extracts information from image samples in local space, the GCN is able to aggregate from a global perspective, taking full account of the topological structure and semantic information of the image. Existing methods for constructing graph data structures can be mainly classified into two types: constructing graphs with pixels as nodes or constructing graphs with blocks of pixels (e.g., hyper-pixels) as nodes. Some of the work is based on the attention mechanism to characterize the relationships between graph nodes [43]. The main reason for using segmentation algorithms to process data is to prevent too many image nodes that can lead to information redundancy and high computational cost.  
It can be seen that the application of the common graph convolutional neural network mainly focuses on extracting the spatial relationship between the pixel data of HSIs. Since the spatial information between hyperspectral data may have no obvious application value due to the different categories, we hope to target the application of GCNs in the field of HSIs in a more relevant way. In creating the graph data structure, we switch from the traditional spatial topological relationship to spectral similarity and update the weight relationship between spectra after several iterations. HSIs are rich in spectral information, which is valuable for information utilization.  
The adjacency matrix denoted by A can be used to illustrate the relationship between a node and its neighboring nodes. D is a diagonal matrix and \(D_{\text{ii}}\) denotes the degree of the \(i_{\text{th}}\) node; then, Equation (6):  
\[D_{ii}=\sum_{j=1}^{n}A_{i,j} \tag{6}\]  
spectral convolution is defined as follows:  
\[\widetilde{A}=A+I \tag{7}\]  
\[\widetilde{D}_{i,i}=\sum_{j}\widetilde{A}_{i,j} \tag{8}\]  
\[H^{(l=1)}=\sigma\Big{(}\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D} ^{-\frac{1}{2}}H^{(l)}W^{(l)}\Big{)} \tag{9}\]  
where \(H^{(l)}\) and \(W^{(l)}\) denote the output and trainable parameters of layer I. Let L denote the Laplace matrix of the graph, so \(\widetilde{D}^{-\frac{1}{2}}\widetilde{A}\widetilde{D}^{-\frac{1}{2}}\) is a symmetric normalised form of L that prevents the gradient from exploding or vanishing as the depth of the GCN is increased during the training process. \(\sigma(\cdot)\) is the expression of an activation function.  
In our classification module, we chose to use SAGE, a variant of the GCN, instead of the GCN because SAGE is more in line with the desired goals of rapid convergence and high global information that we wish to achieve.  
As shown in Figure 4, after the previous stage of CNN extraction, we obtained some informative pixels. We constructed these feature nodes into a graph data structure. We aggregated the neighboring nodes of the target node to obtain the final feature information. We used a total of two layers of the completed wrapped SAGE module for graph aggregation. Due to the processing of the feature extraction module, the number of input channels we receive in the second stage will be 1024. In the first graph convolution layer, we compressed the number of channels to 512 and normalized them by a one-dimensional BatchNorm (BN). This ensured that the inputs of each network layer remained consistent during the training process. Based on the theory of doubling the number of VGG channels, we adopted a half-reduction mechanism for the number of channels in the graph convolutional layer. The second graph convolutional layer was compressed to 256 channelsand used as input for the subsequent fully connected layers. We also chose three fully connected layers and used ReLU as the activation function.