Independent Component Analysis using the Picard algorithm. More...
#include <picard_ica.h>
Static Public Member Functions | |
| static IcaResult | run (const Eigen::MatrixXd &matData, int nComponents=-1, int maxIter=200, double tol=1e-7, int lbfgsMemory=7, int randomSeed=42) |
Independent Component Analysis using the Picard algorithm.
Picard uses a preconditioned L-BFGS strategy to minimise the mutual information of the components. Compared to FastICA it typically converges in fewer iterations and handles badly conditioned data more robustly.
Definition at line 60 of file picard_ica.h.
|
static |
Run the Picard ICA algorithm.
| [in] | matData | Input data (n_channels x n_samples). |
| [in] | nComponents | Number of components to extract (-1 = all channels). |
| [in] | maxIter | Maximum number of iterations (default 200). |
| [in] | tol | Convergence tolerance (default 1e-7). |
| [in] | lbfgsMemory | L-BFGS memory length (default 7). |
| [in] | randomSeed | Seed for initial weight randomisation (default 42). |
Definition at line 70 of file picard_ica.cpp.