FastICA

FastICA is an efficient and popular algorithm for independent component analysis invented by Aapo Hyvärinen at Helsinki University of Technology. The algorithm is based on a fixed-point iteration scheme maximizing non-Gaussianity as a measure of statistical independence. It can be also derived as an approximative Newton iteration.

FastICA for one unit
The iterative algorithm finds the direction for the weight vector $$\mathbf{w}$$ maximizing the non-Gaussianity of the projection $$\mathbf{w}^T \mathbf{x}$$ for the data $$\mathbf{x}$$. The function $$g(\cdot)$$ is the derivative of a nonquadratic nonlinearity.

\mathbf{w}^+ \leftarrow E\left\{\mathbf{x} g(\mathbf{w}^T \mathbf{x})\right\} - E\left\{g'(\mathbf{w}^T \mathbf{x})\right\}\mathbf{w} $$
 * 1) Choose an initial weight vector $$\mathbf{w}$$
 * 2) Let $$
 * 1) Let $$ \mathbf{w} \leftarrow \mathbf{w}^+ / \|\mathbf{w}^+\| $$
 * 2) If not converged, go back to 2