Demonstrates usage of fastica.h. More...
Go to the source code of this file.
Functions | |
int | main (int argc, char *argv[]) |
Variables | |
const fx_module_doc | fastica_main_doc |
const fx_entry_doc | fastica_main_entries [] |
Here are usage instructions for this implementation of FastICA. | |
const fx_submodule_doc | fastica_main_submodules [] |
Demonstrates usage of fastica.h.
Definition in file fastica_main.cc.
const fx_module_doc fastica_main_doc |
{ fastica_main_entries, fastica_main_submodules, "This program performs fastica.\n" }
Definition at line 95 of file fastica_main.cc.
const fx_entry_doc fastica_main_entries[] |
{ {"data", FX_REQUIRED, FX_STR, NULL, " A file containing data.\n"}, {"ic_filename", FX_PARAM, FX_STR, NULL, " Filename to which independent components are written.\n"}, {"unmixing_filename", FX_PARAM, FX_STR, NULL, " Filename to which unmixing matrix is written.\n"}, FX_ENTRY_DOC_DONE }
Here are usage instructions for this implementation of FastICA.
Default values are given to the right in parentheses.
Parameters specific to this driver:
data | = data file with each row being one sample (REQUIRED PARAMETER) | |
ic_filename | = independent components results filename (ic.dat) | |
unmixing_filename | = unmixing matrix results filename (unmixing.dat) |
Parameters specific to fastica.h (should be preceded by 'fastica/' on the command line):
seed | = (long) seed to the random number generator (clock() + time(0)) | |
approach | = {deflation, symmetric} (deflation) | |
nonlinearity | = {logcosh, gauss, kurtosis, skew} (logcosh) | |
fine_tune | = {true, false} (false) | |
a1 | = numeric constant for logcosh nonlinearity (1) | |
a2 | = numeric constant for gauss nonlinearity (1) | |
mu | = numeric constant for fine-tuning Newton-Raphson method (1) | |
stabilization | = {true, false} (false) | |
epsilon | = threshold for convergence (0.0001) | |
max_num_iterations | = maximum number of fixed-point iterations | |
max_fine_tune | = maximum number of fine-tuning iterations | |
percent_cut | = number in [0,1] indicating percent data to use in stabilization updates (1) |
Example use:
./fastica --data=X_t.dat --ic_filename=ic.dat --unmixing_filename=W.dat
--fastica/approach=symmetric --fastica/nonlinearity=gauss
--fastica/stabilization=true --fastica/epsilon=0.0000001 --percent_cut=0.5
Note: Compile with verbose mode to display convergence-related values
Definition at line 79 of file fastica_main.cc.
const fx_submodule_doc fastica_main_submodules[] |
{ {"fastica", &fastica_doc, " Responsible for performing fastica.\n"}, FX_SUBMODULE_DOC_DONE }
Definition at line 89 of file fastica_main.cc.