# Noninvasive Deep Learning Analysis for Smith-Magenis Syndrome Classification
## 3 Methods and Materials
### Neuronal Network (CNN)  
The neural network architecture depicted in Figure 1 showcases its diverse layers, shapes, and hyperparameters. The architectural journey commences with the input layer. The Gaussian noise layer introduces random Gaussian noise to the input data with a standard deviation of 0.01. This stochastic process adds variability to the input, serving to prevent overfitting during training. The dropout layer is a regularization technique commonly applied in neural networks. During training, a fraction of randomly selected neurons within the network are temporarily \"dropped out\" or ignored. This dropout process helps prevent the network from relying too heavily on specific neurons or features, thus reducing the risk of overfitting. A dropout rate of 10% is applied during each of the four steps where this model is utilized. Figure 1: Architecture of the convolutional neural network (CNN) proposed for the current research work. (1) Gaussian noise (stddev = 0.01); (2) dropout (0.1); (3) Conv1d (filters = 8, kernel_size = 3, padding = ‘same’); (4) batch normalization; (5) activation (Relu); (6) average pooling 1D (pool_size = 4, strides = 2, padding = ‘same’); (7) dropout (0.1); (8) Conv1d (filters = 16, pad-kernel_size = 3, ding = ‘same’); (9) batch normalization; (10) activation (Relu); (11) average pooling 1D (pool_size = 4, strides = 2, padding = ‘same’); (12) dropout (0.1); (13) flatten; (14) dense (activation=’relu’); (15) dropout (0.1); (16) dense (activation= ‘relu’). Subsequently, the network progresses to the convolutional layers, the fundamental building blocks of a CNN. These layers employ a multitude of filters, mathematically termed kernels that traverse the audio in a systematic fashion. The 1D convolutional layer performs convolutions on one-dimensional input data. Utilizing learnable filters or kernels, this layer extracts relevant features from the input signal, capturing dependencies and patterns. By sliding the kernel across the input sequence and computing dot products, the layer generates feature maps that represent abstracted representations of the input data. This process enables the network to effectively learn hierarchical features essential for various tasks, such as sequence modeling and time series analysis. The convolutional neural network commences operation with an initial frame count of one hundred. Each frame encapsulates a feature vector comprised of twenty MFCCs alongside a CPP feature. The first iteration leverages a convolutional layer configured with eight filters. These filters are applied by a set of three kernels. The application of these filters adheres to a padding convention, ensuring consistency in the resulting feature map dimensions. The subsequent iteration processes the output from the prior phases. This iteration employs a convolutional layer with sixteen filters. The kernel quantity and padding convention remain identical to those utilized in the first iteration. The batch normalization layer is a normalization technique applied to the activations of a neural network's hidden layers. By normalizing the activations within each mini-batch during training, batch normalization helps mitigate internal covariate shift and accelerates the training process. It is applied twice in the CNN sequence. The activation layer plays a crucial role. It utilizes a nonlinear function to introduce complexity, enabling the network to learn nonlinear relationships within the data. Among these nonlinear functions. The rectified linear unit (ReLU) introduces nonlinearity to the network by thresholding the input at zero, effectively replacing negative values with zeros while leaving positive values unchanged. Like above, this process is repeated twice. Following each activation function, an average pooling layer is applied. This operation reduces the spatial dimensionality of the feature maps. The input size to the pooling layer is halved compared to the preceding layer's output.