|
| 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,
|
|
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̅ = X−M
|
| 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,
, where Λ turns to be a q × q matrix and U a q × d matrix. |
| 4. |
Whiten the centered sample matrix X̅ 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 X̃ with X̃ = 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 |
|