IT++ Logo
Public Member Functions | List of all members
itpp::Fast_ICA Class Reference

Fast_ICA Fast Independent Component Analysis (Fast ICA)The software is based upon original FastICA for Matlab from A. Hyvarinen. Fast and Robust Fixed-Point Algorithms for Independent Component Analysis. IEEE Transactions on Neural Networks, 10(3), pp. 626-634, 1999. More...

#include <itpp/signal/fastica.h>

Public Member Functions

 Fast_ICA (mat ma_mixed_sig)
 Constructor.
 
bool separate (void)
 Explicit launch of main FastICA function.
 
void set_approach (int in_approach)
 Set approach : FICA_APPROACH_DEFL or FICA_APPROACH_SYMM (default)
 
void set_nrof_independent_components (int in_nrIC)
 Set number of independent components to separate.
 
void set_non_linearity (int in_g)
 Set non-linearity.
 
void set_fine_tune (bool in_finetune)
 Set fine tuning.
 
void set_a1 (double fl_a1)
 Set $a_1$ parameter.
 
void set_a2 (double fl_a2)
 Set $a_2$ parameter.
 
void set_mu (double fl_mu)
 Set $\mu$ parameter.
 
void set_epsilon (double fl_epsilon)
 Set convergence parameter $\epsilon$.
 
void set_sample_size (double fl_sampleSize)
 Set sample size.
 
void set_stabilization (bool in_stabilization)
 Set stabilization mode true or off.
 
void set_max_num_iterations (int in_maxNumIterations)
 Set maximum number of iterations.
 
void set_max_fine_tune (int in_maxFineTune)
 Set maximum number of iterations for fine tuning.
 
void set_first_eig (int in_firstEig)
 Set first eigenvalue index to take into account.
 
void set_last_eig (int in_lastEig)
 Set last eigenvalue index to take into account.
 
void set_pca_only (bool in_PCAonly)
 If true, only perform Principal Component Analysis (default = false)
 
void set_init_guess (mat ma_initGuess)
 Set initial guess matrix instead of random (default)
 
mat get_mixing_matrix ()
 Get mixing matrix.
 
mat get_separating_matrix ()
 Get separating matrix.
 
mat get_independent_components ()
 Get separated signals.
 
int get_nrof_independent_components ()
 Get number of independent components.
 
mat get_principal_eigenvectors ()
 Get nrIC first columns of the de-whitening matrix.
 
mat get_whitening_matrix ()
 Get the whitening matrix.
 
mat get_dewhitening_matrix ()
 Get the de-whitening matrix.
 
mat get_white_sig ()
 Get whitened signals.
 

Detailed Description

Fast_ICA Fast Independent Component Analysis (Fast ICA)

The software is based upon original FastICA for Matlab from A. Hyvarinen. Fast and Robust Fixed-Point Algorithms for Independent Component Analysis. IEEE Transactions on Neural Networks, 10(3), pp. 626-634, 1999.

Example:

FastICA fastica(sources);
fastica.set_nrof_independent_components(sources.rows());
fastica.set_non_linearity( FICA_NONLIN_TANH );
fastica.set_approach( FICA_APPROACH_DEFL );
fastica.separate();
mat ICs = fastica.get_independent_components();

Definition at line 118 of file fastica.h.

Constructor & Destructor Documentation

itpp::Fast_ICA::Fast_ICA ( mat  ma_mixed_sig)

Constructor.

Construct a Fast_ICA object with mixed signals to separate.

Parameters
ma_mixed_sig(Input) Mixed signals to separate

Definition at line 99 of file fastica.cpp.

References FICA_APPROACH_SYMM, FICA_INIT_RAND, and FICA_NONLIN_POW3.

Member Function Documentation

bool itpp::Fast_ICA::separate ( void  )

Explicit launch of main FastICA function.

Explicit launch of the Fast_ICA algorithm.

Returns
true if algorithm converged and false otherwise

Definition at line 126 of file fastica.cpp.

References itpp::diag(), FICA_INIT_RAND, fpica(), itpp::max_index(), pcamat(), remmean(), itpp::to_ivec(), whitenv(), and itpp::zeros().

void itpp::Fast_ICA::set_approach ( int  in_approach)

Set approach : FICA_APPROACH_DEFL or FICA_APPROACH_SYMM (default)

Set approach to use : FICA_APPROACH_SYMM (symmetric) or FICA_APPROACH_DEFL (deflation). The symmetric approach computes all ICs at a time, whereas the deflation approach computes them one by one.

Parameters
in_approach(Input) Type of approach to use

Definition at line 182 of file fastica.cpp.

References FICA_APPROACH_DEFL.

void itpp::Fast_ICA::set_nrof_independent_components ( int  in_nrIC)

Set number of independent components to separate.

Set the number of ICs to compute.

Parameters
in_nrIC(Input) Number of ICs to compute

Definition at line 184 of file fastica.cpp.

void itpp::Fast_ICA::set_non_linearity ( int  in_g)

Set non-linearity.

Set non-linearity to use : FICA_NONLIN_POW3 (default), FICA_NONLIN_TANH, FICA_NONLIN_GAUSS, FICA_NONLIN_SKEW

Parameters
in_g(Input) Non-linearity. Can be selected from FICA_NONLIN_POW3, FICA_NONLIN_TANH, FICA_NONLIN_GAUSS or FICA_NONLIN_SKEW

Definition at line 186 of file fastica.cpp.

void itpp::Fast_ICA::set_fine_tune ( bool  in_finetune)

