# SimCDL: A Simple Framework for Contrastive Dictionary Learning
## 5 Experiments
### Classification
#### 5.1.3 Ablation Analysis  
To analyze the impact of individual components within the augmentation operators, we conducted an ablation study by systematically removing each augmentation operator. The performance was measured from two points of view: we measured the representation error for each dictionary, using the SimCDL dictionary initialization, and measured the classification accuracy. In Table 3, we register the error obtained at the last iteration, while in Table 4, we register the accuracy obtained for the classification problem. We denote the columns as follows: _Origin_ stands for the original dictionary \(\mathbf{D}_{0}\); _Rotate_*, _Cutout_*, _Gaussian noise_*, and _Gaussian blur_* suggest that this component was eliminated from the SimCDL framework, while a single * indicates that no elimination was made and all the augmentation operators are used. For the representation problem, it is clear that the use of the _cutout_ operator reduces the performance of the dictionary. Since we are cutting information from data, the dictionary is not capable of capturing the right direction of representation. We observe that every time the SimCDL framework is used (with at least three augmentation operators) the representation error is improved. On the other hand, the cutout operator is beneficial for the classification problem. The classification accuracy varies for each dataset, demonstrating that the augmentation operators have different behaviors. Except for the AR dataset, we obtain better accuracy results whenever augmentation operators are used. So, although in many cases the use of three out of the four augmentation operators is the best option, the benefits of augmentation are proven.  
\begin{table}
\begin{tabular}{l c c c c c c} \hline \hline  & **IDL** & **IDB** & **ITDB** & **IDL*** & **IDB*** & **ITDB*** \\ \hline YaleB & 94.28 & 94.35 & 94.47 & **94.48** & **94.50** & **94.54** \\ AR & **93.13** & **93.07** & 93.92 & 93.02 & 92.57 & **94.10** \\ CMU PIE & 90.56 & **90.60** & **91.98** & **90.69** & 90.55 & 91.93 \\
15 Scene & **95.62** & **94.17** & 92.39 & 94.72 & 94.04 & **95.66** \\ Caltech101 & 69.16 & 72.18 & **70.42** & **70.26** & **72.30** & 70.07 \\ UCF50 & 59.94 & **60.14** & **60.63** & **60.26** & 60.08 & 60.47 \\ \hline \hline \end{tabular}
\end{table}
Table 2: Accuracy results (percentages). The table highlights the higher performance values in bold for each pair of methods (random initialization and SimCDL initialization) to indicate which method performs better.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Dataset** & **Origin** & **Rotate*** & **Cutout*** & **Gaussian Noise*** & **Gaussian Blur*** & * \\ \hline YaleB & \(1.99\times 10^{-3}\) & \(1.56\times 10^{-3}\) & \(\mathbf{1.47\times 10^{-3}}\) & \(1.65\times 10^{-3}\) & \(1.66\times 10^{-3}\) & \(1.62\times 10^{-3}\) \\ AR & \(2.66\times 10^{-3}\) & \(1.94\times 10^{-3}\) & \(\mathbf{1.81\times 10^{-3}}\) & \(1.97\times 10^{-3}\) & \(1.98\times 10^{-3}\) & \(1.96\times 10^{-3}\) \\ CMU PIE & \(2.29\times 10^{-3}\) & \(1.87\times 10^{-3}\) & \(\mathbf{1.75\times 10^{-3}}\) & \(1.89\times 10^{-3}\) & \(1.79\times 10^{-3}\) & \(1.89\times 10^{-3}\) \\
15 Scene & \(7.24\times 10^{-9}\) & \(7.67\times 10^{-9}\) & \(7.73\times 10^{-9}\) & \(7.25\times 10^{-9}\) & \(\mathbf{7.03\times 10^{-9}}\) & \(7.64\times 10^{-9}\) \\ Caltech101 & \(3.50\times 10^{-8}\) & \(3.50\times 10^{-8}\) & \(3.56\times 10^{-8}\) & \(3.42\times 10^{-8}\) & \(3.39\times 10^{-8}\) & \(\mathbf{3.33\times 10^{-8}}\) \\ UCF50 & \(9.21\times 10^{-4}\) & \(7.86\times 10^{-4}\) & \(\mathbf{6.89\times 10^{-4}}\) & \(7.37\times 10^{-4}\) & \(7.26\times 10^{-4}\) & \(7.30\times 10^{-4}\) \\ \hline \hline \end{tabular}
\end{table}
Table 3: Ablation study: representation error. The best result for each dataset is in bold.