Official implementation of the paper:
Invertible Kernel PCA with Random Fourier Features, 2023, [arXiv].
Daniel Gedon,
Antonio H. Ribeiro,
Niklas Wahlström,
Thomas B. Schön.\
In the paper we propose a method which approximates the inverse of a kernel PCA (kPCA). This is done by utilizing random Fourier features and exploiting the fact that the nonlinearity in those features are invertible in a subdomain. We present results for denoising on three data sets: s-curve, USPS and ECGs from the CPSC dataset.
The repository is tested with list of requirements in requirements.txt
. To install the requirements, run the following command:
pip install -r requirements.txt
The notebook demo.ipynb
contains a demo of the methods by reconstructing noisy USPS data. We compare with PCA and kPCA.
This script can be used to reproduce Fig. 4 in the paper.
The python scripts scurve_rff.py
can be used to reproduce Fig. 2 in the paper.
The script usps_regularization.py
can be used to reproduce Fig. 3 in the paper.
The script ecg_reconstruction.py
can be used to reproduce Fig. 5 in the paper.
Note that the ECG data is included in the folder ecg_data/
. We pre-process the CPSC data as described in the paper.
For details on how to extract the single beats from the raw data, please contact the authors.