Skip to main content
. 2013 Jul 16;13(7):9104–9131. doi: 10.3390/s130709104

Algorithm 1

1. Input all the image patches in the sample set X with the pre-whitening steps and initialize the basis function matrix A
2. Calculate the mean vector m from the input image patches, m=1ni=1nxi
Construct the d × n mean matrix for the sample set X, M =(m, m,…,m)
Apart from the mean matrix and get the centered sample matrix X̅, X̅ = XM
3. Get a d × d covariance matrix, C = X̅X̅T = UΛUT with the diagonal matrix of the eigenvalues Λ = diag[λ1,…λi,…,λd] and the eigenmatrix U = [u1,…,ui,…,uk].
Adjust Λ in a descending order and get the corresponding eigenvector ui by the arrangement of the eigenvalue λi
Apply the PCA projection and select the first qth eigenvectors to form the whitening matrix V in a q × d size, V=Λ12UT, where Λ turns to be a q × q matrix and U a q × d matrix.
4. Whiten the centered sample matrix with Z = VX̅ in a q × n size.
5. Take the Fast-ICA algorithm and get the orthogonal matrix B = (b1,bi,…,bq) in a q × qsize, A = V−1B, where the basis function A is a d × q matrix and the i th element bi in B is a q-dimensional vector. Compute the ICA feature coefficient matrix S = BTZ in a q × n size.
6. Reconstruct the approximation of the original image sample set with = AS.
7. Whiten again by Step 3 and get the d × n whitened matrix S by S= VTS.
8. Discard the signs of the output S in this layer and take the nonlinear activation function g to form the input sample set X′ for the next layer, X′=g(|S|).
9. Repeat the above process to achieve the recursive multiple layer ICA architecture