Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 2.01 KB

README.md

File metadata and controls

49 lines (39 loc) · 2.01 KB

invertible Kernel PCA (ikPCA)

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.\

overview image

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.

Installation

The repository is tested with list of requirements in requirements.txt. To install the requirements, run the following command:

pip install -r requirements.txt

Usage

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.