## 3 Methodology and Proposed Model
### Data Pre-Processing
#### 3.2.3 Data Augmentation  
Large amounts of data are essential for deep learning models to perform effectively, as increased data typically enhance model performance [54]. However, in certain cases, such as with the IBM dataset, the available data may be limited. With only 1470 entries, this dataset presents challenges for efficiently training deep learning models. Additionally, data imbalance poses another issue in the IBM dataset. In binary classification tasks, class imbalance arises when the majority of the dataset's examples fall into one class while the remainder fall into the other class [55]. In the IBM dataset, 1233 employees are in the \"no\" attrition group, while only 237 entries are in the \"yes\" attrition category, creating an unbalanced distribution between the two attrition groups. One effective approach to enhancing the generalizability of trained models is data augmentation, which is especially valuable when working with small and imbalanced datasets, common challenges in practical applications. By adding synthetic instances to the dataset, classification accuracy can often be improved [56]. There are various data augmentation and data balancing techniques, each tailored to the specific features of the dataset. One effective method is the use of generative data augmentation techniques, such as Autoencoders (AEs) and Generative Adversarial Networks (GANs). Although Autoencoders have been explored for generating synthetic data, their adoption has been limited due to the lower quality of the data they produce. In contrast, GANs are capable of generating highly realistic synthetic instances, making them a more promising approach [57; 58]. Generative Adversarial Networks (GANs): The two main parts of a GAN are a discriminative model and a generating model. While the generative model seeks to generate data that closely match actual data, the discriminative model seeks to distinguish between genuine and synthetic data [59; 60]. Essentially, the GAN framework operates as a two-player adversarial game, where the discriminator (D) and the generator (G) compete with one another. The discriminator calculates the generator's updating gradients using an adaptive objective [61]. Both components of the GAN may incorporate multiple deep learning layers, including fully connected layers, convolutional layers, and others. We utilize a fully connected GAN-based data augmentation technique to generate a balanced synthetic dataset, significantly increasing the number of records compared to the original IBM dataset. Table 3 outlines the architectural details of the generator and discriminator in the GAN used in this study. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & **Generator** & & & **Discriminator** & \\ \hline
**Layer** & **Configuration Details** & **Output** & **Layer** & **Configuration Details** & **Output** \\ \hline Input & Latent dim = 16 & None, 16 & Input & Input dim = 35 & None, 35 \\ Dense & Unit = 64 & None, 64 & Dense & Unit = 128 & None, 128 \\ LeakyReLU & Alpha = 0.2 & None, 64 & LeakyReLU & Alpha = 0.2 & None, 128 \\ Dense & Unit = 128 & None, 128 & Dense & Unit = 64 & None, 64 \\ LeakyReLU & Alpha = 0.2 & None, 128 & LeakyReLU & Alpha = 0.2 & None, 64 \\ Dense & Unit = 35, & & & Unit = 1, \\ Activation = tanh & None, 35 & Dense & Activation = sigmoid & None, 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: The details of generator and discriminator layers of the GAN model. Since the discriminator often outperforms the generator, this can prevent the training process from converging. To address this, it is important to set appropriate model parameters that do not overwhelm the generator. One key consideration when designing the discriminator is ensuring that its trainable parameters are roughly equal to those of the generator, thus maintaining a balance between both models [62].