## 2 Ensemble Neural Network and Signal Graph-Based SEI
### The Proposed Ensemble Neural Network
#### 2.2.1 Components of the Modules  
**Sequence feature extractor:** Sequence feature extractor is used to extract the features of the signal from Euclidean space. To this end, we use three cascaded convolutional layers with kernel size of 3 \(\times\) 3 to form the feature extractor. In the selection the number of convolutional layers, we consider the overfitting and underfitting of the model. When the model capacity is too large, the model will over-fit, and when the model capacity is insufficient, the model is prone to under-fitting. In our model, three is a suitable value, which is obtained through cross-validation. In addition, the number of output channels of the three convolutional layers is set to 32, which is also the result of multiple attempts. Defining the sequence feature extractor as \(S(\cdot)\), the sequence signal as \(X_{s}\), the output feature \(z_{S}\) can be expressed as:  
\[z_{S}=S(X_{S}) \tag{5}\]  
**Graph feature extractor:** Graph feature extractor is used to extract the features of the signal from non-Euclidean space. Graph feature consists of one graph convolution layer (input layer) connected with two convolution layers with kernel size of 3 \(\times\) 3. Corresponding to the sequence feature extractor, we also set the number of output channels of the graph convolutional layer and the convolutional layer to 32. Defining the graph feature extractor as \(G(\cdot)\), the sequence signal as \(X_{s}\), the output feature \(z_{G}\) can be expressed as:  
\[z_{G}=G(X_{S}) \tag{6}\]  
For the graph feature extractor, the first layer is the graph convolution layer, and the extracted feature is a graph, so the second layer cannot process graph structure data directly. In view of this state, the features extracted by the first layer can be transformed before being subjected to convolution. Specifically, all of the node connections in the graph feature are removed, and the node information is kept. Then, all of the nodes are reconstructed into a sequence based on their time sequences in the signal. Finally, the other two convolution layers are used to extract more of the feature and complete the extraction of the graph feature.  
**Feature fusion module:** Feature fusion module is used to fuse \(z_{S}\) and \(z_{G}\), which can be written as:  
\[z_{E}=[z_{S},z_{G}] \tag{7}\]  
where \([.]\) denotes feature concat, \(z_{E}\) denotes the fused feature.  
**Classifier:** Classifier is used to predict the classification results. To train the model efficiently, we classify and supervise the sequence feature, graph feature and fused feature. The classification results of the three classifiers can be expressed as:  
\[p_{S}=C_{S}(z_{S}) \tag{8}\]  
\[p_{G}=C_{G}(z_{G}) \tag{9}\]  
\[p_{E}=C_{E}([z_{S},z_{G}]) \tag{10}\]  
where \(C_{S}(.)\) denotes the sequence feature classifier, \(C_{G}(.)\) denotes the graph feature classifier and \(C_{E}(.)\) denotes the fused feature classifier. \(P_{S}\), \(P_{G}\), \(P_{E}\) denotes the corresponding classification results, respectively. The three classifiers all adopt three-layer MLP structures, the number of neurons in each layer are 256, 80, and 20, respectively.