


brede_ica_bs_est - Bell & Sejnowski ICA estimation
function [S, A] = brede_ica_bs_est(X, varargin)
Input: X Matrix with data, objects x sensors
Property: Winit [ {eye} | rand | randn | a matrix with the
size of A ] Initialization of the inverse
mixing matrix (the demixing matrix)
Output: S Source matrix, objects x sources
A Mixing matrix, sources x sensors
Independent component analysis as Bell and
Sejnowski. Optimization of the mixing matrix is done by
conjugate gradient optimization. The estimated mixing matrix
is square and is applied on the right side of the source
matrix:
X = S * A
The sources are scaled to have a variance of one and the sign
is determined so the skewnessess of the sources are positive.
This function is based on the icaML.m function in the
ICA:DTU Toolbox by Thomas Kolenda.
Example:
Strue = randn(500, 2).^3;
Atrue = [ 3 4 ; 1 4 ];
X = Strue * Atrue;
[S, A] = brede_ica_bs_est(X);
figure, plot(X(:,1), X(:,2), '.', ...
5*[-A(1,1) A(1,1)], 5*[-A(1,2) A(1,2)], 'r-', ...
5*[-A(2,1) A(2,1)], 5*[-A(2,2) A(2,2)], 'g-')
Ref: Kolenda T, Winther O, LK Hansen, ICA:DTU Toolbox,
http://isp.imm.dtu.dk/toolbox/
See also BREDE, BREDE_ICA_NBS_EST, BREDE_MAT_ICA,
BREDE_SVD_EST, BREDE_NMF_EST.
$Id: brede_ica_bs_est.m,v 1.9 2004/09/22 15:37:58 fnielsen Exp $