main content

feature extraction by reconstruction ica -凯发k8网页登录

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

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

transform predictors into extracted features

examples

create a reconstructionica object by using the rica function.

load the sampleimagepatches image patches.

data = load('sampleimagepatches');
size(data.x)
ans = 1×2
        5000         363

there are 5,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.

version history

introduced in r2017a

see also

| | |

topics

    网站地图