Set fine tuning.

Set fine tuning true or false.

Parameters
in_finetune(Input) Boolean (true or false)

Definition at line 188 of file fastica.cpp.

void itpp::Fast_ICA::set_a1 ( double  fl_a1)

Set $a_1$ parameter.

Set internal parameter $a_1$ of Fast_ICA (See reference paper).

Parameters
fl_a1(Input) Parameter $a_1$ from reference paper

Definition at line 190 of file fastica.cpp.

void itpp::Fast_ICA::set_a2 ( double  fl_a2)

Set $a_2$ parameter.

Set internal parameter $a_2$ of Fast_ICA (See reference paper).

Parameters
fl_a2(Input) Parameter $a_2$ from reference paper

Definition at line 192 of file fastica.cpp.

void itpp::Fast_ICA::set_mu ( double  fl_mu)

Set $\mu$ parameter.

Set internal parameter $\mu$ of Fast_ICA (See reference paper).

Parameters
fl_mu(Input) Parameter $\mu$ from reference paper

Definition at line 194 of file fastica.cpp.

void itpp::Fast_ICA::set_epsilon ( double  fl_epsilon)

Set convergence parameter $\epsilon$.

Set $\epsilon$ parameter for convergence precision.

Parameters
fl_epsilon(Input) $\epsilon$ is convergence precision

Definition at line 196 of file fastica.cpp.

void itpp::Fast_ICA::set_sample_size ( double  fl_sampleSize)

Set sample size.

Set the percentage of samples to take into account at every iteration.

Parameters
fl_sampleSize(Input) Percentage of data to take into account at every iteration

Definition at line 198 of file fastica.cpp.

void itpp::Fast_ICA::set_stabilization ( bool  in_stabilization)

Set stabilization mode true or off.

Set stabilization mode.

Parameters
in_stabilization(Input) Set stabilization true or false

Definition at line 200 of file fastica.cpp.

void itpp::Fast_ICA::set_max_num_iterations ( int  in_maxNumIterations)

Set maximum number of iterations.

Set maximum number of iterations for Fast_ICA.

Parameters
in_maxNumIterations(Input) Maximum number of iterations to go through

Definition at line 202 of file fastica.cpp.

void itpp::Fast_ICA::set_max_fine_tune ( int  in_maxFineTune)

Set maximum number of iterations for fine tuning.

Set maximum numberr of iterations for fine tuning.

Parameters
in_maxFineTune(Input) Maximum number of iterations for fine tuning stage

Definition at line 204 of file fastica.cpp.

void itpp::Fast_ICA::set_first_eig ( int  in_firstEig)

Set first eigenvalue index to take into account.

Set first eigenvalue index to take into account.

Parameters
in_firstEig(Input) First eigenvalue index to take into account

Definition at line 206 of file fastica.cpp.

void itpp::Fast_ICA::set_last_eig ( int  in_lastEig)

Set last eigenvalue index to take into account.

Set last eigenvalue index to take into account.

Parameters
in_lastEig(Input) Last eigenvalue index to take into account

Definition at line 208 of file fastica.cpp.

void itpp::Fast_ICA::set_pca_only ( bool  in_PCAonly)

If true, only perform Principal Component Analysis (default = false)

Wether to perform PCA only or PCA+ICA.

Parameters
in_PCAonly(Input) True = PCA only, false = PCA+ICA (default)

Definition at line 210 of file fastica.cpp.

void itpp::Fast_ICA::set_init_guess ( mat  ma_initGuess)

Set initial guess matrix instead of random (default)

Set initial matrix instead of random matrix.

Parameters
ma_initGuess(Input) Initial guess matrix

Definition at line 212 of file fastica.cpp.

References FICA_INIT_GUESS.

mat itpp::Fast_ICA::get_mixing_matrix ( )

Get mixing matrix.

Return mixing matrix.

Returns
Mixing matrix

Definition at line 218 of file fastica.cpp.

References it_warning, and itpp::zeros().

mat itpp::Fast_ICA::get_separating_matrix ( )

Get separating matrix.

Return separating matrix.

Returns
Separating matrix

Definition at line 220 of file fastica.cpp.

References it_warning, and itpp::zeros().

mat itpp::Fast_ICA::get_independent_components ( )

Get separated signals.

Return separated signals (Independent Components).

Returns
ICs

Definition at line 222 of file fastica.cpp.

References it_warning, and itpp::zeros().

int itpp::Fast_ICA::get_nrof_independent_components ( )

Get number of independent components.

Return number of ICs.

Returns
Number of ICs

Definition at line 224 of file fastica.cpp.

mat itpp::Fast_ICA::get_principal_eigenvectors ( )

Get nrIC first columns of the de-whitening matrix.

Return principal eigenvectors.

Returns
Principal eigenvectors

Definition at line 226 of file fastica.cpp.

mat itpp::Fast_ICA::get_whitening_matrix ( )

Get the whitening matrix.

Return whitening matrix.

Returns
Whitening matrix

Definition at line 228 of file fastica.cpp.

mat itpp::Fast_ICA::get_dewhitening_matrix ( )

Get the de-whitening matrix.

Return dewhitening matrix.

Returns
Dewhitening matrix

Definition at line 230 of file fastica.cpp.

mat itpp::Fast_ICA::get_white_sig ( )

Get whitened signals.

Return whitened signals.

Returns
Whitened signals

Definition at line 232 of file fastica.cpp.


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Sat Jul 6 2013 10:54:34 for IT++ by Doxygen 1.8.2