Skip to content

matthias-scholz/nonlinear-pca

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Nonlinear PCA

Nonlinear PCA toolbox for Matlab

Nonlinear principal component analysis (NLPCA) based on auto-associative neural networks (autoencoder).

Syntax

[pc, net] = nlpca(data, k)

pc = nlpca_get_components(net, data)
data_reconstruction = nlpca_get_data(net, pc)

Description

pc = nlpca(data,k) extracts k nonlinear components from the data set. pc represents the estimated component values (scores).

net is a data structure explaining the neural network parameters for the nonlinear transformation from data space to component space and reverse.

net can be used in nlpca_get_components and nlpca_get_data to obtain component values (scores) for new data or reconstructed data for any component value.

Example

Nonlinear PCA (circular PCA) applied to artificial data of a noisy circle.

% generate circular data
t=linspace(-pi , +pi , 100);  % angular value t=-pi,...,+pi
data = [sin(t);cos(t)];       % circle
data = data + 0.2*randn(size(data));    % add noise

% nonlinear PCA (circular PCA, inverse network architecture)
[pc,net]=nlpca(data, 1,  'type','inverse',  'circular','yes' );
              
% plot components
nlpca_plot(net)

Demos

  • demo_hierarchical_NLPCA_StarData.m demo of hierarchical nonlinear PCA
  • demo_circular_PCA.m demo of circular units (Circular PCA)
  • demo_inverse_NLPCA.m demo of inverse network architecture
  • demo_missing_data.m demo of missing data estimation

Download

wget https://github.com/matthias-scholz/nonlinear-pca/archive/master.zip

Help

References

If you use this toolbox in a publication, please cite one of these articles.

About

Nonlinear principal component analysis (NLPCA) based on auto-associative neural networks (autoencoder).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages