## 3 Material and Methods
### GAN Overview  
This study focuses on GANs as proposed and modeled by [PERSON] et al. (2014) in 2014. The standard GAN architecture is composed of two deep neural network models, namely the generator and the discriminator, acting in a competitive manner. The generator is a deep neural network that receives as input a vector of random numbers, indicated as random noise, and its main task is the generation of high-quality, realistic data, similar to the content that was provided as input. On the other hand, the discriminator is a simple \begin{table}
\begin{tabular}{c c} \hline \hline
**Feature** & **Type** \\ \hline Dur & float64 \\ Sport & object \\ Dport & object \\ State & object \\ TotPkts & int64 \\ TotBytes & int64 \\ SrcBytes & Int64 \\ Label & bool \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Final dataset features and their data types. Figure 3: Feature selection graph. feedforward deep neural network that classifies the input samples of data as original or generated. The generator loss and the discriminator loss are calculated in a separate way and combined following a min-max game based on Equation (1) [27], where \(G\) is the generator, \(D\) is the discriminator and \(V(D,G)\) is the value function of the _min-max_ game. \[min_{G}max_{D}V(D,G)=E_{x\sim p_{g}(x)}[\log\;D(x)]+E_{z\sim p_{z}(z)}[\log\left( 1-D(G(z))\right)] \tag{1}\]  
More specifically, the generator's distribution \(p_{g}\) over data \(x\) can be learned given that the input noise variables \(p_{z}(z)\) are first defined. Following the noise variables' definition, a representation of the mapping to the data space is defined as \(G(z;\,\theta_{g})\), where \(G\) is a differentiable function represented by a multilayer perceptron with parameters \(\theta_{g}\). Then, a second multilayer perceptron \(D(x;\,\theta_{d})\) is defined which outputs a single scalar as described previously. \(D(x)\) represents the probability that \(x\) came from the data rather than \(p_{g}\). Finally, the discriminator is trained to maximize the probability of assigning the correct label to both the original and generated samples, whilst the generator is trained to minimize \(\log(1-D(G(z)))\). In addition, during the generation of botnet samples, the generator and the discriminator losses can be calculated separately based on Equations (2) and (3), respectively [27]. \[min_{G}V(G)=\
abla_{\theta_{g}}\frac{1}{m}{\sum_{i=1}^{m}}\log\;\left(1-D \Big{(}G\left(z^{(i)}\right)\Big{)}\right) \tag{2}\]  
\[max_{D}V(D)=\
abla_{\theta_{d}}\frac{1}{m}{\sum_{i=1}^{m}}\Big{[}\log D\left( x^{(i)}+\log\;\left(1-D\Big{(}G\left(z^{(i)}\right)\Big{)}\right)\Big{]} \tag{3}\]  
As this study focuses on the evaluation of different parameterizations, the mathematical modeling described above and Equations (1)-(3) totally express the GANs' functionality developed and evaluated for the purposes of this study. One of the most crucial stages when exploring the differences between different GAN architectures is the definition of the models used to achieve optimal performance. It is  
Figure 4: Correlation Matrix. important to explore and evaluate different GAN architectures because different kinds of datasets and/or tasks may require different model architectures to achieve the best performance. The optimal number of layers for the generator and discriminator depends on the complexity of the data distribution, the size of the training dataset, the computational resources available, and the defined architecture and hyperparameters of the GAN model. A GAN model with 4-6 layers in both the generator and discriminator networks is often a good starting point for generating realistic synthetic data. However, the optimal number of layers and architecture of a GAN model should be chosen based on a trade-off between model complexity, training stability, computational resources, and the desired quality and fidelity of the generated samples.