   Next: FastICA and maximum likelihood Up: The FastICA Algorithm Previous: FastICA for one unit

## FastICA for several units

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 : (40)

In certain applications, however, it may be desired to use a symmetric decorrelation, in which no vectors are privileged'' over others . This can be accomplished, e.g., by the classical method involving matrix square roots, (41)

where is the matrix of the vectors, and the inverse square root is obtained from the eigenvalue decomposition of as . A simpler alternative is the following iterative algorithm , (42)

The norm in step 1 can be almost any ordinary matrix norm, e.g., the 2-norm or the largest absolute row (or column) sum (but not the Frobenius norm).   Next: FastICA and maximum likelihood Up: The FastICA Algorithm Previous: FastICA for one unit
Aapo Hyvarinen
2000-04-19