Professional Documents
Culture Documents
Icalab Guidebook
Icalab Guidebook
=
K
k
T k
NxN
1
off min V VC
V
where the diagonal measure function ( ) ( )
=
j i
ij
F
2
off F is the Frobenius norm of the off-
diagonal elements in F.
- FAJD uses the the following minimization:
[ ] ( ) V V VC
V
det ln min
1 1 , 1
2
= = =
K
k
N
i
N
i j j
ij
H
k k
NxN
where
k
, 1 k K and are the positive weights.
- FFDIAG uses the following minimization:
[ ]
=
+ +
K
k
N
j i
ij k
T
k k
W
NxN
1
2
min E W D WD ,
where D
k
and E
k
denote the diagonal and off-diagonal parts of C
k
, respectively, W is the
updated matrix V (I + W) V.
- QDIAG uses the following constrained optimization problem
( ) 1 to subject min
0
2
=
i
T
i
k i i j
j
T
j k
NxN
w C w w C w
k
V
for all i = 1, N, and
T
i
w is a i-th row vector of W,
k
are the normalized weight factors
of the individual data matrices C
k
,
k
k
= 1.
- SAD considers the following constrained optimization problem
[ ] 1 ..., , to subject min
1 0
0
2
, ,
=
=
K
K
k
k k
d d d d a w C
d a w
where d
0
, d
1
, d
K
are unknown scalars, vector a is collinear with one column vector in
mixing matrix A, and vector w
T
is one row vector of demixing matrix W.
SAD (Sequential Approximate Diagonalization)
Xi-Lin Li and Xian-Da Zhang proposed an efficient algorithm for sequential blind
extraction exploiting the second-order statistics (SOS). For more details, see the
following papers:
1. Xi-Lin Li and Xian-Da Zhang, Non-orthogonal Joint Diagonalization Free of
Degenerate Solution, IEEE Trans. on Signal Processing, 2007.
2. Xi-Lin Li and Xian-Da Zhang, "Sequential blind extraction adopting second-order
statistics," IEEE Signal Processing Letters, vol. 14, no. 1, pp. 58-61, 2007.
In ICALAB, this algorithm has been modified, improved and reduced the computational
time. Moreover, the deflation procedure developed for SAD allows user to extract
arbitrary number of signals. Fig. 36 shows how to specify the number sources. The Fig.
36 gives an example of two extracted components for the benchmark ABio7.mat, and the
results of simulation are shown in the Fig. 37.
Fig. 36 Specifying the number of extracted signals in the SAD algorithm..
Fig. 37 Illustration of two extracted components with deflation. Values of SIR for A and for S
indicate that extracted these sources successfully (SIR>20dB).
FPICA (Fixed-Point ICA)
Fixed Point or Fast ICA algorithm has been originally developed and implemented by
Aapo Hyvrinen and Erkki Oja:
1. A. Hyvrinen and E. Oja, A Fast Fixed-Point Algorithm for Independent
Component Analysis, Neural Computation, 9(7):1483-1492, 1997.
2. A. Hyvrinen and E. Oja, Independent Component Analysis: Algorithms and
Applications, Neural Networks, 13(4-5):411-430, 2000.
3. A. Hyvrinen, Fast and Robust Fixed-Point Algorithms for Independent
Component Analysis, IEEE Transactions on Neural Networks 10(3):626-634,
1999.
a b
c
d
In the ICALAB package, we have implemented the FPICA sequential blind extraction
algorithm which extracts independent non-Gaussian distributed sources one by one as
described in Chapter 5, Section 5.2.4.
POWERICA (Power iteration for ICA)
1. Shuxue Ding, Independent Component Analysis without Predetermined Learning
Parameters. CIT 2006: 135
2. Shuxue Ding, A Power Iteration Algorithm for ICA Based on Diagonalizations of
Non-Linearized Covariance Matrix. ICICIC (2) 2006: 730-733.
3. S. Fiori. Fully-multiplicative orthogonal-group ica neural algorithm. Electronics
Letters, 39(24), 2003, pp. 1737 1738.
EFICA (Efficient Variant of FastICA)
EFICA algorithm has been developed and implemented by Z. Koldovsk, P. Tichavsk
and E. Oja:
1. Z. Koldovsk, P. Tichavsk and E. Oja, Efficient Variant of Algorithm FastICA
for Independent Component Analysis Attaining the Cramr-Rao Lower Bound,
IEEE Trans. on Neural Networks, vol. 17, no. 5, pp. 1265- 1277, September 2006.
2. P. Tichavsk, Z. Koldovsk and E. Oja, Performance Analysis of the FastICA
Algorithm and Cramr-Rao Bounds for Linear Independent Component Analysis,
IEEE Trans. on Signal Processing, Vol. 54, No.4, April 2006.
3. Z. Koldovsk and P. Tichavsk, "Blind Instantaneous Noisy Mixture Separation
with Best Interference-plus-noise Rejection", submitted to SPAWC2007, Jan
2007.
4. Z. Koldovsk and P. Tichavsk, "Asymptotic Analysis of Bias of FastICA-based
Algorithms in Presence of Additive Noise", technical report nr. 2181, TIA, AV
R, Jan 2007.
COMBI & MULCOMBI
(Combination and Multi-combination of WASOBI and EFICA)
1. Tichavsk, P., Koldovsk, Z., Doron, E., Yeredor, A. and Gomez-Herrero, G.,
Blind Signal Separation by Combining Two ICA Algorithms: HOS-Based EFICA
and Time Structure-Based WASOBI - Proceedings of The 2006 European Signal
Processing Conference (EUSIPCO'2006), May 2006.
2. P. Tichavsk, Z. Koldovsk, A. Yeredor, G. G. Herrero, and E. Doron, "A Hybrid
Technique for Blind Non-Gaussian and Time-Correlated Sources Using a
Multicomponent Approach", submitted to IEEE Trans. on Neural Networks, Jan
2007,
CICA (Constrained ICA) and ICA-R (ICA with Reference)
In this group, we have three different algorithms. They are able to process in sequential
and simultaneous mode. More detail in choosing reference signals could be found in the
Tips section. The extracted signals have available forms of references. It is necessary to
not forget selecting references before running. The data of previous ICA algorithm is
hold for the next ICA algorithm. Therefore, after testing one cICA or ICA-R algorithm,
we dont need to select reference signal again when change to another algorithm that also
belongs to the same group.
Fig. 38 One example with CICA, sources (left), mixtures (center) and extracted component based
on reference signal (right).
1. W. Lu and J. C. Rajapakse, Constrained Independent Component Analysis, NIPS,
p570-576, 2000.
2. W. Lu and J. Rajapakse, ICA with reference, Submitted to ICA 2001.", year =
"2001",
3. W. Lu, and J. C. Rajapakse, Approach and Applications of Constrained ICA,
IEEE Transactions on Neural Networks, vol. 16, no. 1, Jan, 2005.
4. R Q.-H. Lin, Y-R Zheng, F.-L. Yin, H. Liang, V. D. Calhoun: A fast algorithm
for one-unit ICA-R Information Science. 2007.
5. De-Shuang Huang and J ian-Xun Mi: A new constrained Independent
Component Analysis method IEEE Transaction of Neural Networks 2007
Algorithms SANG, NG-FICA, Pearson, ERICA belong to natural gradient (NG)
algorithms and are described in detail in Chapters 6 - 8.
The algorithms have been originally presented in the following papers:
1. S. Amari, A. Cichocki, and H.H. Yang, A new learning algorithm for blind signal
separation, in Advances in Neural Information Processing Systems, NIPS-1995,
vole. 8, pp. 757-763. MIT Press: Cambridge, MA, 1996.
2. S. Amari and A. Cichocki, Adaptive blind signal processing - neural network
approaches, Proceedings IEEE, vole. 86, pp. 1186-1187, 1998.
3. A. Cichocki, R. Unbehauen and E. Rummert, Robust learning algorithm for blind
separation of signals, Electronics Letters, vole. 30, No.17, 18th August 1994, pp.
1386-1387.
4. A. Cichocki and R. Unbehauen, Robust neural networks with on-line learning for
blind identification and blind separation of sources, IEEE Trans. on Circuits and
Systems - I: Fundamental Theory and Applications, vole. 43, Nov. 1996
(submitted in June 1994), pp. 894-906.
5. S. Choi, A. Cichocki, and S. Amari, Flexible independent component analysis,
Journal of VLSI Signal Processing, vole. 26, No. 1/2, pp. 25-38, 2000.
6. S. Cruces, L. Castedo, A. Cichocki, Robust blind source separation algorithms
using cumulants, 49, pp. 87-117, 2002.
7. S. Cruces, L. Castedo, A. Cichocki, Novel Blind Source Separation Algorithms
Using Cumulants, IEEE International Conference on Acoustics, Speech, and
Signal Processing, vole. V, pp. 3152-3155, Istanbul, Turkey, June 2000.
8. L. Zhang, S. Amari and A. Cichocki, Natural Gradient Approach to Blind
Separation of Over- and Under-complete Mixtures, Proceedings of ICA'99,
pp.455-460, Aussois, France, January 11-15, 1999.
9. L. Zhang, A. Cichocki and S. Amari, Natural Gradient Algorithm to Blind
Separation of Overdetermined Mixture with Additive Noises, IEEE Signal
Processing Letters, Vol.6, No. 11, pp. 293-295, 1999.
10. L. Zhang, S. Amari and A. Cichocki, Equi-convergence Algorithm for blind
separation of sources with arbitrary distributions, LNCS 2085, J. Mira & A.
Prieto (Eds), Springer, pp. 826-833, 2001.
11. A. Cichocki and P. Georgiev, Blind Source Separation Algorithms with Matrix
Constraints , IEICE Transactions on Information and Systems, invited paper,
Special Session on Independent Component Analysis and Blind Source
Separation. vole. E86-A, No.1, March 2003.
The wide class of NG algorithms can be represented in a general form as
W(l+1) = W(l) + (l) [ D - <F(y)>] W(l)
where is a symmetric positive definite matrix (typically, =
0
I),
F(y) is a suitably chosen n by n matrix of nonlinearly transformed output signals typically
with entries
f
ij
= f(y
i
) y
j
or
f
ij
= f(y
i
) g(y
j
)
and
D = diag{d
11
, d
22
, ..., d
nn
}
is a diagonal positive definite matrix, typically with entries
d
ii
= 1
or
d
ii
= <f(y
i
) g(y
j
)>.
SANG (Self Adaptive Natural Gradient algorithm with nonholonomic
constraints)
The SANG is a batch algorithm which can be represented in the following form:
W W + [D - <f(y) g
T
(y)>] W
where the entries of the diagonal matrix D satisfy the nonholonomic constraints, i.e.
d
ii
= <f(y
i
) y
i
>, d
ij
= 0, for i not equal j.
and the learning rate matrix is a diagonal matrix with entries:
.
The main references are:
1. S. Amari, T. Chen and A. Cichocki, Non-holonomic constraints in learning blind
source separation, Progress in Connectionist-Based Information Systems, Eds. N.
Kasabov, ICONIP-97, New Zealand, Springer, Nov. 1997, vole. I, pp. 633-636.
2. S. Amari, T. Chen and A. Cichocki, Nonholonomic orthogonal learning
algorithms for blind source separation, Neural Computation, vol. 12, 2000, pp.
1463-1484.
3. A. Hyvrinen, J. Karhunen, and E. Oja, Independent Component Analysis, John
Wiley, New York, 2001.
NG-FICA (Natural Gradient - Flexible ICA)
The NG - FlexICA (Natural Gradient Flexible ICA) algorithm has been developed by S.
Choi, A. Cichocki and S. Amari (with MATLAB implementation by Seungjin Choi).
The main references are:
1. S. Choi, A. Cichocki, and S. Amari, Flexible independent component analysis,
Journal of VLSI Signal Processing, Vol. 26, No. 1/2, pp. 25-38, 2000.
2. S. Choi, A. Cichocki, and S. Amari, Flexible independent component analysis, in
Proc. of the 1998 IEEE Workshop on NNSP, pp 83-92, Cambridge, UK, 1998.
The algorithm is described in detail in Section 6.4.
ThinICA Algorithm
Thin algorithm for Independent Component Analysis (ThinICA) has been developed by
Sergio Cruces and Andrzej Cichocki [1].
The ThinICA algorithm is able to extract simultaneously arbitrary number of components
specified by the user. The algorithm is based on criteria that jointly perform
maximization of several cumulants of the outputs and/or second order time delay
covariance matrices. This employed contrast function combines the robustness of the
joint approximate diagonalization techniques with the flexibility of the methods for blind
signal extraction. Its maximization leads to hierarchical and simultaneous ICA extraction
algorithms which are respectively based on the thin QR and thin SVD factorizations. The
ThinICA algorithm can be regarded as hierarchical/simultaneous extensions of the fast
fixed point algorithms [2] and has also close links to [3] and [4, 5]. The implemented
version works both for real and complex signals.
The main references are:
1. S. Cruces, A. Cichocki, Combining blind source extraction with joint approximate
diagonalization: Thin Algorithms for ICA, Proc. of the Fourth Symposium on
Independent Component Analysis and Blind Signal Separation, Japan, pp. 463-
469, 2003.
2. A. Hyvrinen, E. Oja, Fixed point algorithm for independent component analysis,
Neural Computation, vole. 9, pp. 1482-1492, 1997.
3. L. De Lathauwer, P. Comon, B. De-Moor, J. Vandewalle, Higher-order power
method - application in Independent Component Analysis, Proc. of NOLTA,
1995.
4. A. Belouchrani, K. Abel-Meraim, J. F. Cardoso, E. Moulines, A blind source
separation technique using second-order statistics, IEEE Trans. on Signal
Processing, vole. 45(2), pp. 434-444, 1997.
5. J. F. Cardoso, A. Souloumiac, Blind beamforming for non Gaussian signals, IEE
Proc.-F, vole. 140 (6), pp. 362-370, 1993.
ERICA - Equivariant Robust ICA - based on Cumulants
ERICA Algorithm - Equivariant Robust Independent Component Analysis algorithm
(which is asymptotically equivariant in the presence of Gaussian noise) has been
developed by Sergio Cruces, Luis Castedo and Andrzej Cichocki.
This algorithm separates the signals from m mixture of n sources (with non zero kurtosis)
in the presence of Gaussian noise.
This algorithm is a quasi-Newton iteration that will converge to a saddle point with
locally isotropic convergence, regardless of the distributions of the sources. The use of
prewhitening is not necessary for this algorithm to converge.
The main references are:
1. S. Cruces, L. Castedo, A. Cichocki, Robust blind source separation algorithms
using cumulants, Neurocomputing, vole. 49, pp. 87-117, 2002.
2. S. Cruces, L. Castedo, A. Cichocki, Novel Blind Source Separation Algorithms
Using Cumulants, IEEE International Conference on Acoustics, Speech, and
Signal Processing, vole. V, pp. 3152-3155, Istanbul, Turkey, June 2000.
SIMBEC - SIMultaneous Blind Extraction using Cumulants
SIMBEC Algorithm (Simultaneous Blind signal Extraction using Cumulants) was
implemented by Sergio Cruces, Andrzej Cichocki, Shun-ichi Amari.
It performs the simultaneous blind signal extraction of an arbitrary group of sources from
a rather large number of observations. Amari proposed in [1] a gradient algorithm that
optimizes the ML criteria on the Stiefel manifold and solves the problem when the
approximate (or hypothetical) densities of the desired signals are a priori known. This
algorithm [2-4] extends this result to other contrast functions that do not require explicit
knowledge of the source densities. The necessary and sufficient local stability conditions
of the algorithm are exploited to obtain fast convergence.
The main references are:
1. S. Amari, Natural Gradient Learning for over- and under-complete bases in ICA,
Neural Computation, vole. 11, pp. 1875-1883, 1999.
2. S. Cruces, A. Cichocki, S. Amari, Criteria for the Simultaneous Blind Extraction
of Arbitrary Groups of Sources, in the 3rd international conference on
Independent Component Analysis and Blind Signal Separation. San Diego,
California, USA, 2001.
3. S. Cruces, A. Cichocki, S. Amari, The Minimum Entropy and Cumulant Based
Contrast Functions for Blind Source Extraction, in Lecture Notes in Computer
Science, Springer-Verlag, IWANN'2001, vole. II, pp. 786-793,
4. S. Cruces, A. Cichocki, S. Amari, On a new blind signal extraction algorithm:
different criteria and stability analysis, IEEE Signal Processing Letters, 2002 (in
print).
The algorithm can extract an arbitrary group of sources specified by the user.
UNICA - Unbiased quasi Newton algorithm for ICA
UNICA Algorithm (Unbiased qNewton algorithm for Independent Component Analysis)
has been developed by Sergio Cruces, Andrzej Cichocki and Luis Castedo.
UNICA is used to extract a specified number of independent components performing
unbiased ICA in the presence of correlated Gaussian noise in the mixture. The algorithm
performs a quasi-Newton iteration for the estimation of the mixing system with a
minimum variance distortion response criterion which eliminates from the outputs the
interfering components and all the noise that is outside the extracted signal subspace.
The main references are:
1. S. Cruces, A. Cichocki, L. Castedo, Blind Source Extraction in Gaussian Noise,
In proceedings of the 2nd International Workshop on Independent Component
Analysis and Blind Signal Separation (ICA'2000), pp. 63-68, Helsinki, Finland,
June 2000.
The algorithm is described in Chapter 8 (Section 8.7).
User algorithms
You can integrate your own algorithms or any ICA/BSS, BSE algorithm available in
MATLAB within the ICALAB package by simply inserting the code(s) in each of:
user _al g1. m- user _al g10. mfiles.
Note: the algorithm must be coded in such a way that it returns only one single variable:
demixing matrix W.
If the algorithm estimates the mixing matrix H, you may use W = pinv(H).
Benchmarks
ICALAB package contains several benchmarks for testing and comparing performance
of the implemented algorithms.
As you will see, there is no universal algorithm that can successfully separate all sources
included in these benchmarks
The most interesting benchmarks are briefly described below.
1. ACsin10d.mat (mat - file, ascii - gzipped file)- contains 10 sine wave sources of
the following form:
s
n
= sin ((2n-1) k) for n = 1,2,....,10.
The sources can be easily separated by second order statistics methods (SOS) like
AMUSE, EVD or SOBI algorithms. However, higher order statistics (HOS) ICA
algorithms fail to reconstruct such sources because the sources are dependent. It is
interesting to note that different ICA algorithms (for example JADE and natural
gradient algorithms) give usually different (inconsistent) results ("independent
components") for this benchmark.
ACsin4d.mat (mat - file, ascii - gzipped file) benchmark is similar to
ACsin10d.mat but contains only 4 sources.
2. ACsparse10.mat (mat - file, ascii - gzipped file) - contains 10 sparse (smooth
bell-shape) sources that are approximately independent. The SOS blind source
separation algorithms fail to separate such sources. Also, some ICA algorithms
have failed to separate such sources. Please try ICALAB to compare performance
of various algorithms.
3. ACvsparse10.mat (mat - file, ascii - gzipped file) - contains 10 very sparse (short
regular pulses) signals. Second order BSS algorithms fail to separate these
sources.
4. ABio7.mat (mat - file, ascii - gzipped file) - this benchmark contains 7 typical
biological sources. This benchmark was proposed by Allan Barros.
5. Sergio7.mat (mat - file, ascii - gzipped file) - this benchmark contains 7 sources
(some of them are asymmetrically distributed). This benchmark was proposed by
Sergio Cruces.
6. AC10-7sparse.mat (mat - file, ascii - gzipped file) - contains 10 sensor signals
which are mixtures of 7 sources (extracted from the file ACsparse10.mat).
7. acspeech16.mat (mat - file, ascii - gzipped file) - contains 16 typical speech
signals which have a temporal structure but are not precisely independent.
Similar benchmarks are:
8. Speech4.mat (mat - file, ascii - gzipped file), Speech8.mat (mat - file, ascii -
gzipped file), Speech10.mat (mat - file, ascii - gzipped file) and Speech20.mat
(mat - file, ascii - gzipped file) are benchmarks with 4, 8, 10 and 20 sounds
(speech and music) sources.
9. 10halo.mat (mat - file, ascii - gzipped file) - contains 10 speech signals that are
highly correlated (all 10 speakers say the same sentence).
10. nband5.mat (mat - file, ascii - gzipped file) - contains 5 narrow band sources.
This is a rather "easy" benchmark. Please try any second order statistics (SOS)
algorithm like SOBI, SOBI-RO or AMUSE.
11. Gnband.mat (mat - file, ascii - gziped file) - contains 5 fourth order colored
sources with a distribution close to Gaussian. This is a rather "difficult"
benchmark. Please try program JADE-TD to separate signals from their mixture.
12. EEG19.mat (mat - file, ascii - gzipped file) - consists 19 EEG signals with clear
heart, eye movement and eye blinking artifacts.