FedPNN: One-shot Federated Classification via Evolving Clustering Method
  and Probabilistic Neural Network hybrid
Protecting data privacy is paramount in the fields such as finance, banking,
and healthcare. Federated Learning (FL) has attracted widespread attention due
to its decentralized, distributed training and the ability to protect the
privacy while obtaining a global shared model. However, FL presents challenges
such as communication overhead, and limited resource capability. This motivated
us to propose a two-stage federated learning approach toward the objective of
privacy protection, which is a first-of-its-kind study as follows: (i) During
the first stage, the synthetic dataset is generated by employing two different
distributions as noise to the vanilla conditional tabular generative
adversarial neural network (CTGAN) resulting in modified CTGAN, and (ii) In the
second stage, the Federated Probabilistic Neural Network (FedPNN) is developed
and employed for building globally shared classification model. We also
employed synthetic dataset metrics to check the quality of the generated
synthetic dataset. Further, we proposed a meta-clustering algorithm whereby the
cluster centers obtained from the clients are clustered at the server for
training the global model. Despite PNN being a one-pass learning classifier,
its complexity depends on the training data size. Therefore, we employed a
modified evolving clustering method (ECM), another one-pass algorithm to
cluster the training data thereby increasing the speed further. Moreover, we
conducted sensitivity analysis by varying Dthr, a hyperparameter of ECM at the
server and client, one at a time. The effectiveness of our approach is
validated on four finance and medical datasets.
Polaki Durga Prasad, Yelleti Vivek, Vadlamani Ravi
FedPNN: One-shot Federated Classification via Evolving Clustering Method and Probabilistic Neural Network hybrid

###### Abstract

Protecting data privacy is paramount in the fields such as finance, banking, and healthcare. Federated Learning (FL) has attracted widespread attention due to its decentralized, distributed training and the ability to protect the privacy while obtaining a global shared model. However, FL presents challenges such as communication overhead, and limited resource capability. This motivated us to propose a two-stage federated learning approach toward the objective of privacy protection, which is a first-of-its-kind study as follows: (i) During the first stage, the synthetic dataset is generated by employing two different distributions as noise to the vanilla conditional tabular generative adversarial neural network (CTGAN) resulting in modified CTGAN, and (ii) In the second stage, the Federated Probabilistic Neural Network (FedPNN) is developed and employed for building globally shared classification model. We also employed synthetic dataset metrics to check the quality of the generated synthetic dataset. Further, we proposed a meta-clustering algorithm whereby the cluster centers obtained from the clients are clustered at the server for training the global model. Despite PNN being a one-pass learning classifier, its complexity depends on the training data size. Therefore, we employed a modified evolving clustering method (ECM), another one-pass algorithm to cluster the training data thereby increasing the speed further. Moreover, we conducted sensitivity analysis by varying Dthr, a hyperparameter of ECM at the server and client, one at a time. The effectiveness of our approach is validated on four finance and medical datasets.

**Keywords:** One-shot FL; PNN; CTGAN; ECM

## 1 Introduction

As regards the data privacy and security, the advent of a new paradigm of machine learning (ML), known as Federated Learning [1], facilitates training machine learning (ML) models without transferring sensitive data to the server. It supports distributed training in remote siloed data centers as well, where the private data resides. In the FL paradigm a central server trains a better quality learning model with the coordination of a federation of participating clients. In a typical FL setting, it is often assumed that many clients possess a small number of
non-independent and identically distributed (non-i.i.d) data, have limited computational power, and restricted communication network capabilities.

In general, FL is broadly categorized into three different types [31], (i) Horizontal federated learning (HFL), (ii) Vertical federated learning (VFL), and (iii) Federated Transfer learning (FTL). HFL refers to sample (or data points) partitioned federated learning. It is applied in a scenario where there is an overlap in the feature space among the clients but differs in the sample space. On the other hand, VFL is applied in a scenario where the sample space is aligned with different clients but differs in the feature space. FTL is applied in a scenario where a small sample space overlaps but differs in the feature space. FTL allows knowledge transfer across different domains; i.e., a trained model from the source domain used to build an efficient model in a specific target domain.

FL is a domain-agnostic methodology. It has been popularized and heavily used in financial industries such as, to detect fraudulent activities associated with credit or debit cards [2, 3]. The fraudulent transactions have been proven to be one of the major causes of financial losses [2]. In these cases, the Federated fraud detection system [3] based on artificial neural network outperformed the fraud detection system that trained on data belonging to a single bank. Additionally, FL based fraud detection systems provide privacy. However, FL based techniques involve various challenges such as statistical heterogeneity of client data, communication overhead, system heterogeneity, and privacy concerns.

All the notation used in the current study is presented in Table 1. Traditionally, FL settings are maintained as follows: local models usually train on the local data respective to each client, {\(\mathcal{D}_{\text{1}}\),... \(\mathcal{D}_{\text{k}}\)} (refer

\begin{table}
\begin{tabular}{|c|l|l|l|} \hline
**Notation** & **Denotes** & **Notation** & **Denotes** \\ \hline K & Number of clients & \(a\) & Real value of input data \\ \hline \(\mathcal{D}_{\text{k}}\) & Private dataset at client & Xtrain & Train dataset \\ \hline \(\mathbb{P}\) & Probability distribution & Xtest & Test dataset \\ \hline \(\sigma\) & Smoothing parameter & \(\mathcal{N}\)(m, n) & Gaussian distribution with \\  & & & mean m and variance n \\ \hline N & Number of samples & \(\eta\) & Learning rate \\ \hline \(Dthr\) & Threshold cluster radius & \(p_{k}\) & Representing probability \\  & & & distribution of client ‘k’ \\ \hline \(f_{A}(X)\) & Activation function & \(d(i,j)\) & Normalized euclidean \\  & & & distance between point i \\  & & & and j \\ \hline PDF & Probability density function & \(s(i,j)\) & Updated normalized \\  & & & euclidean distance \\ \hline \(X_{A_{i}}\) & Cluster center in the neuron of pattern & \(Ru_{j}\) & j\({}^{\text{th}}\)cluster radius \\  & layer of PNN & & \\ \hline d & Number of independent features & CC & Set of Cluster centers \\ \hline \(\rho_{e}\) & Probability densities of continuous & \(\mu_{e},\Phi_{e}\) & Weight and Standard \\  & column & & deviation of mode ‘c’ \\ \hline \(c_{i,j}\) & Continuous column value & \(\tau_{j}\) & The row of a dataset \\ \hline b & Server side & & \\ \hline \end{tabular}
\end{table}
Table 1: Notation used in the current study
to Table 1), generated by \(k\) distinct nodes. Further, data at each node \(t\in k\) is non-i.i.d across the network and is being generated by a distinct distribution \(X_{t}\sim\mathbb{P}_{t}\) (statistical heterogeneity). Additionally, the number of sample points at each node may significantly vary. These kind of FL settings requires a huge number of communication rounds between clients and the server that suffers the bottleneck in the form of communication overhead. Further, Zhao et al., [34] demonstrated that the invocation of the FedAvg algorithm decreases the quality of FL models. This can result in diverging the global model weights, which leads to poor generalization. There are some additional challenges in the form of network heterogeneity, which implies that some clients in the network are loosely connected to the server. Hence, there is a chance that the updates received from this set of clients would not reach the server and thereby hindering the performance. It resulted in the advent of a new type of learning i.e., one-shot federated learning [11], where there is only one single round of communication between clients and the server. However, as a result, it should not affect the accuracy of the model built. Additionally, in one-shot FL, it is recommended that the number of training samples at each client should be greater than the number of clients to ensure the performance of the FL model comparable to that of the model trained on the central level.

