Enhancing Blind Source Separation with Dissociative Principal Component Analysis
Title: Improving Blind Source Separation via Dissociative Principal Component Analysis
Abstract: Independent component analysis (ICA) frequently employs Principal Component Analysis (PCA) and its sparse counterparts (sPCA) as preliminary steps for blind source separation (BSS). However, conventional sPCA methods generally utilize a deflation approach that isolates components one by one, enforcing orthogonality among them. In scenarios where source signals overlap, this sequential extraction process eliminates the cross-component structures essential for ICA, thereby reducing separation performance. To address this limitation, we introduce Dissociative PCA (DPCA), a method that estimates components simultaneously rather than through deflation. DPCA incorporates left and right dissociation matrices within its SVD-based framework to explicitly capture the interdependencies between principal components (PCs) and loading vectors (LVs). Sparsity constraints are applied to ensure the results remain interpretable. We present three distinct algorithms—DPCA1a, DPCA1b, and DPCA2—which utilize gradient and coordinate descent methods paired with adaptive soft thresholding. These are supplemented by a secondary firm thresholding step designed to maintain sparsity while filtering out background noise in the reconstructed loading vectors. The proposed method was tested across four applications: retrieving sources in simulated fMRI data, separating foreground from background, image reconstruction, and image inpainting. In these tests, DPCA demonstrated a more robust recovery of source structures compared to traditional sPCA-based pipelines, achieving the most substantial improvements in cases of significant spatial overlap. Notably, DPCA simplifies to standard PCA when the sparsity parameter is set to zero. A MATLAB implementation of these algorithms is publicly accessible at https://github.com/usmankhalid06/DPCA.
Source: arXiv Generated at: 2026-06-02 00:00:00 UTC





