multiviewica.multiviewica¶
- multiviewica.multiviewica(X, n_components=None, dimension_reduction='pca', noise=1.0, max_iter=1000, init='permica', random_state=None, tol=0.001, verbose=False)¶
Performs MultiViewICA. It optimizes: \(l(W) = mean_t [sum_k log(cosh(Y_{avg}(t)[k])) + sum_i l_i(X_i(t))]\) where \(l_i(X_i(t)) = - log(|W_i|) + 1/(2 noise) ||W_iX_i(t) - Y_{avg}(t)||^2\) \(X_i\) is the data of group i (ex: subject i) \(W_i\) is the mixing matrix of subject i and \(Y_avg = mean_i W_i X_i\)
- Parameters
- Xnp array of shape (n_groups, n_features, n_samples)
Training vector, where n_groups is the number of groups, n_samples is the number of samples and n_components is the number of components.
- n_componentsint, optional
Number of components to extract. If None, no dimension reduction is performed
- dimension_reduction: str, optional
if srm: use srm to reduce the data if pca: use group specific pca to reduce the data
- noisefloat, optional
Gaussian noise level
- max_iterint, optional
Maximum number of iterations to perform
- initstr or np array of shape (n_groups, n_components, n_components)
If permica: initialize with perm ICA, if groupica, initialize with group ica. Else, use the provided array to initialize.
- random_stateint, RandomState instance or None, optional (default=None)
Used to perform a random initialization. If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.
- tolfloat, optional
A positive scalar giving the tolerance at which the un-mixing matrices are considered to have converged.
- verbosebool, optional
Print information
- Returns
- Pnp array of shape (n_groups, n_components, n_features)
K is the projection matrix that projects data in reduced space
- Wnp array of shape (n_groups, n_components, n_components)
Estimated un-mixing matrices
- Snp array of shape (n_components, n_samples)
Estimated source