To alleviate privacy concerns, we need to analyze the synthetic dataset. Recently, Generative Adversarial Networks (GANs) [32] occupied a prominent role in generating synthetic datasets by preserving the correlation structure among the features or variables and maintaining the quality. However, there are various challenges, involved in handling tabular datasets viz., (i) handling mixed data types comprising both numerical and categorical features, (ii) dealing with multimodal distribution datasets, and (iii) handling imbalance in categorical features. To overcome these challenges, Xu et al. [9] proposed conditional tabular GAN (CTGAN) by incorporating mode-specific normalization and a conditional vector. However, CTGAN uses single distribution based noise vector which limits the ability to capture the complex dependencies between features. Moreover, it could not capture the true distribution of features. This motivated us to incorporate multiple distributions-based noise vectors to capture complex distributions and increase the probability of capturing the true distribution of features.

Probabilistic neural network (PNN) [33] is a one-pass learning algorithm where training and testing occur simultaneously. It is used for classification problems where the probability density function (PDF) for each class is calculated and computed as the class probability for a given sample. However, the downside of PNN is its computational complexity, which is directly proportional to the size of the training data. Hence, in the case of large datasets, researchers proposed clustering the training data while employing PNN. Clustering algorithms such as K-means, convex clustering, centroid-based clustering, etc., can be used for this purpose. These algorithms usually take multiple iterations to find the optimal cluster centers. Hence, Kasabov and Song [5] proposed an online clustering algorithm i.e., evolving clustering machine (ECM) which takes a single iteration to scan all train data and dynamically compute cluster centers. Here, the number of clusters is controlled by a parameter called Dthr (dynamic threshold radius).
In our current research, owing to the disadvantages of traditional FL, we propose a novel two-stage methodology, where ECM-in the first stage, we employed a modified CTGAN to generate non-i.i.d data. In the second stage, we developed and employed ECM-PNN hybrid classifier to handle high dimensional, voluminous datasets, owing to their one-pass learning capability. The effectiveness of the proposed FL algorithm is tested on tabular datasets taken from finance and medical domains. It is important to note that we conducted an analysis in HFL on tabular datasets and hence the feature space is common among the clients but differs in the sample space.

Major contributions of the current study are as follows:

* Proposed a one-shot FedPNN based classifier by invoking ECM as the pre-processor to PNN.
* Proposed a two-phase methodology for handling tabular datasets from finance and medical domains under one-shot federated settings.
* Proposed a modified CTGAN to generate non-i.i.d synthetic data having multiple distributions with noise.
* Proposed meta-clustering aggregation algorithm for the generalization of global model overcoming the limitations of FedAvg.

The rest of the paper is organized as follows: In Section 2, we presented the literature survey. Section 3 describes the relevant background and Section 4 discusses the proposed methodology. Section 5 describes datasets and Section 6 gives an overview of the experimental setup. Section 7 presents experimental results then Section 8 concludes the paper.

## 2 Literature Survey

In this section, we will discuss the literature review on One-shot algorithms in the context of FL. Zhang et al., [10] proposed three one-shot averaging methods BAVGM (Bootstrap average mixture), achieved comparable performance relative to centralized methods where the data is available at the server. Further, BAVGM turned out to be better than average mixture (AVGM) methods under certain assumptions that the number of samples at the clients is greater than a certain threshold.

Guha et al., [11] proposed a one-shot FL method which is an ensemble of \(c\leq d\leq\sqrt{N}\), \((\because N\) is the number of samples) local models to train the global model. This could be applied to both supervised or semi-supervised learning algorithms. Kasturi et al., [12] proposed a one-shot FL algorithm, named fusion learning where each client sends local dataset distribution parameters and local model parameters to the server. Later, the server then generates the dataset by using all client distributions, labels them using client models then the server trains the global model on a generated dataset.

Shin et al., [13] proposed a privacy-preserving data augmentation technique by employing a mix-up method under one-shot FL settings and named XorMixFL to handle non-i.i.d data. The server then decodes the
encoded seed samples by employing the XOR operator. Here, these seed samples are uploaded by the clients and adds them to the base samples at the server to iteratively construct a balanced dataset until it converges. It is reported that the global model trained on reconstructed data performed better than the traditional FL settings.

Zhou et al., [14] proposed a distilled one-shot federated learning, named DOSFL, where the server trains on distilled training data sent by available clients. Qinbin et al., (2021) proposed a practical one-shot federated learning algorithm for cross-silo settings named Federated knowledge transfer (FedKT), which uses a knowledge transfer technique for the clients to learn from the local client model and the server uses these models as an ensemble to make the predictions on the public data at the server.

Salehkaleybar et al., [15] analyzed problems of statistical optimizations of convex loss landscapes in one-shot methods, and under communication constraints. They proposed a method called multi-resolution estimator clustering with communication cost of log (mn) bits per transmission (MRE-C-log), under constrained estimation error, which is able to reach order optimal up to poly-logarithmic factor.

Dennis et al., [16] proposed a one-shot Federated clustering technique (K-FED), a variant of distributed K-means clustering algorithm [27], which leverages data heterogeneity and mitigates data distribution for clustering. Eren et al., [17] proposed a first-of-its-kind recommendation system using collaborative filtering in one-shot FL (FedSPLIT) where each client locally trains a recommendation model using collaborative filtering and global bias which is received from the server. Later, it sends the local pattern and bias of these models back to the server. The server uses joint non-negative matrix factorization [4] to aggregate the client updates.

Zhang et al., [18] proposed a data-fee one-shot FL (DENSE) where the server trains an auxiliary generator by using an ensemble of local model updates from the clients after that the final global model is trained. This is followed by the generation of synthetic data by the trained generator and an ensemble of client models using knowledge distillation. Lee et al., [19] proposed a one-shot FL where linear unbiased estimates of multi-task linear (MTL) regression at the clients are uploaded to the server. Then, it linearly combines these estimates and produces improved MTL estimates. Fusion learning at the server is performed by collecting the estimates in each iteration and aggregating the updated estimate to find the final MTL.

Hoech et al., [20] proposed a one-shot FL, Federated auxiliary differential private (FedUXdf) where each client trains two models i.e., graph regularized logistic classification and a proposed differentially private model. The server trains the full global model using aggregated weight updates of FedUXdf model, from the clients and public distilled data, labeled using certainty scores of local logistic classification trained on clients. Rjoub et al., [21] integrated a model-free reinforcement learning component into a one-shot FL (OSFL) algorithm where local models are aggregated at the server and clients can choose to label their samples either automatically or request the true label for a one-shot learning component.

