This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

ReconstructionICA

Feature extraction by reconstruction ICA

Description

ReconstructionICA applies reconstruction independent component analysis (RICA) to learn a transformation that maps input predictors to new predictors.

Creation

Create a ReconstructionICA object by using the rica function.

Properties

expand all

This property is read-only.

Fitting history, returned as a structure with two fields:

  • Iteration — Iteration numbers from 0 through the final iteration.

  • Objective — Objective function value at each corresponding iteration. Iteration 0 corresponds to the initial values, before any fitting.

Data Types: struct

This property is read-only.

Initial feature transformation weights, returned as a p-by-q matrix, where p is the number of predictors passed in X and q is the number of features that you want. These weights are the initial weights passed to the creation function. The data type is single when the training data X is single.

Data Types: single | double

This property is read-only.

Parameters for training the model, returned as a structure. The structure contains a subset of the fields that correspond to the rica name-value pairs that were in effect during model creation:

  • IterationLimit

  • VerbosityLevel

  • Lambda

  • Standardize

  • ContrastFcn

  • GradientTolerance

  • StepTolerance

For details, see the rica Name,Value pairs.

Data Types: struct

This property is read-only.

Predictor means when standardizing, returned as a p-by-1 vector. This property is nonempty when the Standardize name-value pair is true at model creation. The value is the vector of predictor means in the training data. The data type is single when the training data X is single.

Data Types: single | double

This property is read-only.

Non-Gaussianity of sources, returned as a length-q vector of ±1.

  • NonGaussianityIndicator(k) = 1 means rica models the kth source as sub-Gaussian.

  • NonGaussianityIndicator(k) = -1 means rica models the kth source as super-Gaussian, with a sharp peak at 0.

Data Types: double

This property is read-only.

Number of output features, returned as a positive integer. This value is the q argument passed to the creation function, which is the requested number of features to learn.

Data Types: double

This property is read-only.

Number of input predictors, returned as a positive integer. This value is the number of predictors passed in X to the creation function.

Data Types: double

This property is read-only.

Predictor standard deviations when standardizing, returned as a p-by-1 vector. This property is nonempty when the Standardize name-value pair is true at model creation. The value is the vector of predictor standard deviations in the training data. The data type is single when the training data X is single.

Data Types: single | double

This property is read-only.

Feature transformation weights, returned as a p-by-q matrix, where p is the number of predictors passed in X and q is the number of features that you want. The data type is single when the training data X is single.

Data Types: single | double

Object Functions

transformTransform predictors into extracted features

Examples

collapse all

Create a ReconstructionICA object by using the rica function.

Load the caltech101 image patches.

data = load('caltech101patches');
size(data.X)
ans = 1×2

      100000         363

There are 100,000 image patches, each containing 363 features.

Extract 100 features from the data.

rng default % For reproducibility
q = 100;
Mdl = rica(data.X,q,'IterationLimit',100)
Warning: Solver LBFGS was not able to converge to a solution.
Mdl = 
  ReconstructionICA
            ModelParameters: [1x1 struct]
              NumPredictors: 363
         NumLearnedFeatures: 100
                         Mu: []
                      Sigma: []
                    FitInfo: [1x1 struct]
           TransformWeights: [363x100 double]
    InitialTransformWeights: []
    NonGaussianityIndicator: [100x1 double]


  Properties, Methods

rica issues a warning because it stopped due to reaching the iteration limit, instead of reaching a step-size limit or a gradient-size limit. You can still use the learned features in the returned object by calling the transform function.

Introduced in R2017a