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,