The one-unit algorithm of the preceding subsection estimates
just one of the independent components, or one projection pursuit direction.
To estimate several independent components, we need
to run the one-unit FastICA algorithm
using several units (e.g. neurons) with weight vectors
.
To prevent different vectors from converging to the same maxima
we must decorrelate the outputs
after every iteration.
We present here three methods for achieving this.
A simple way of achieving decorrelation is a deflation scheme
based on a Gram-Schmidt-like
decorrelation. This means that we estimate the independent components
one by one. When we have estimated p independent components, or p vectors
,
we run the one-unit fixed-point algorithm for
,
and after every iteration step subtract from
the ``projections''
of the previously estimated
p vectors, and then renormalize
:
In certain applications, however, it may be desired
to use a symmetric decorrelation, in which
no vectors are ``privileged'' over others [29].
This can be accomplished, e.g.,
by the classical method involving matrix
square roots,