## 3 Results
### Neuronal Network  
Because of the database, we used a batch size of value 1 (only one example was evaluated for updating the parameters). In addition, to ensure that all architectures were tested under the same conditions, the number of epochs was always 100. The tests were performed in two stages. In the first stage, the database was divided into two: the training part with a size of 350 and the test part with a size of 39, equivalent to a division of 90% and 10%. During training, the purpose of the network is to determine the weights that allocate the ideal labels to the input values. The data that the network learns are called the training batch. To test the possibility of generalizing the found function, some values are kept separate (called the test batch) and passed through the network. If the results are good, we can say that the network has learned and is able to classify the new data. At this stage, different deep neural network architectures were tested. During the tests, the hyperparameters of the system were modified. More precisely, we experimented with  
Figure 14: Determination coefficient calculated for the filtered signal. Figure 15: Coefficient of determination calculated for the reconstructed signal after the ICA has been applied. various values for the number of neurons, the layer, and various activation functions--\(\tanh\), arctan and sigmoid. The three activation functions were chosen because they have an S shape, which increases the separability of the input data. The neural architecture tested for the tanh function had five layers and 16 neurons per layer, and the best cost recorded on the test was 0.32 with an accuracy of 90.18%. The results obtained for the tanh activation function are presented in Table 2.  
The next activation function tested was sigmoid, and the best cost on the test batch was 0.35 at an accuracy of 94.65%. It was also observed that, with the increase in the number of hidden layers and even the number of neurons, the network begins to stop learning and gives random results for training data. The results obtained for the sigmoid activation function are presented in Table 3.  
Next, we tested the activation function arctan. This time the number of hidden layers was 1-7, and the number of neurons was varied according to Table 4. In this case, the minimum cost found on the test batch was 0.31 at an accuracy of 95.67% with seven hidden layers and 16 neurons on each layer. The results obtained for the arctan activation function are presented in Table 4.  
The best result was obtained using an architecture with six hidden states, eight neurons on each hidden layer, and each layer (excluding the output layer, which had softmax) having the arctan activation function. The accuracy of classes (in this case, on the test group) was 95.67%. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Number of Neurons**} & \multicolumn{2}{c}{**Training**} & \multicolumn{2}{c}{**Testing**} \\ \cline{2-5}  & **Cost** & **Accuracy** & **Cost** & **Accuracy** \\ \hline
8 & 0.67 & 67.87 & 0.35 & 95.67 \\
16 & 0.67 & 64.53 & 0.31 & 95.37 \\
32 & 0.55 & 72.79 & 0.31 & 92.62 \\
64 & 0.58 & 74.31 & 0.33 & 88.53 \\
128 & 0.52 & 78.25 & 0.34 & 87.38 \\
256 & 0.55 & 71.13 & 0.35 & 94.17 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The results obtained for the arctan activation function. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Number of Neurons**} & \multicolumn{2}{c}{**Training**} & \multicolumn{2}{c}{**Testing**} \\ \cline{2-5}  & **Cost** & **Accuracy** & **Cost** & **Accuracy** \\ \hline
8 & 0.57 & 75.57 & 0.35 & 87.05 \\
16 & 0.58 & 72.00 & 0.32 & 90.18 \\
32 & 0.58 & 73.29 & 0.46 & 88.62 \\
64 & 0.56 & 74.56 & 0.34 & 87.18 \\
128 & 0.54 & 74.23 & 0.38 & 85.65 \\
256 & 0.55 & 75.83 & 0.38 & 89.97 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: The results obtained for the tanh activation function.