This project contains the implementation of C-DIEGO algorithm in a file algorithms.py.
The algorithm depends on multiple inputs, including designing of weight matrix using Erdős–Rényi approach, generation of Synthetic data etc.
We explain the process of each function below and implementation in pca_data_functions.py.
Details of generation of population covariance matrix
This experiment is performed by 1.effect_of_diff_Tc_synthetic_data_mp.py by generating synthetic data
for three different values of consensus rounds
$T_c = T_{mix}$ $T_c = \log(Nt)$ -
$T_c = T_{mix} \frac{3}{2} \log(Nt)$ . which we define to be optimal value of consensus rounds.
Expected Outcome: The experiment show that for optimal value of
The same experiment is also performed using MNIST dataset is provided in 1a.effect_of_diff_Tc_mnist_data_mp.py
Both experiments using Synthetic and Real dataset are averaged over 50 monte-carlo trials running on multiple cores.
This experiment uses three different values of eigengap
Expected Outcome: The effect of optimal Tc remains independent of eigengap. The larger the eigengap the better convergence.
The experiment is performed by 2.effect_of_diff_eiggap_synthetic_data_mp.py and uses synthetic data.
This experiment uses three different values of
Expected Outcome: The higher the value of
The experiment is performed by 3.effect_of_diff_N_synthetic_data_mp.py and uses synthetic data.
This experiment see the effect of C-DIEGO FC vs NFC in three different topologies:
- Ring Graph
- Erdos-Reyni (FC) with one dropped node
- Line Graph
We use (topologies_gen.py)[topologies_gen.py] file to generate Line and Ring graph and their weight matrices.
(Experiment in-progress)