Garin et al., [22] provided upper bounds on the local MSE and biases in a very general setting of empirical risk minimization (ERM). They proposed Federated estimation with statistical correction (FESC) which aggregates the local estimations based on a minimization of an upper bound of the MSE. They also
addressed the minimum sample size constraint of the clients in the one-shot FL scenario. Garin and Quintana [23] proposed FESC method for the effective sample size distribution of the clients. They showed that the mean number of samples per node must be at least equal to the number of nodes in the FL training for its performance comparable to that of centralized training.

Wang et al., [24] proposed a novel, first-of-its-kind Data-free diversity-based ensemble selection framework (DeDES) for selecting strong ensemble teams from the machine learning model market, these models are trained by one-shot FL. They proposed a technique for selecting a better representative model inside a cluster to improve the performance of the final model.

Humbert et al., [25] presented an institute one-shot FL method named Federated conformal prediction based on quantiles of quantiles (FedCP-QQ). The prediction scores include differentially private data points and their corresponding prediction scores for each client. These scores are arranged in the quantile range, and the model selects local empirical quantiles in a privacy-preserving manner. Then, they are sent to the server where the aggregation of the quantile of these quantiles is executed.

Armacki et al., [26] proposed a family of one-shot federated clustering algorithms based on simple inference and averaging schemes with K-means and convex clustering methods. The theoretical results showed that the order-optimal mean squared error (MSE) guarantees results compared to central learning in terms of space complexity.

Our current study is different from the literature in the following way:

* Proposed One-shot FedPNN based classifier.
* To the best of our knowledge, our methodology is the first-of-its-kind, employing ECM invoked with PNN in FL scenario to further speed up the process.
* We incorporated two distributions in CTGAN and proposed a modified CTGAN.

## 3 Preliminaries

In this section, we discuss the employed architectures for classification and synthetic data generation.

### Evolving Clustering Method

Evolving clustering method (ECM) [5] is an online dynamic clustering method, a one-pass learning algorithm that uses normalized euclidean distance to dynamically find the cluster centers. It was applied to anomaly detection [4], two spiral problems [5], etc.

ECM starts by considering the first sample as the cluster center, with a radius initialized to zero. Whenever a new sample comes, then the euclidean distance between the point and all of the existed centers is calculated individually and the minimum is considered for further evaluation. The current sample either falls into one of the existing cluster centers or forms a new cluster which is decided by using dynamic threshold radius (Dthr) value. If the minimum distance is less than the two times of Dthr value then the new sample is
added to that particular cluster, and then both the cluster center and radius are updated accordingly. Otherwise, a new cluster is formed by considering the current sample as the new cluster center. This process is repeated until all samples are completely scanned.

### 3.2 Probabilistic Neural Network

PNN [33] is a single pass learning based feed forward neural network used for classification and pattern recognition problems such as credit card fraud detection, character recognizing, prediction of leukemia, and embryonal tumour of the central nervous system [7], etc. The architecture of PNN is depicted in Fig. 1.

PNN majorly comprises four layers (i) input layer, (ii) pattern layer, (iii) summation layer, and (iv) output layer. The input layer transfers the input test data to the pattern layer. Each neuron in the pattern layer contains a labeled training sample. The hidden neuron computes the euclidean distance between the test sample and the center of the neuron and applies a Gaussian, Logistic, or Cauchy activation function. The summation layer then calculates the weighted sum of probability estimates corresponding to each class, and the output layer compares the probability estimates of each category and outputs the most probable class. It uses Parzen's approach to estimate the parent probability density function (PDF) of a given set of training data. Thus, the estimated PDF would asymptotically approach the Bayesian optimal by minimizing the "_expected risk_" which is regarded as the "_Bayes strategies_".

In our current study, we adopted the Gaussian activation function is given in Eq. 1.

