## 3 Methodology
### Feed-Forward Artificial Neural Network  
An ANN is a simplified mathematical model consisting of artificial neuron functions that imitate the behavior of human brain neurons. This work utilized the power and simplicity of feed-forward neural networks implemented using the TensorFlow Keras library. Multiple hyperparameter tunings were performed, as mentioned in Table 8, and these are discussed further. The use of a sequential model (Figure 12) allows us to create five hidden layers of neurons with a density of 512 neurons at each inner layer. For the smooth training of the ANN model, the learning rate was kept at 1 \(\times\) 10\({}^{-5}\) (0.00001). This controls the rate at which the model adapts to the problem at hand. The learning rate is one of the most important parameters used to control the rate of change in neuron connection weights. If it is too large, it will quickly converge to a suboptimal solution, or if it is too small, then it can cause the process to stall. Therefore, identifying a trade-off value is important and may require multiple runs of model training. Also, based on the feature selection discussed in the previous section, the input shape for the ANN varies for each experiment. \begin{table}
\begin{tabular}{l c c c c c c} \hline
**Feature** & **Count** & **Acc.** & **Results** & & **Metrics** \\ \hline  & & & **Class** & **Precision** & **Recall** & **F1-Score** \\ \hline All harmonics & 82 & 93.80\% & Normal & 0.97 & 0.96 & 0.96 \\  & & & Abnormal & 0.82 & 0.86 & 0.84 \\ \hline Chroma only & 12 & 93.40\% & Normal & 0.97 & 0.95 & 0.96 \\  & & & Abnormal & 0.81 & 0.86 & 0.83 \\ \hline Chroma CENS & 12 & 80.30\% & Normal & 0.82 & 0.98 & 0.89 \\ only & & & Abnormal & 0.39 & 0.07 & 0.12 \\ \hline MFCC only & 40 & 92.60\% & Normal & 0.95 & 0.96 & 0.95 \\  & & & Abnormal & 0.82 & 0.79 & 0.80 \\ \hline Statistical only & 18 & 92.70\% & Normal & 0.96 & 0.95 & 0.95 \\  & & & Abnormal & 0.79 & 0.84 & 0.82 \\ \hline Chroma, Statistical & 30 & 92.90\% & Normal & 0.96 & 0.95 & 0.96 \\  & & & Abnormal & 0.81 & 0.82 & 0.81 \\ \hline Chroma CENS, Statistical & 30 & 92.40\% & Normal & 0.95 & 0.95 & 0.95 \\  & & & Abnormal & 0.79 & 0.81 & 0.80 \\ \hline MFCC, Statistical & 58 & 93.50\% & Normal & 0.96 & 0.96 & 0.96 \\  & & & Abnormal & 0.82 & 0.84 & 0.83 \\ \hline \end{tabular}
\end{table} 
Table 7: Experiment results from harmonics features. Before the start of the ANN training, the neuron connection weights must be initialized. This work utilized a random uniform initializer for model weights in the range of \(-0.05\) to \(+0.05\). Accordingly, the weights were uniformly distributed, ensuring that each weight had an equal chance of being assigned any value between the minimum and maximum. This helped prevent overfitting and enabled the network to converge more quickly to an optimal solution. Ultimately, this impacted the outcome of the optimization procedure of the ANN and its ability to generalize based on the problem. Now, because initializers were used, the ANN may have become sensitive to initial random weights, which may lead to slow model convergence. To counter this, a batch normalization layer was used, which normalizes the inputs to a layer for each batch of inputs. It helps reduce the internal covariate shift, thereby speeding up the learning process and reducing the chances of overfitting. Batch normalization also helps reduce the vanishing/exploding gradients problem and improves generalization ability. This leads to stable model training due to regularization, fewer generalization errors, and reduced training epochs, resulting in accelerated learning. For each neuron in the hidden layers, the ReLU activation function was used to introduce non-linearity into the network. ReLU is computationally efficient, prevents the  
Figure 12: Feed-forward ANN.