Class for running FastICA Algorithm. More...
Public Member Functions | |
double | a1 () |
double | a2 () |
int | approach () |
int | DeflationFixedPointICA (bool stabilization_enabled, bool fine_tuning_enabled, double mu_orig, double mu_k, index_t failure_limit, int used_nonlinearity, int g_orig, int g_fine, double stroke, bool not_fine, bool taking_long, int initial_state_mode, Matrix X, Matrix *B, Matrix *W, Matrix *whitening_matrix) |
Run FastICA using Deflation approach. | |
int | DoFastICA (Matrix *W, Matrix *Y) |
Runs FastICA Algorithm on matrix X and Inits W to unmixing matrix and Y to independent components matrix, such that . | |
double | epsilon () |
FastICA () | |
Default constructor does nothing special. | |
bool | fine_tune () |
int | FixedPointICA (Matrix X, Matrix whitening_matrix, Matrix *W) |
Verify the validity of some settings, set some parameters needed by the algorithm, and run the fixed-point FastICA algorithm using either the specified approach. | |
index_t | GetSamples (int max, double percentage, Vector *selected_indices) |
Select indices < max according to probability equal to parameter percentage, and return indices in a Vector. | |
int | Init (Matrix X_in, struct datanode *module_in) |
Initializes the FastICA object by obtaining everything the algorithm needs. | |
index_t | max_fine_tune () |
index_t | max_num_iterations () |
double | mu () |
int | nonlinearity () |
index_t | num_of_IC () |
double | percent_cut () |
index_t | RandomSubMatrix (index_t n, double percent_cut, Matrix X, Matrix *X_sub) |
Return Select indices < max according to probability equal to parameter percentage, and return indices in a Vector. | |
bool | stabilization () |
int | SymmetricFixedPointICA (bool stabilization_enabled, bool fine_tuning_enabled, double mu_orig, double mu_k, index_t failure_limit, int used_nonlinearity, int g_fine, double stroke, bool not_fine, bool taking_long, int initial_state_mode, Matrix X, Matrix *B, Matrix *W, Matrix *whitening_matrix) |
Run FastICA using Symmetric approach. | |
Matrix | X () |
Public Attributes | |
index_t | d |
number of dimensions (components) in original data | |
index_t | n |
number of samples of original data |
Class for running FastICA Algorithm.
This class takes in a D by N data matrix and runs FastICA, for number of dimensions D and number of samples N
Definition at line 102 of file fastica.h.
FastICA::FastICA | ( | ) | [inline] |
int FastICA::DeflationFixedPointICA | ( | bool | stabilization_enabled, | |
bool | fine_tuning_enabled, | |||
double | mu_orig, | |||
double | mu_k, | |||
index_t | failure_limit, | |||
int | used_nonlinearity, | |||
int | g_orig, | |||
int | g_fine, | |||
double | stroke, | |||
bool | not_fine, | |||
bool | taking_long, | |||
int | initial_state_mode, | |||
Matrix | X, | |||
Matrix * | B, | |||
Matrix * | W, | |||
Matrix * | whitening_matrix | |||
) | [inline] |
Run FastICA using Deflation approach.
Definition at line 998 of file fastica.h.
References linalg__private::AddExpert(), GenVector< T >::Copy(), GenVector< T >::CopyValues(), d, GenVector< T >::Init(), Init(), linalg__private::MulOverwrite(), RandomSubMatrix(), linalg__private::RandVector(), linalg__private::Scale(), GenVector< T >::SetZero(), and linalg__private::SubInit().
Referenced by FixedPointICA().
int FastICA::DoFastICA | ( | Matrix * | W, | |
Matrix * | Y | |||
) | [inline] |
Runs FastICA Algorithm on matrix X and Inits W to unmixing matrix and Y to independent components matrix, such that .
Definition at line 1388 of file fastica.h.
References linalg__private::Center(), FixedPointICA(), Init(), linalg__private::MulInit(), and linalg__private::WhitenUsingEig().
int FastICA::FixedPointICA | ( | Matrix | X, | |
Matrix | whitening_matrix, | |||
Matrix * | W | |||
) | [inline] |
Verify the validity of some settings, set some parameters needed by the algorithm, and run the fixed-point FastICA algorithm using either the specified approach.
Definition at line 1280 of file fastica.h.
References d, DeflationFixedPointICA(), Init(), and SymmetricFixedPointICA().
Referenced by DoFastICA().
index_t FastICA::GetSamples | ( | int | max, | |
double | percentage, | |||
Vector * | selected_indices | |||
) | [inline] |
Select indices < max according to probability equal to parameter percentage, and return indices in a Vector.
Definition at line 721 of file fastica.h.
References Init(), and GenVector< T >::Init().
Referenced by RandomSubMatrix().
int FastICA::Init | ( | Matrix | X_in, | |
struct datanode * | module_in | |||
) | [inline] |
Initializes the FastICA object by obtaining everything the algorithm needs.
Definition at line 624 of file fastica.h.
References d, fx_param_bool(), fx_param_double(), fx_param_int(), and fx_param_str().
Referenced by DeflationFixedPointICA(), DoFastICA(), FixedPointICA(), GetSamples(), and SymmetricFixedPointICA().
index_t FastICA::RandomSubMatrix | ( | index_t | n, | |
double | percent_cut, | |||
Matrix | X, | |||
Matrix * | X_sub | |||
) | [inline] |
Return Select indices < max according to probability equal to parameter percentage, and return indices in a Vector.
Definition at line 753 of file fastica.h.
References GetSamples(), and linalg__private::MakeSubMatrixByColumns().
Referenced by DeflationFixedPointICA(), and SymmetricFixedPointICA().
int FastICA::SymmetricFixedPointICA | ( | bool | stabilization_enabled, | |
bool | fine_tuning_enabled, | |||
double | mu_orig, | |||
double | mu_k, | |||
index_t | failure_limit, | |||
int | used_nonlinearity, | |||
int | g_fine, | |||
double | stroke, | |||
bool | not_fine, | |||
bool | taking_long, | |||
int | initial_state_mode, | |||
Matrix | X, | |||
Matrix * | B, | |||
Matrix * | W, | |||
Matrix * | whitening_matrix | |||
) | [inline] |
Run FastICA using Symmetric approach.
Definition at line 764 of file fastica.h.
References GenMatrix< T >::Copy(), d, GenMatrix< T >::Init(), Init(), linalg__private::MulTransAInit(), linalg__private::MulTransAOverwrite(), linalg__private::Orthogonalize(), RandomSubMatrix(), and linalg__private::RandVector().
Referenced by FixedPointICA().
index_t FastICA::d |
number of dimensions (components) in original data
Definition at line 550 of file fastica.h.
Referenced by DeflationFixedPointICA(), FixedPointICA(), Init(), and SymmetricFixedPointICA().
index_t FastICA::n |