Figure 1: Architecture of PNN
\[\mathbf{f_{A}(X)}=\frac{\mathbf{1}}{\mathbf{n(2\pi)^{d/2}\sigma^{d}}}\sum_{\mathbf{t=1}}^{\mathbf{n}} \mathbf{exp}\left[-\sum_{\mathbf{j=1}}^{\mathbf{d}}\left(\mathbf{X_{j}}-\mathbf{X_{A_{tJ}}}\right)^{ 2}\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\!\! \!\!
which gets biased towards generating only the most frequent categories and thereby ignoring the less frequent classes. Therefore, while handling the categorical features, it adapts a conditional vector where multiple conditions can be specified to handle specific categorical columns. Hence, this is regarded as the conditional generator. Here, these conditions can relate to multiple categorical features thereby making CTGAN to handle single or multiple categorical features simultaneously.

## 4 Proposed Methodology

In this section, we will discuss the proposed framework which is depicted in Fig. 3, and the algorithm is given Algorithm 1. It comprises two phases, namely, Phase-I where the non-i.i.d synthetic data is generated, which ensures privacy and removes uniquely identifiable information from the real dataset. Thereafter, Phase-II begins where FedPNN is employed with the meta-clustering aggregation algorithm. The above two phases are discussed in detail below:

Figure 3: Flow diagram of proposed methodology
### PHASE-I : Non-i.i.d Synthetic data generation

The following is performed in the non-federated settings as follows:

* A synthetic non-i.i.d dataset is generated by the modified CTGAN.
* The thus generated synthetic non-i.i.d dataset is shared among \(k\) clients by employing a random sampling technique and then we proceed to Phase-II.

### Step a: Modified CTGAN

In the proposed architecture, we proposed and employed a modified CTGAN (refer to Fig. 4) which is different from Vanilla CTGAN in the following way:

* Vanilla CTGAN incorporates a single distribution to generate the input noise from randomly sampled data. However, in the modified CTGAN, we employed noise generation from two distributions (refer to Fig. 3) to overcome the challenges such as capturing complex dependencies between features that are faced by single distribution based noise. The employed distributions are: (i) standard normal \(\sim\)(0,1), and (ii) normal distribution \(N\sim\)(0.2,2).

Once, the random noise is generated from multiple distributions then it is fed as an input to the Generator. The conditions corresponding to categorical columns should be preserved in a conditional vector to generate specific target samples. The generator network in GAN considers both the random noise and conditional vector information to produce the output. It is to be noted that, we employed two different CTGANs (refer to Fig. 4) one for positive sample generation (referred to as CTGANpos) and the other is CTGANneg for negative sample generation. Doing so leverages us to generate as many as samples specific to a single class. As we know that, handling imbalance is very critical in the One-shot FL settings because the underlying model may get biased towards one class. To circumvent these challenges we employed two CTGANs each for a class.

Figure 4: Modified CTGAN
Once the dataset is generated, its quality is assessed by using the two different synthetic dataset metrics namely, (i) Koglomorinov Smirnov (KS) complement test score to assess the similarity between real samples and synthetic samples, and (ii) mean correlation symmetry test score (CStest score) to assess how much correlation structure is preserved between real and synthetic datasets. Since, we employed two CTGANs, the generated two datasets are combined and the quality of the synthetic data is assessed. Once, the training is completed and the quality metrics are satisfied then the next step begins.

**Step b: Data Sharing**

Once, the synthetic dataset is generated, it is shared among clients and the server as follows:

* We adopted _b% :(100-b)%_ proportion between the server and client nodes by employing the stratified random sampling method. In our one-shot FL settings, we reserved \(b\) % of the synthetic dataset at the server node for the server side evaluation. This helps in evaluating the performance of the meta-clustering aggregation principle, discussed later on.
* The rest of the (_100-b)_% of the dataset is shared among clients via simple random sampling which ensures the non-i.i.d nature of the dataset among clients. Further, each client receives the same proportion of samples of the classes as present in the original data and thus meets the real-world requirements.

In our approach, we fixed \(b\) to be 10 and hence the rest 90% of the dataset is shared among clients.

Figure 5: Non-i.i.d synthetic data generation and data sharing among the clients
## Phase II: FedPNN

In this phase (refer to Fig. 6), we employed PNN, a one pass learning algorithm that is preceded by a modified ECM algorithm. The performance of the modified ECM is also susceptible to Dthr, which denotes the cluster radius, and is a hyperparameter that determine the number of cluster centers.

The following are the critical steps involved:

* All the required parameters are broadcasted across the cluster.
* PNN models are locally evaluated at each client and then the centers are collected back at the server.
* Then, the meta-clustering algorithm is employed that involves clustering of the centers obtained by various clients by invoking ECM again and thus serves as an aggregation algorithm.
* Meta centers are passed back to the client and then evaluated on the updated local models at each client.

### Step a: Broadcasting information

In the first step, as mentioned in Phase-I, we reserved \(b\) % of the generated synthetic dataset on the server side. Hence, we need to maintain Dthr for both the clients and server individually. All these parameters are broadcasted to all the nodes in the federated environment.

### Step b: Local PNN training

Figure 6: Proposed one-shot FL Architecture
We know that the _(100-b)_ % dataset is reserved for clients and among clients simple random sampling dataset is employed thereby each client receives {p1, p2,..., pk}. Now, within each client, we maintained the train-test ratio of 80%:20%, and adopted stratified random sampling. By using client Dthr, we employed modified ECM (refer to Algorithm 2) to compute the cluster centers.

Modified ECM is different from ECM in the following way: It tracks the frequency of the points belonging to each of the clusters which are later used to label the cluster either as positive or negative class.

\[\mathbf{d(i,j)}=\left|\left|\mathbf{x_{i}-\mathbf{C}_{\varepsilon_{j}}}\right|\right|,\mathbf{j =1,2,...\,n} \tag{2}\]

\[\left|\left|\mathbf{x-y}\right|\right|=\left(\sum_{i=1}^{\mathbf{d}}\left|\mathbf{x_{i}-y_{ i}}\right|^{2}\right)^{1/2}\left/\mathbf{d^{1/2}}\,,\qquad\mathbf{x,y}\,\in\mathbf{R^{d}} \tag{3}\]

``` Server executes: Input: K, Xtrain, Xtest Output: AUC at the server and clients
1. CC \(\mathbf{\leftarrow}\) [ ]\({}_{\star X}\)
2. freq \(\mathbf{\leftarrow}\) [ ]\({}_{pKK}\)
3. for k := 1 to K do //client update function to receive results from the client k
4. CC\({}_{k}\), freq\(\mathbf{\leftarrow}\) clientUpdate(Dthr, p)
5. CC.append(CC\({}_{k}\)), freq.append(freqq)
6. end for
7. CC \(\mathbf{\leftarrow}\) Meta_clustering(CC, freq)
8. Z \(\mathbf{\leftarrow}\) group(CC) // grouping the Xtrain based on class.
9. score \(\mathbf{\leftarrow}\) EPNN(Z, Xtest)
10. broadcast CC to K clients Client executes: Input: Dk: private dataset at the client Output: AUC
1. Xtrain, Xtest\(\mathbf{\leftarrow}\) Dk
2. Normalize (Xtrain, Xtest) // server invokes this method to receive the result
3. function clientUpdate(Dthr, p)
4. CC \(\mathbf{\leftarrow}\) ECM(Xtrain, Dthr, p)
5. AUC \(\mathbf{\leftarrow}\) EPNN(CC, Xtest)
6. return CC // returns the update to the server.
7. CC \(\mathbf{\leftarrow}\) Server broadcast
8. AUC\(\mathbf{\leftarrow}\)EPNN(CC, Xtest)
9. return CC, AUC
**Input:**\(\mathrm{X}_{\mathrm{train}}\), n, Dthr, p

**Output:**\(\mathrm{CC}\), freq

1. \(\mathrm{X}_{\mathrm{train}}\), \(\mathrm{y}_{\mathrm{train}}\)\(\blacklozenge\)\(\mathrm{X}_{\mathrm{train}}\)
2. \(\mathrm{X}_{\mathrm{norm}}\)\(\blacklozenge\)Normalize (\(\mathrm{X}_{\mathrm{train}}\)), \(\mathbf{CC}\)\(\blacklozenge\)[ ]\(\mathrm{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0} \pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\ast}\)d, freq \(\blacklozenge\)[0,0,..,0]\(\mathrm{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0} \pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\ast}\)d] // number of classes equals 2
3. \(\mathbf{CC}\).append(\(\mathrm{X}_{\mathrm{norm}}\)[1]), \(Ru_{1}\)\(\blacklozenge\)0
4. freq[1, \(\mathrm{y}_{\mathrm{test}}\)[1]] \(\blacklozenge\)freq[1, \(\mathrm{y}_{\mathrm{test}}\)[1]] + 1 // \(\mathrm{y}_{\mathrm{test}}\)[*] can take value 1 or 2 for binary classification.
5. \(\mathbf{for}\) j := 2 to n
6. \(x\)\(\blacklozenge\)\(\mathrm{X}_{\mathrm{norm}}\)[j], 1 \(\blacklozenge\) len(\(\mathrm{CC}\))
7. \(\mathbf{compute}\)\(d(x,h)\), \(h=1,2,...,\) t (refer to Eq. (4))
8. \(d(x,m)\)\(\blacklozenge\)\(\min\limits_{k}d(x,h)\), \(h=1,2,...,\)t
9. \(\mathbf{if}\)\(d(x,m)\)\(\leq\)\(Ru_{m}\)then
10. freq[m, \(\mathrm{y}_{\mathrm{test}}\)[j]] \(\blacklozenge\)freq[m, \(\mathrm{y}_{\mathrm{test}}\)[j]] + 1
11. \(\mathbf{return}\) to step 4
12. \(\mathbf{else}\)
13. \(s(x,h)<-\)\(d(x,h)+Ru_{h}\), \(h<-1,2,..\) t (refer to Eq. (4))
14. \(s(x,a)<-\)\(\min\limits_{h}s(x,h)\), \(h<-1,2,..\) t (refer to Eq. (5))
15. \(\mathbf{endif}\)
16. \(\mathbf{if}\)\(s(x,a)>\)\(Dthr\)then
17. \(\mathbf{CC}\).append(\(\mathrm{X}_{\mathrm{norm}}\)[j]), \(Ru_{l+1}\)\(\blacklozenge\)0, freq.append ([0], [0]])
18. freq[m, \(\mathrm{y}_{\mathrm{test}}\)[j]] \(\blacklozenge\)freq[m, \(\mathrm{y}_{\mathrm{test}}\)[j]] + 1
19. \(\mathbf{return}\) to step 4
20. \(\mathbf{else}\)
21. \(Ru_{a}\)\(\blacklozenge\)\(s(x,a)/2,e\)\(\blacklozenge\)\(\mathbf{CC}\)[a]
22. temp \(\blacklozenge\)\(d(x,e)\)
23. ratio \(\blacklozenge\)\(abs(temp-Ru_{a})/temp\)
24. \(\mathbf{CC}\)[a] \(\blacklozenge\)\(\mathbf{CC}\)[a] \(+(x-e)*\) ratio
25. freq[a, \(\mathrm{y}_{\mathrm{test}}\)[j]] \(\blacklozenge\)freq[a, \(\mathrm{y}_{\mathrm{test}}\)[j]] + 1
26. \(\mathbf{endif}\)
27. \(\mathbf{end}\)for
28. \(\mathbf{return}\)\(\mathbf{CC}\), freq

The training of the modified ECM is described below:

* It starts by creating the first cluster center \(\mathrm{C}\)c by simply considering the first data point. For each cluster, there is a cluster center \(\mathrm{C}\)c\({}_{k}\) and the corresponding radius \(\mathrm{Ru}_{k}\). It employs normalized euclidean distance (refer to Eq. 2 and Eq. 3) which is computed for a given point and existing cluster centers.
* Now, the cluster center which is in the minimum distance (refer to Eq. 4) is considered for deciding whether the current data point belongs to a cluster or forms a new cluster. This is decided by comparing the minimum distance with Dthr.
It is important to note that the minimum distance refers to the additive value of both normalized euclidean distance and radius of the corresponding cluster.
* Now, thus obtained minimum distance is compared with the Dthr condition as follows: \[\begin{array}{rl}\circ&\mbox{If }s(i,a)>\ 2\times Dthr\mbox{, then a new cluster center with the current data point is formed,}\\ \circ&\mbox{If }s(i,a)\leq 2\times Dthr,\mbox{ then the data point is to be allotted to that particular cluster \(a\) and then update the cluster center, the corresponding radius, and class frequency vector.}\\ \hline\end{array}\] (4)

**Algorithm 3: PNN**

``` Input: CC, X\({}_{\mbox{\scriptsize{test}}}\), y\({}_{\mbox{\scriptsize{test}}}\) Output: score 1. u \(\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{   }}}}}}}}}}}}}}\) 2. y\({}_{\mbox{\scriptsize{pred}}}\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{ \boldsymbol{     }}}}}}}}}}}}}}}\) 3. fori:=1 to u do 4. forj:=1 to len(CC)do 5. Aj \(\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{ \boldsymbol{ \boldsymbol{     }}}}}}}}}}}}}}}}}\) 0, m \(\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{\boldsymbol{\boldsymbol{ \boldsymbol{ \boldsymbol{ \boldsymbol{ \boldsymbolboldsymbol{ \boldsymbol{      \boldsymbol{  \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{   \boldsymbol{  \boldsymbol{ \boldsymbol{ \boldsymbol{   \boldsymbol{ \boldsymbol{ \boldsymbol{ \boldsymbol{ \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{ \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{ \boldsymbol{   \boldsymbol{  \boldsymbol{ \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{  \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{  \boldsymbol{   \boldsymbol{  \boldsymbol{ \boldsymbol{    \boldsymbol{ \boldsymbol{   \boldsymbol{  \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{  \boldsymbol{    \boldsymbol{ \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{ \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{   \boldsymbol{   \boldsymbol{   \boldsymbol{   \boldsymbol{  \boldsymbol{  \boldsymbol{   \boldsymbol{  \boldsymbol{ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\}\\\\\\\\\\\\\\\\\\\\\\}\
**Algorithm 4: Meta-clustering using modified ECM at the Server**

**Input:** X, **Y**, n, Dthr, p

**Output:** CC, freq

**CC \(\leftarrow\) [ ], freq \(\leftarrow\)[[[0], [0]]]\(\mapsto\)nd // number of classes equals 2

1. **CC**.append(X[1]), \(Ru_{1}\)\(\leftarrow\) 0
2. freq[1,1] \(\leftarrow\)freq[1,1]+**Y[1,1] // **Y[1,*]** can take value 1 or 2 for binary classification.
3. freq[1,2] \(\leftarrow\)freq[1,2]+**Y[1,2]
4. **for** j : = 2 to n **do**
5. \(x\)\(\leftarrow\) X\({}_{non}[j],1\)\(\leftarrow\) len(CC)
6. compute \(d(x,h)\), \(h\) = 1,2,..1 using Eq (2)
7. \(d(x,m)\)\(\leftarrow\)\(\min\limits_{k}\)\(d(x,h)\), \(h\) = 1,2,..1
8. **if**\(d(x,m)\)\(\leq\)\(Ru_{m}\)**then
9. freq[m,1] \(\leftarrow\)freq[m,1] + **Y[j,1]**
10. freq[m,2] \(\leftarrow\)freq[m,2] + **Y[j,2]**
11. **return to step 4**
12. **else**
13. \(s(x,h)=d(x,h)+Ru_{h}\), \(h\) = 1,2,..1 using Eq 4
14. \(s(x,a)=\min\limits_{h}\)\(s(x,h)\), \(h\) = 1,2,..1 using using Eq 5
15. **endif**
16. **if**\(s(x,a)>Dthr\)**then
17. **CC**.append(X\({}_{non}[j]\)), \(Ru_{l+1}\)\(\leftarrow\) 0, freq.append ([[0], [0]])
18. freq[l,1] \(\leftarrow\)freq[l,1] + **Y[j,1]**
19. freq[l,2] \(\leftarrow\)freq[l,2] + **Y[j,2]**
20. **return to step 4**
21. **else**
22. \(Ru_{a}\)\(\leftarrow\)\(s(x,a)/2\), \(e\)\(\leftarrow\)**CC**[a]
23. \(temp\)\(\leftarrow\)\(d(x,e)\)
24. ratio \(\leftarrow\)\(abs(temp-Ru_{a})/temp\)
25. **CC**[a] \(\leftarrow\)**CC**[a] + \((x-e)*\) ratio
26. freq[a,1] \(\leftarrow\)freq[a,1] + **Y[j,1]
27. freq[a,2] \(\leftarrow\)freq[a,2] + **Y[j,2]**
28. **endif**
29. **end for**
30. **return CC, freq

**Step c: Meta-clustering aggregation algorithm**

In the first step, as mentioned in Phase-I, we reserved \(b\) % of the generated synthetic dataset on the server side. After training the local PNN model at each client, cluster centers are obtained to the server. As we know that, due to the heterogeneous number of clusters, one cannot employ the Federated average (FedAvg) or its successor algorithms. Hence, we proposed meta-clustering, where we employed ECM to find meta-cluster centers is given
in Algorithm 4. It is to be noted that, the meta-cluster centers are computed on the cluster centers obtained from all the clients. Using these meta-cluster centers, the PNN model is evaluated at the server side.

**Step d: Global training**

The meta cluster centers which are obtained from step c of Phase-II, are broadcasted to all the clients and are used to update the local models at each client and then these meta clusters are fed into the pattern layer of the local PNN model. The same test process which is discussed in local PNN training (Step b of Phase II) is performed by using meta clusters. Later, AUC is evaluated for each client.

## 5 Dataset Description

In the current study, we considered four benchmark datasets related to banking and medical domains that are binary classification datasets (refer to Table 2). It should be noted that 3 out of 4 datasets except Wilcoxon Breast Cancer are highly imbalanced datasets and all of them are having only numerical features. Originally, OVA Omentum dataset features consisted of 10,936, but we employed t-statistic based feature selection and selected the top 500 features for our analysis.

For each benchmark dataset, synthetic datasets were generated using modified CTGAN and the minority class is oversampled. The description of the synthetic data is presented in Table 3.

## 6 Experimental Setup

The following is the federated experimental setup utilized for conducting the experiments: one server and two clients. All the nodes are having Intel i7 6th generation processors with 32 GB RAM. For FL implementation,

\begin{table}
\begin{tabular}{|c|c|c|c|c|} \hline
**Dataset** & **Data points** & **Features** & \multicolumn{2}{c|}{**Class Distribution ratio**} \\ \cline{3-5}  & & & **Negative Class (\%)** & **Positive Class** \\ \hline Breast Cancer & 699 & 11 & 65.50 & 34.50 \\ \hline OVA Omentum & 1545 & 10936 & 95.00 & 5.00 \\ \hline Credit Card Fraud & 2,84,807 & 32 & 99.83 & 0.17 \\ \hline Polish Bankruptcy & 10,172 & 65 & 96.10 & 3.90 \\ \hline \end{tabular}
\end{table}
Table 2: Description of Benchmark datasets.

\begin{table}
\begin{tabular}{|c|c|c|c|c|} \hline
**Dataset** & **Data points** & **Features** & \multicolumn{2}{c|}{**Class Distribution ratio**} \\ \cline{3-5}  & & & **Negative Class (\%)** & **Positive Class** \\ \hline Breast Cancer & 916 & 11 & 50.00 & 50.00 \\ \hline OVA Omentum & 2936 & 10936 & 50.00 & 50.00 \\ \hline Credit Card Fraud & 3,98,237 & 31 & 71.00 & 29.00 \\ \hline Polish Bankruptcy & 19,544 & 65 & 50.00 & 50.00 \\ \hline \end{tabular}
\end{table}
Table 3: Description of generated synthetic data of Benchmark dataset
we utilized the Flower framework [29] to conduct the experiment which is developed in Python language and supports scaling to many distributed clients. It is also flexible for adopting a new proposed approach with low engineering overhead.

### Evaluation Metrics

In the current study, we employed two metrics for evaluating the quality of the synthetic dataset (i) Complement of the Kolmogorov-Smirnov test (KSComplement), (ii) Correlation similarity test score (CStest). Additionally, the performance of FedPNN is evaluated by AUC. The metrics are explained below:

#### 6.1.1 KSComplement

It measures the similarity of a given column in the real and synthetic datasets. It uses the Koglomorinov-Smironov statistic (KS statistic), which is calculated by converting the numerical column into its cumulative distribution frequency (CDF). The maximum difference between the two CDFs is known as the KS statistic, which lies between [0,1]. The KSComplement metric, mathematically defined in Eq. 6, also lies within the range of [0,1]. The higher the KSComplement the better the similarity is between real and synthetic columns.

\[\text{KSComplement test Score}=\mathbf{1}-\overset{sup}{x}|F_{i}(x)-F_{j}(x)| \tag{6}\]

where, \(\text{sum}_{\text{x}}\) is the supremum of set of distances. \(\text{F}_{i}\) is the Cumulative Distribution Function (CDF) of real data continuous columns likewise \(\text{F}_{\text{j}}\) is the CDF of the same continuous column in synthetic data. Mean KSComplement test score is the mean of test scores of all the independent variables of a dataset.

#### 6.1.2 CStest

It measures the correlation similarity between two numerical columns of the real and synthetic datasets. In our current study, the CStest score is presented in Eq. 7.

\[\text{Correlation Similarity test Score (A, B)}=\mathbf{1}-\frac{|S_{A,B}-R_{A,B}|}{2} \tag{7}\]

where, \(S_{A,B}\) and \(R_{A,B}\) are the correlation coefficient [28] of A and B, a pair of continuous columns, on synthetic and real data respectively.

#### 6.1.3 Auc

While handling imbalanced datasets, AUC is proven to be a robust measure which is an average of specificity and sensitivity. It is mathematically represented as presented in Eq. (8).

\[\text{AUC}=\frac{(Sensitivity+Specificity)}{2} \tag{8}\]

where,

\[Sensitivity=\frac{TP}{TP+FN} \tag{9}\]

and

\[Specificity=\frac{TN}{TN+FP} \tag{10}\]
where TP is a true positive, FN is a false negative, TN is a true negative, and FP is a false positive.

## 7 Results and Discussion

All the hyperparameters used for the synthetic dataset generation and for the current study are presented in Table 4. In this section, we will discuss the following: (i) synthetic dataset metric analysis, (ii) AUC analysis after local training, and meta-clustering. Further, we conducted a sensitivity analysis to discuss the effect of Dthr over the performance in the one shot FL settings in two different ways viz., (i) by varying client Dthr and keeping server Dthr constant, and (ii) by varying server Dthr and keeping client Dthr constant.

\begin{table}
\begin{tabular}{|c|l|l|c|c|} \hline \multirow{2}{*}{**Dataset**} & \multicolumn{3}{c|}{**GAN Architecture**} & \multicolumn{2}{c|}{**Dthr**} \\ \cline{2-5}  & \multicolumn{2}{c|}{**Negative Class**} & \multicolumn{1}{c|}{**Positive Class**} & \multicolumn{1}{c|}{\(\textbf{Clients_{1}}\) /} & \multicolumn{1}{c|}{**Server**} \\ \cline{2-5}  & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{**Client\({}_{2}\)**} & \\ \hline
**Breast** & GEN architecture (32,16) & GEN architecture (16,32) & 0.19 & 0.17 \\
**Cancer** & DIS architecture (16,32) & DIS architecture (32,16) & & \\  & Epochs = 80 & Epochs = 50 & & \\ \hline
**OVA** & GEN architecture & GEN architecture & 0.13 & 0.07 \\
**Omentum** & (256,128,64) & (256,128,64) & & \\  & DIS architecture (64,128,256) & DIS architecture & & \\  & Epochs = 50 & (64,128,256) & & \\  & Epochs = 20 & & \\ \hline
**Credit card** & GEN architecture (16,32) & GEN architecture (16,32) & 0.17 & 0.13 \\
**fraud** & DIS architecture (32,16) & DIS architecture (32,16) & & \\  & Epochs = 50 & Epochs = 150 & & \\ \hline
**Polish** & GEN architecture (64,32,16) & GEN architecture (64,32) & 0.11 & 0.05 \\
**Bankruptcy** & DIS architecture (32,128) & DIS architecture (256,256) & & \\  & Epochs = 50 & Epochs = 30 & & \\ \hline \multicolumn{5}{l}{* GEN : Generator ; DIS : Discriminator} \\ \end{tabular}
\end{table}
Table 4: Hyper parameter table used in the current study
### Comparative Analysis of Synthetic Data metrics

In this section, we compared the performance of the proposed modified CTGAN with that of vanilla CTGAN based on KSComplement and CStest scores. In our settings, we employed two CTGANs each for the positive and negative classes, respectively. We presented the mean KSComplement and mean CStest scores in Table 5 and Table 6, respectively. Importantly, it is desired to have a higher KS complement score and CStest score for a better synthetic dataset.

Table 5 shows that in 3 out of 4 datasets, Vanilla CTGAN obtained better KSComplement scores than modified CTGAN. This demonstrates that the synthetic dataset generated by Vanilla CTGAN is more similar to the original dataset when compared to that of modified CTGAN. Interestingly, in the Breast cancer dataset, modified CTGAN obtained a mean KSComplement score of 0.882 which is 1.9% greater than that of Vanilla CTGAN. However, in the Polish Bankruptcy, modified CTGAN obtained just 29.3% which is too less than the KSComplement score of Vanilla CTGAN. Overall, in terms of the KSComplement score, Vanilla CTGAN turned out to be better.

From Table 6, it is demonstrated that modified CTGAN obtained a better CStest score ensuring that it captured the correlation structure of the original dataset. Interestingly, Vanilla CTGAN obtained almost similar CStest scores in both the Breast cancer and OVA Omentu datasets respectively. It is important to note that even though modified CTGAN failed miserably to replicate the similarity of the original dataset (see Table 5), yet it captured correlation structure by 13% better than Vanilla CTGAN. Overall, in terms of the CStest score, modified CTGAN turned out to be better than Vanilla CTGAN.

\begin{table}
\begin{tabular}{|c|c|c|c|c|c|c|} \hline \multirow{2}{*}{**Dataset**} & \multicolumn{3}{c|}{Vanilla CTGAN} & \multicolumn{3}{c|}{Modified CTGAN} \\ \cline{2-7}  & Negative & Positive & Mean & Negative & Positive & Mean \\  & Class & Class & & Class & Class & \\ \hline
**Breast Cancer** & 0.860 & 0.896 & **0.878** & 0.868 & 0.888 & **0.878** \\ \hline
**OVA Omentum** & 0.912 & 0.920 & **0.916** & 0.911 & 0.920 & **0.916** \\ \hline
**Credit card fraud** & 0.981 & 0.856 & 0.918 & 0.980 & 0.860 & **0.920** \\ \hline
**Polish** & 0.672 & 0.894 & 0.783 & 0.932 & 0.894 & **0.913** \\
**Bankruptcy** & & & & & & \\ \hline \end{tabular}
\end{table}
Table 6: Mean CStest scores of the generated synthetic data

\begin{table}
\begin{tabular}{|c|c|c|c|c|c|c|} \hline \multirow{2}{*}{**Dataset**} & \multicolumn{3}{c|}{Vanilla CTGAN} & \multicolumn{3}{c|}{Modified CTGAN} \\ \cline{2-7}  & Negative & Positive & Mean & Negative & Positive & Mean \\  & Class & Class & & Class & Class & \\ \hline
**Breast Cancer** & 0.868 & 0.859 & 0.8635 & 0.877 & 0.886 & **0.882** \\ \hline
**OVA Omentum** & 0.728 & 0.704 & **0.716** & 0.691 & 0.661 & 0.676 \\ \hline
**Credit card fraud** & 0.914 & 0.793 & **0.8535** & 0.920 & 0.688 & 0.804 \\ \hline
**Polish** & 0.6122 & 0.929 & **0.7706** & 0.262 & 0.325 & 0.293 \\
**Bankruptcy** & & & & & & \\ \hline \end{tabular}
\end{table}
Table 5: Mean KSComplement scores of the generated synthetic data
### Comparative study of AUC

The best AUC results obtained in the respective datasets, generated by Vanilla CTGAN and modified CTGAN are presented in Table 7 and Table 8, respectively. We present the results for both the local training and meta-clustering phases. In addition to AUC, we also presented the number of centers.

In both cases, by employing Vanilla CTGAN and modified CTGAN, there is no significant change in AUC before and after the clustering phases. This indeed indicates that the employed meta-clustering is powerful enough in obtaining the generalized meta-centers, thereby reducing the row space dimension significantly. In terms of AUC, FedPNN achieved better AUC in all of the datasets using the synthetic dataset generated by modified CTGAN when compared to Vanilla CTGAN. Additionally, it is desired to obtain better AUC with the less possible number of cluster centers which indeed reflects the computational efficiency. Except in the Polish Bankruptcy dataset, the meta-clustering aggregation algorithm of FedPNN built on the synthetic dataset generated by modified CTGAN selected less number of centers in the negative class than that of Vanilla CTGAN. This demonstrates that employing modified CTGAN during synthetic dataset generation indeed preserves privacy and obtains higher AUC with less complexity when compared to Vanilla CTGAN. This is due to the fact that employing multiple distributions based on modified CTGAN captured the complex dependencies between the features better than Vanilla CTGAN.

### Sensitivity Analysis

In this section, we presented the sensitivity analysis conducted based on client Dthr and server Dthr. Here, we reported both the change occurred in AUC and the number of centers. The sensitivity analysis was conducted

\begin{table}
\begin{tabular}{c|c|c|c|c|c|c|c|c} \hline \multirow{3}{*}{**Dataset**} & \multirow{3}{*}{\begin{tabular}{c} **Type of** \\ **the** \\ **Node** \\ \end{tabular} } & \multicolumn{3}{c|}{Vanilla CTGAN} & \multicolumn{3}{c}{Modified CTGAN} \\ \cline{3-10}  & & \multicolumn{2}{c|}{Local Training} & \multicolumn{2}{c|}{After Meta-clustering} & \multicolumn{2}{c|}{Local Training} & \multicolumn{2}{c|}{After Meta-clustering} \\ \cline{3-10}  & & & & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{clustering} & \multicolumn{1}{c|}{clustering} & \multicolumn{1}{c|}{clustering} & \multicolumn{1}{c|}{clustering} \\ \cline{3-10}  & & AUC & No of & AUC & No of & AUC & No of & AUC & No of \\  & & & Centers & & Centers & & Centers & & Centers \\  & & & (-ve; +ve) & & (-ve; & & (-ve; & (-ve; \\  & & & & & +ve) & & & +ve) & \\ \hline \multirow{3}{*}{\begin{tabular}{c} **Breast** \\ **Cancer** \\ \end{tabular} } & **Client\({}_{1}\)** & 1 & (1;27) & 0.976 & (3; 17) & 0.989 & (2; 27) & **1** & **(2; 18)** \\ \cline{2-10}  & **Client\({}_{2}\)** & 0.988 & (2; 28) & 0.927 & & 1 & (3; 27) & **1** & \\ \cline{2-10}  & **Server** & - & - & 0.957 & & - & - & **0.989** & \\ \hline \multirow{3}{*}{\begin{tabular}{c} **Ova** \\ **Oment** \\ \end{tabular} } & **Client\({}_{1}\)** & 0.746 & (137; 16) & 0.735 & (276; 21) & 0.989 & (135; 1) & **0.989** & **(267; 6)** \\ \cline{2-10}  & **Client\({}_{2}\)** & 0.798 & (139; 5) & 0.794 & & 0.973 & (133; 4) & **0.973** & \\ \cline{2-10}  & **Server** & - & - & 0.738 & & - & - & **0.966** & \\ \hline \multirow{3}{*}{\begin{tabular}{c} **Credit card** \\ **fraud** \\ \end{tabular} } & **Client\({}_{1}\)** & 0.933 & (11;148) & 0.911 & (13; 74) & 0.985 & (5; 213) & **0.947** & **(4; 117)** \\ \cline{2-10}  & **Client\({}_{2}\)** & 0.94 & (17; 148) & 0.912 & & 0.987 & (4; 209) & **0.946** & \\ \cline{2-10}  & **Server** & - & - & 0.914 & & - & - & **0.949** & \\ \hline \multirow{3}{*}{
\begin{tabular}{c} **Polish** \\ **Bankruptcy** \\ \end{tabular} } & **Client\({}_{1}\)** & 0.945 & (16; 37) & 0.947 & **(21; 64)** & 0.977 & (27; 67) & **0.979** & **(36; 110)** \\ \cline{2-10}  & **Client\({}_{2}\)** & 0.897 & (11; 38) & 0.964 & & 0.965 & (28; 70) & **0.982** & \\ \cline{1-1} \cline{2-10}  & **Server** & - & - & 0.853 & & - & - & **0.899** & \\ \hline \end{tabular}

* : No local training in Server

\end{table}
Table 7: Comparative analysis on AUC after employing FedPNN
in two different ways: (i) by fixing the best client Dthr and varying the server Dthr parameter with an interval of 0.02 is depicted in Fig. 10 to Fig. 10, Fig. 10 (a) denotes the change in AUC, while Fig. 7 (b) denotes the change in the number of centers for the Breast Cancer dataset. The same is followed for the rest of the datasets as shown in Fig. 8, Fig. 9 and Fig. 10. (ii) by fixing the best server Dthr and varying the client Dthr parameter with an interval of 0.02, is depicted in Fig. 11 through Fig. 14. It is important note that the sensitivity analysis is restricted to the synthetic dataset generated by modified CTGAN due to its better performance, as discussed in Section 7.2.
Firstly, we discussed the performance of FedPNN by choosing the best value for client Dthr and keeping it constant but with varied server Dthr parameters. For the Breast cancer dataset, the best server Dthr is 0.17 (refer to Table 3), it is observed that as there is an increase in server Dthr, there is a decrease in AUC. Although no specific trend is observed, the AUC constantly decreased after 0.21. However, there is no significant variation is observed while decreasing the server Dthr value i.e., in 0.15, 0.13, 0.11, etc. Similarly, for Credit card fraud (see Fig. 10) and Polish Bankruptcy datasets (see Fig. 10), overall, a decreasing trend in AUC is observed while increasing the server Dthr parameter. Further, in terms of change in the number of centers, the number of negative centers is constantly decreasing while increasing the server Dthr. However, no particular trend is observed for the number of positive class centers. Interestingly, except for the OVA Omentum dataset (see Fig. 8), the number of negative class centers is more than the number of positive class centers. As the number of centers is indeed responsible for the complexity of PNN, choosing an optimal number of centers that maintain good AUC is critical. For example, in the Breast cancer dataset (see Fig. 7), AUC obtained with 18 number of centers turned out to be almost similar to the AUC achieved when the number of centers are 53. Similarly, in the case of the OVA Omentum dataset, AUC achieved with 197 centers is slightly higher than with that of 267 centers, resulting in a significant decrease in the model complexity. Similar kind of observations, such as trends in AUC with respect to the number of centers are made for Credit card fraud and Polish Bankruptcy datasets.

Now, we will discuss the performance of FedPNN by keeping the best server Dthr value constant (refer to Table 3) and changing the client Dthr. Similar to the observations of the first analysis, here also, (i) there is a decrement in AUC when there is an increase in the client Dthr value in all datasets, and (ii) the number of centers is decreased as there is an increase in client Dthr. Further, in the credit card dataset (see Fig. 13), the AUC achieved with 965 centers is lower than that of 470 centers. This concludes the fact the AUC is susceptible to change in server Dthr and client Dthr. Hence, with the above analysis, we conclude that appropriate values need to be chosen based on considering both AUC and the number of centers.
Fig. 11 (a) Change in AUC for Breast cancer by keeping server Dthr constant

Fig. 12 (a) Change in AUC for OVA Momentum by keeping server Dthr constant

Fig. 13 (b) Change in the number of centers for

Fraud by keeping server Dthr constant

Fig. 13 (a) Change in AUC for Credit Card

Fig. 13 (b) Change in the number of centers for

Fraud by keeping server Dthr constant

Fig. 11 (a) Change in AUC for Breast cancer by

Fig. 12 (b) Change in the number of centers for

Breast cancer by keeping server Dthr constant
## 8 Conclusions and Future Directions

In the current study, we proposed a two-stage one-shot federated learning approach toward the objective of privacy protection and overcoming a few challenges of FL. Here, during the first stage, we employed a modified CT-GAN to generate the synthetic dataset, which is later evaluated by the KSComplement and CStest scores. The thus generated synthetic dataset is distributed among the nodes. Thereafter, FedPNN is employed and integrated with modified ECM, and at the server, the meta-aggregation algorithm is invoked during the communication round. The results demonstrate that the proposed modified CTGAN obtained better CStest scores, 3 out of 4 times but outperformed by Vanilla CTGAN in terms of KSComplement score in the majority of the cases. Further, the proposed meta-clustering aggregation algorithm is able to generalize well as there is only a slight fluctuation of AUC before and after its invocation but decreased the complexity by selecting less number of optimal centers in 3 out of 4 datasets. Additionally, the sensitivity analysis demonstrated to us how the number of centers is influencing AUC and trends in AUC and the number of centers.

The following are potential future works: (i) Employing FedCTGAN in the architecture to improve better privacy, but doing so increases the complexity and hence it should be taken care of, (ii) Handling highly imbalanced datasets, (iii) Developing regression based models along the similar lines, (iv) Designing and employing homomorphic encryption based FedPNN in the above settings to increase the level of privacy protection. Additionally, this is a general purpose methodology which can be employed in the following use cases in banking, finance and insurance sector which are as follows: (a) anti-money laundering, (b) detecting multiple asset creation, (c) identifying frauds in insurance claims, (d) identifying impact of geographical differences on diseases, (e) fraud detection in intra-day stock trading.
