## 2 Dataset and Proposed Model
### Proposed Model
The result is a vector \(\mathbf{x}_{obw}\) composed of eight elements. * _Mean Absolute Value_: This function is the average of the absolute value of the EMG signal amplitude. It is a popular feature used in EMG hand gesture recognition applications [40]. The vector \(\mathbf{x}_{mav}\) has eight elements. * _Waveform length_: This feature represents the cumulative length of waveform over time [41] and returns a vector \(\mathbf{x}_{wl}\) of eight elements. Figure 5: EMG sliding window acquisition with 66 EMG points and six non-overlapping sub-windows. All vectors described above were concatenated as follows: \(\mathbf{x}=\left[\mathbf{x}_{\sigma},\mathbf{x}_{bp},\mathbf{x}_{mf},\mathbf{x}_{ bbw},\mathbf{x}_{mav},\mathbf{x}_{ml}\right]\). This new vector contains 68 elements and will be used as input of the classification module. **Classification**: To design the classification module, we used a feed-forward artificial neural network (ANN) because it includes universal approximators (i.e., ANN with a continuous squashing function in the output is capable of approximating any Borel function, provided sufficiently many hidden units) [42]. The ANN used for this work contains three layers: input, hidden, and output. The input layer contains 68 nodes, each of which takes one component of the feature vector \(\mathbf{x}\). The hidden layer is composed of 500 neurons with the ReLu activation function. The output layer has six neurons, with the softmax activation function, where each neuron estimates the conditional probability \(\mathbb{P}\left(Y|\mathbf{x}\right)\) that the feature vector \(\mathbf{x}\) belongs to the class \(Y\in\{wave\ in,wave\ out,fist,fingers\ spread,double\ Tap,relax\}\). For training the ANN, we minimized a loss function that is the sum of the weights (regularization) plus the cross entropy between the six probabilities predicted by the network and the one-hot encoding of the actual label of the feature vector \(\mathbf{x}\). For minimizing the cross entropy, we used 500 epochs of the Conjugate Gradient Backpropagation with a Polak-Ribiere Updates algorithm that adjusts the step size at each iteration [43]. The number of training samples for every individual model is the total number of sub-window observations from the 130 EMGs and would be around 11,830 (i.e., \(130\times 91\)). Each user has 130 EMGs, and each EMG includes 1000 points. These points can be divided into around 91 sub-window observations of 11 points. It is worth mentioning that, for each user (in both training and testing user groups), the same network architecture was trained using only his/her EMGs. This implies that, during the training process, an individual adaptation is carried out, and it is encoded in the weights of his/her corresponding network. To reduce the chance of model overfitting, we use regularization by weight decay (with \(\lambda=10^{-5}\)) similarly as proposed by [PERSON] et.al. [44]. **Post-Processing**: In this step, in order to refine the decision returned by the classification module, two steps were applied: reduction and filtering atypical values. * _Reduction_: The label for a window observation, composed of \(n=66\) points, was defined based on the labels of its six sub-window observations by applying a majority voting scheme. Ties were broken randomly. The label of each sub-window observation, composed of \(m=11\) points, was obtained using the steps described above. In this way, for each EMG, we obtained a vector of labels \(\hat{\mathbf{l}}=(\hat{l}_{1},...\hat{l}_{p})\), where \(p\) is approximately equal to 15. In addition to the vector of labels, we also obtained a vector of times \(\hat{\mathbf{t}}=(\hat{t}_{1},...\hat{t}_{p})\), where the time \(\hat{t}_{i}\) indicates the instant where the label \(\hat{l}_{i}\) was predicted, with \(i=1,2,...,p\). * _Filtering atypical values_: This step is based on future and past labels.