
Run ICA over a given no_comp with random initialisations of w_init
rs_ica_iters.Rd
This function implements a stabilised ICA like algorithm in Rust. Briefly,
it generates random w_init matrices (total number being no_random_init) and
runs ICA given the x_processed and k data over these. The function returns
combined S from the different runs and a boolean vector indicating if this
specific run converged.
Arguments
- x1
Numerical matrix. The processed matrix (but not yet whitened!)
- k
Numerical matrix. The whitening matrix. Needs at least
no_comprows, only the firstno_compare used.- no_comp
Integer. Number of independent components to return.
- no_random_init
Integer. Number of random initialisations to test.
- ica_type
String. One of
c("logcosh", "exp").- random_seed
Integer. Seed for randomisations. Run
iusesrandom_seed + i.- ica_params
A list containing:
maxit - Integer. Maximum number of iterations for ICA.
alpha - Float. The alpha parameter for the logcosh version of ICA. Should be between 1 to 2.
max_tol - Maximum tolerance of the algorithm
verbose - Verbosity of the function, i.e., shall individual iters be shown.
If the list is empty or the expected elements are not found, default values are used.