The proposed algorithm takes the number of input images,
the dimension of the images, and the number of desired
non-Gaussian directions as inputs and returns the image
data matrix, and the non-Gaussian vectors as outputs. It
works like a linear system that predicts the next state vector
from an input vector and a current state vector. The
non-Gaussian components will be updated from the previous
components values and from a new input image vector
by processing sequentially the IPCA and the FastICA algorithms.
While IPCA returns the estimated eigenvectors as a
matrix that represents subspaces of data and the corresponding
eigenvalues as a row vector, FastICA searches for the independent
directions w where the projections of the input
data vectors will maximize the non-Gaussianity. It is based
on minimizing the approximate negentropy function [19]
given by J(x) = i ki{E(Gi(x)) − E(Gi(v))}2 using Newton’s
method. Where G(x) is a nonquadratic function of the random
variable x and E is its expected value.