Abstract
Independent component analysis (ICA) is a widely-used blind source separation technique. ICA has been applied to many applications. ICA is usually utilized as a black box, without understanding its internal details. Therefore, in this paper, the basics of ICA are provided to show how it works to serve as a comprehensive source for researchers who are interested in this field. This paper starts by introducing the definition and underlying principles of ICA. Additionally, different numerical examples in a step-by-step approach are demonstrated to explain the preprocessing steps of ICA and the mixing and unmixing processes in ICA. Moreover, different ICA algorithms, challenges, and applications are presented.
Keywords
Citation
Tharwat, A. (2021), "Independent component analysis: An introduction", Applied Computing and Informatics, Vol. 17 No. 2, pp. 222-249. https://doi.org/10.1016/j.aci.2018.08.006
Publisher
:Emerald Publishing Limited
Copyright © 2018, Alaa Tharwat
License
Published in Applied Computing and Informatics. Published by Emerald Publishing Limited. This article is published under the Creative Commons Attribution (CC BY 4.0) license. Anyone may reproduce, distribute, translate and create derivative works of this article (for both commercial and non-commercial purposes), subject to full attribution to the original publication and authors. The full terms of this license may be seen at http://creativecommons.org/licences/by/4.0/legalcode
1. Introduction
Measurements cannot be isolated from a noise which has a great impact on measured signals. For example, the recorded sound of a person in a street has sounds of footsteps, pedestrians, etc. Hence, it is difficult to record a clean measurement; this is due to (1) source signals always are corrupted with a noise, and (2) the other independent signals (e.g. car sounds) which are generated from different sources [31]. Thus, the measurements can be defined as a combination of many independent sources. The topic of separating these mixed signals is called blind source separation (BSS).The term blind indicates that the source signals can be separated even if little information is known about the source signals.
One of the most widely-used examples of BSS is to separate voice signals of people speaking at the same time, this is called cocktail party problem [31]. The independent component analysis (ICA) technique is one of the most well-known algorithms which are used for solving this problem [23]. The goal of this problem is to detect or extract the sound with a single object even though different sounds in the environment are superimposed on one another [31]. Figure 1 shows an example of the cocktail party problem. In this example, two voice signals are recorded from two different individuals, i.e., two independent source signals. Moreover, two sensors, i.e., microphones, are used for recording two signals, and the outputs from these sensors are two mixtures. The goal is to extract original signals1 from mixtures of signals. This problem can be solved using independent component analysis (ICA) technique [23].
ICA was first introduced in the 80s by J. Hérault, C. Jutten and B. Ans, and the authors proposed an iterative real-time algorithm [15]. However, in that paper, there is no theoretical explanation was presented and the proposed algorithm was not applicable in a number of cases. However, the ICA technique remained mostly unknown till 1994, where the name of ICA appeared and introduced as a new concept [9]. The aim of ICA is to extract useful information or source signals from data (a set of measured mixture signals). These data can be in the form of images, stock markets, or sounds. Hence, ICA was used for extracting source signals in many applications such as medical signals [7,34], biological assays [3], and audio signals [2]. ICA is also considered as a dimensionality reduction algorithm when ICA can delete or retain a single source. This is also called filtering operation, where some signals can be filtered or removed [31].
ICA is considered as an extension of the principal component analysis (PCA) technique [9,33]. However, PCA optimizes the covariance matrix of the data which represents second-order statistics, while ICA optimizes higher-order statistics such as kurtosis. Hence, PCA finds uncorrelated components while ICA finds independent components [21,33]. As a consequence, PCA can extract independent sources when the higher-order correlations of mixture data are small or insignificant [21].
ICA has many algorithms such as FastICA [18], projection pursuit [21], and Infomax [21]. The main goal of these algorithms is to extract independent components by (1) maximizing the non-Gaussianity, (2) minimizing the mutual information, or (3) using maximum likelihood (ML) estimation method [20]. However, ICA suffers from a number of problems such as over-complete ICA and under-complete ICA.
Many studies treating the ICA technique as a black box without understanding the internal details. In this paper, in a step-by-step approach, the basic definitions of ICA, and how to use ICA for extracting independent signals are introduced. This paper is divided into eight sections. In Section 2, an overview of the definition of the main idea of ICA and its background are introduced. This section begins by explaining with illustrative numerical examples how signals are mixed to form mixture signals, and then the unmixing process is presented. Section 3 introduces with visualized steps and numerical examples two preprocessing steps of ICA, which greatly help for extracting source signals. Section 4 presents principles of how ICA extracts independent signals using different approaches such as maximizing the likelihood, maximizing the non-Gaussianity, or minimizing the mutual information. This section explains mathematically the steps of each approach. Different ICA algorithms are highlighted in Section 5. Section 6 lists some applications that use ICA for recovering independent sources from a set of sensed signals that result from a mixing set of source signals. In Section 7, the most common problems of ICA are explained. Finally, concluding remarks will be given in Section 8.
2. ICA background
2.1 Mixing signals
Each signal varies over time and a signal is represented as follows,
2.1.1 Illustrative example
The goal of this example is to show the properties of source and mixture signals. Given two source signals
1.Independence: if the source signals are independent (as in Figure 3(a and b)), their mixture signals are not (see Figure 4(a and b)). This is because the source signals are shared between both mixtures.
2.Gaussianity: the histogram of mixed signals are bell-shaped histogram (see Figure 4e., Gaussian or normal. This property can be used for searching for non-Gaussian signals within mixture signals to extract source or independent signals. In other words, the source signals must be non-Gaussian, and this assumption is a fundamental restriction in ICA. Hence, the ICA model cannot estimate Gaussian independent components.
3.Complexity: It is clear from the previous example that mixed signals are more complex than source signals.
From these properties we can conclude that if the extracted signals from mixture signals are independent, have non-Gaussian histograms, or have low complexity than mixture signals; then these signals represent source signals.
2.1.2 Numerical example: Mixing signals
The goal of this example5 is to explain how source signals are mixed to form mixture signals. Figure 5 shows two source signals
The new axes in the
The four points are transformed in the
Assumed the second source
A related point to consider is that the number of red points in Figure 6(a) which represent the projected points onto
2.2 Unmixing signals
In this section, the unmixing process for extracting source signals will be presented. Given a mixing matrix
Given two mixture signals
In practice, changing the length or orientation of weight vectors has a great influence on the extracted signals (
Length: The length of the weight vector
is , and assume that the length of is changed by a factor as follows, . The extracted signal or the best approximation of is denoted by and it is estimated as in Eq. (12). Hence, the extracted signal is a scaled version of the source signal and the length of the weight vector affects only the amplitude of the extracted signal.
Orientation: As mentioned before, the source signals
and in the space are transformed to and (see Eqs. (4) and (5)), respectively, where and form the mixture space . The signal is extracted only if is orthogonal to and hence at different orientations, different signals are extracted. This is because the inner product for any orthogonal vectors is zero as follows, , where because is orthogonal to , and the inner product of and is as follows, , where is the angle between and as shown in Figure 5, and k is a constant. The value of k depends on the length of and and the angle . The extracted signal will be as follows, . The extracted signal ( ) is a scaled version from the source signal ( ), and is extracted from by taking the inner product of all mixture signals with which is orthogonal to . Thus, it is difficult to recover the amplitude of source signals.
Figure 8 displays the mixing and unmixing steps of ICA. As shown, the first mixture signal
2.2.1 Numerical examples: Unmixing signals
The goal of this example is to extract source signals which are mixed in the numerical example in Section 2.1.2. The matrix
2.3 Ambiguities of ICA
ICA has some ambiguities such as:
The order of independent components: In ICA, the weight vector
is initialized randomly and then rotated to find one independent component. During the rotation, the value of is updated iteratively. Thus, extracts source signals but not in a specific order.The sign of independent components: Changing the sign of independent components has not any influence on the ICA model. In other words, we can multiply the weight vectors in
by without affecting the extracted signal. In our example, in Section 2.2.1, the value of was . Multiplying by , i.e., has no influence because still in the same direction with the same magnitude and hence the value of k will not be changed, and the extracted signal will be with the same values but with a different sign, i.e., . As a result, the matrix in n-dimensional space has local maxima, i.e., two local maxima for each independent component, corresponding to and [21]. This problem is insignificant in many applications [16,19].
3. ICA: Preprocessing phase
This section explains the preprocessing steps of the ICA technique. This phase has two main steps: centering and whitening.
3.1 The centering step
The goal of this step is to center the data by subtracting the mean from all signals. Given n mixture signals
3.2 The whitening data step
This step aims to whiten the data which means transforming signals into uncorrelated signals and then rescale each signal to be with a unit variance. This step includes two main steps as follows.
1.Decorrelation: The goal of this step is to decorrelate signals; in other words, make each signal uncorrelated with each other. Two random variables are considered uncorrelated if their covariance is zero.
In ICA, the PCA technique can be used for decorrelating signals. In PCA, eigenvectors which form the new PCA space are calculated.In PCA, first, the covariance matrix is calculated. The covariance matrix of any two variables
is defined as follows, . With many variables, the covariance matrix is calculated as follows, , where is the centered data (see Figure 9B)). The covariance matrix is solved by calculating the eigenvalues and eigenvectors as follows, , where the eigenvectors represent the principal components which represent the directions of the PCA space and the eigenvalues are scalar values which represent the magnitude of the eigenvectors. The eigenvector which has the maximum eigenvalue is the first principal component and it has the maximum variance [33]. For decorrelating mixture signals, they are projected onto the calculated PCA space as follows, .2.Scaling: the goal here is to scale each decorrelated signal to be with a unit variance. Hence, each vector in
has a unit length and is then rescaled to be with a unit variance as follows, , where is the whitened or sphered data and is calculated by simple component-wise operation as follows, . After the scaling step, the data becomes rotationally symmetric like a sphere; therefore, the whitening step is also called sphering [32].
3.3 Numerical example
Given eight mixture signals
In the centering step, the data are centered by subtracting the mean from each signal and the value of
The covariance matrix
From Eq. (16) it can be remarked that the two eigenvectors are orthogonal as shown in Figure 10, i.e.,
The two signals are decorrelated by projecting the centered data onto the PCA space as follows,
The matrix
From Eq. (18) it is remarked that the two mixture signals are decorrelated by projecting them onto the PCA space. Thus, the covariance matrix is diagonal and the off-diagonal elements which represent the covariance between two mixture signals are zeros. Figure 10 displays the contour of the two mixtures is ellipsoid centered at the mean. The projection of mixture signals onto the PCA space rotates the ellipse so that the principal components are aligned with the
The covariance matrix for the whitened data is
Figure 11 displays the scatter plot for two mixtures, where each mixture signal is represented by 500-time steps. As shown in Figure 11(a), the scatter of the original mixtures forms an ellipse centered at the origin. Projecting the mixture signals onto the PCA space rotates the principal components to be aligned with the
4. Principles of ICA estimation
In ICA, the goal is to find the unmixing matrix
4.1 Measures of non-Gaussianity
Searching for independent components can be achieved by maximizing the non-Gaussianity of extracted signals [23]. Two measures are used for measuring the non-Gaussianity, namely, Kurtosis and negative entropy.
4.1.1 Kurtosis
Kurtosis can be used as a measure of non-Gaussianity, and the extracted signal can be obtained by finding the unmixing vector which maximizes the kurtosis of the extracted signal [4]. In other words, the source signals can be extracted by finding the orientation of the weight vectors which maximize the kurtosis.
Kurtosis is simple to calculate; however, it is sensitive for outliers. Thus, it is not robust enough for measuring the non-Gaussianity [21]. The Kurtosis (K) of any probability density function (pdf) is defined as follow,
For whitened data
As reported in [20], the fourth moment for Gaussian signals is
Kurtosis has an additivity property as follows:
and for any scalar parameter
These properties can be used for interpreting one of the ambiguities of ICA that are mentioned in Section 2.3, which is the sign of independent components. Given two source signals
Using the kurtosis properties in Eqs. (24) and (25), we have
Assume that
The ICs can be obtained by finding the ICs which maximizes kurtosis of extracted signals
The gradient of the kurtosis of
4.1.2 Negative entropy
Negative entropy is termed negentropy, and it is defined as follows,
The negentropy is zero when all variables are Gaussian, i.e.,
4.2 Minimization of mutual information
Minimizing mutual information between independent components is one of the well-known approaches for ICA estimation. In ICA, maximizing the entropy of
The pdf of the linear transformation
This can be substituted in Eq. (29) and the entropy will be
In Eq. (33), increasing the matching between the extracted and source signals, the ratio
Hence, from Eq. (34),
Mutual information measures the independence between random variables. Thus, independent components can be obtained by minimizing the mutual information between different components [6]. Given two random variables x and y, the mutual information is denoted by I, and it is given by
In ICA, where
From Eq. (39), it is clear that maximizing negentropy is related to minimizing mutual information and they differ only by a sign and a constant C. Moreover, non-Gaussianity measures enable the deflationary (one-by-one) estimation of the ICs which is not possible with mutual information or likelihood approaches.8 Further, with the non-Gaussianity approach, all signals are enforced to be uncorrelated, while this constraint is not necessary using mutual information approach.
4.3 Maximum Likelihood (ML)
Maximum likelihood (ML) estimation method is used for estimating parameters of statistical models given a set of observations. In ICA, this method is used for estimating the unmixing matrix
The likelihood is formulated in the noise-free ICA model as follows,
Given T observations of
Practically, the likelihood is usually simplified using the logarithm, this is called log-likelihood, which makes Eq. (41) more simpler as follows:
The mean of any random variable x can be calculated as
The first term
5. ICA algorithms
In this section, different ICA algorithms are introduced.
5.1 Projection pursuit
Projection pursuit (PP) is a statistical technique for finding possible projections of multi-dimensional data [13]. In the basic one-dimensional projection pursuit, the aim is to find the directions where the projections of the data onto these directions have distributions which are deviated from Gaussian distribution, and this exactly is the same goal of ICA [13]. Hence, ICA is considered as a variant of projection pursuit.
In PP, one source signal is extracted from each projection, which is different than ICA algorithms that extract p signals simultaneously from n mixtures. Simply, in PP, after finding the first projection which maximizes the non-Gaussianity, the same process is repeated to find new projections for extracting next source signal(s) from the reduced set of mixture signals, and this sequential process is called deflation [17].
Given n mixture signals which represent the axes of the n-dimensional space
Given three source signals each source signal has 10000 time-steps as shown in Figure 12. These signals represent sound signals. These sound signals were collected from Matlab, where the first signal is called Chrip, the second signal is called gong, and the third is called train. Figure 12 (d, e, and f) shows the histogram for each signal. As shown, the histograms are non-Gaussian. These three signals were mixed, and the mixing matrix was as follows:
Figure 13 shows the mixed signals and the histogram for these mixture signals. As shown in the figure, the mixture signals follow all the properties that were mentioned in Section 2.1.1, where (1) source signals are more independent than mixture signals, (2) the histograms of mixture signals in Figure 13 are much more Gaussian than the histogram of source signals in Figure 12 mixtures signals (see Figure 13 are more complex than source signals (see Figure 12)).
In the projection pursuit algorithm, mixture signals are first whitened, and then the values of the first weight vector
Figure 15 shows the histogram of the extracted signal during the iteration. As shown in Figure 15(a), the extracted signal is Gaussian; hence, its kurtosis value which represents the measure of non-Gaussianity in the projection pursuit algorithm is small (0.18). The kurtosis value of the extracted signal increased to 0.21, 3.92, and 4.06 after the 10th, 100th, and 1000th iterations, respectively. This reflects that the non-Gaussianity of
5.2 FastICA
FastICA algorithm extracts independent components by maximizing the non-Gaussianity by maximizing the negentropy for the extracted signals using a fixed-point iteration scheme [18]. FastICA has a cubic or at least quadratic convergence speed and hence it is much faster than Gradient-based algorithms that have linear convergence. Additionally, FastICA has no learning rate or other adjustable parameters which makes it easy to use.
FastICA can be used for extracting one IC, this is called one-unit, where FastICA finds the weight vector
The derivative of the function G in Eq. (31) is denoted by g, and the derivatives for
Eq. (46) can be further simplified by multiplying both sides by
Several units of FastICA can be used for extracting several independent components, the output
6. Applications
ICA has been used in many applications for extracting source signals from a set of mixed signals. These applications include:
Biomedical applications: ICA was used for removing artifacts which mixed with different biomedical signals such as Electroencephalogram (EEG), functional magnetic resonance imaging (fMRI), and Magnetoencephalography (MEG) signals [5]. Also, ICA was used for removing the electrocardiogram (ECG) interference from EEG signals, or for differentiating between the brain signals and the other signals that are generated from different activities as in [29].
7. Challenges of ICA
ICA is used for estimating the unknown matrix
8. Conclusions
ICA is a widely-used statistical technique which is used for estimating independent components (ICs) through maximizing the non-Gaussianity of ICs, maximizing the likelihood of ICs, or minimizing mutual information between ICs. These approaches are approximately equivalent; however, each approach has its own limitations.
This paper followed the approach of not only explaining the steps for estimating ICs, but also presenting illustrative visualizations of the ICA steps to make it easy to understand. Moreover, a number of numerical examples are introduced and graphically illustrated to explain (1) how signals are mixed to form mixture signals, (2) how to estimate source signals, and (3) the preprocessing steps of ICA. Different ICA algorithms are introduced with detailed explanations. Moreover, ICA common challenges and applications are briefly highlighted.
Figures

Figure 1
Example of the cocktail party problem. Two source signals (e.g. sound signals) are generated from two individuals and then recorded by two sensors, e.g., microphones. Two microphones mixed the two source signals linearly. The goal of this problem is to recover the original signals from the mixed signals.

Figure 5
An example of the mixing process. The mixing matrix

Figure 6
An example of the mixing process. The mixing matrix

Figure 10
Visualization for our whitening example. In the left panel, the mixture signals are plotted in red stars. This panel also shows the principal components (
Results of the projection pursuit algorithm in terms of the correlation between the extracted signal
Results | iter = 1 | iter =10 | iter = 100 | iter = 1000 |
---|---|---|---|---|
0.3 | 0.33 | 0.99 | 1.00 | |
0.94 | 0.93 | 0.14 | 0.00 | |
0.14 | 0.13 | 0.01 | 0.01 | |
0.18 | 0.21 | 3.92 | 4.06 | |
1.22 | 1.18 | 0.07 |
Notes
1 In this paper, original signals, source signals, or independent components (ICs) are the same.
2 In this paper, source and mixture signals are represented as random variables instead of time series or time signals, i.e., the time index is dropped.
3 Two signals s1 and s2 are independent if the amplitude of s1 is independent of the amplitude of
4 In this paper, all bold lowercase letters denote vectors and bold uppercase letters indicate matrices.
5 In all numerical examples, the numbers are rounded up to the nearest hundredths (two numbers after the decimal point).
7 Two vectors x and y are orthonormal if they are orthogonal, i.e., the dot product
8 Maximum Likelihood approach will be introduced in the next section.
9 Assume
References
[1]S.-I. Amari, Natural gradient learning for over-and under-complete bases in ICA, Neural Comput. 11 (8) (1999) 1875–1883.
[2]A. Asaei, H. Bourlard, M.J. Taghizadeh, V. Cevher, Computational methods for underdetermined convolutive speech localization and separation via model-based sparse component analysis, Speech Commun. 76 (2016) 201–217.
[3]R. Aziz, C. Verma, N. Srivastava, A fuzzy based feature selection from independent component subspace for machine learning classification of microarray data, Genomics data 8 (2016) 4–15.
[4]E. Bingham, A. Hyvärinen, A fast fixed-point algorithm for independent component analysis of complex valued signals, Int. J. Neural Syst. 10 (01) (2000) 1–8.
[5]V.D. Calhoun, J. Liu, T. Adal, A review of group ICA for FMRA data and ICA for joint inference of imaging, genetic, and ERP data, Neuroimage 45 (1) (2009) S163–S172.
[6]J.-F. Cardoso, Infomax and maximum likelihood for blind source separation, IEEE Sig. Process. Lett. 4 (4) (1997) 112–114.
[7]R. Chai, G.R. Naik, T.N. Nguyen, S.H. Ling, Y. Tran, A. Craig, H.T. Nguyen, Driver fatigue classification with independent component by entropy rate bound minimization analysis in an eeg-based system, IEEE J. Biomed. Health Inf. 21 (3) (2017) 715–724.
[8]J.-W. Cho, H.-M. Park, Independent vector analysis followed by hmm-based feature enhancement for robust speech recognition, Sig. Process. 120 (2016) 200–208.
[9]P. Comon, Independent component analysis, a new concept?, Sig. Process. 36 (3) (1994) 287–314.
[10]I. Dagher, R. Nachar, Face recognition using ipca-ica algorithm, IEEE Trans. Pattern Anal. Machine Intell. 28 (6) (2006) 996–1000.
[11]N. Delfosse, P. Loubaton, Adaptive blind separation of independent sources: a deflation approach, Sig. Process. 45 (1) (1995) 59–83.
[12]S. Derrode, G. Mercier, W. Pieczynski, Unsupervised multicomponent image segmentation combining a vectorial hmc model and ica, in: Proceedings of International Conference on Image Processing (ICIP), Vol. 2, IEEE, 2003, pp. II–407.
[13]J.H. Friedman, J.W. Tukey, A projection pursuit algorithm for exploratory data analysis, IEEE Trans. Comput. 100 (9) (1974) 881–890.
[14]S.S. Haykin, S.S. Haykin, S.S. Haykin, S.S. Haykin, Neural Netw. Learn. Machines, Vol. 3, Pearson Upper Saddle River, NJ, USA, 2009.
[15]J. Hérault, C. Jutten, B. Ans, Détection de grandeurs primitives dans un message composite par une architecture de calcul neuromimétique en apprentissage non supervisé. In: 10 Colloque sur le traitement du signal et des images, FRA, 1985.GRETSI, Groupe d’Etudes du Traitement du Signal et des Images 1985.
[16]A. Hyvärinen, Independent component analysis in the presence of gaussian noise by maximizing joint likelihood, Neurocomputing 22 (1) (1998) 49–67.
[17]A. Hyvärinen, New approximations of differential entropy for independent component analysis and projection pursuit. In: Advances in neural information processing systems. (1998b) pp. 273–279.
[18]A. Hyvarinen, Fast and robust fixed-point algorithms for independent component analysis, IEEE Trans. Neural Networks 10 (3) (1999) 626–634.
[19]A. Hyvarinen, Gaussian moments for noisy independent component analysis, IEEE Signal Process. Lett. 6 (6) (1999) 145–147.
[20]A. Hyvärinen, J. Karhunen, E. Oja, Independent Component Analysis, Vol. 46, John Wiley & Sons, 2004.
[21]A. Hyvärinen, E. Oja, Independent component analysis: algorithms and applications, Neural Networks 13 (4) (2000) 411–430.
[22]D. Langlois, S. Chartier, D. Gosselin, An introduction to independent component analysis: Infomax and fastica algorithms, Tutorials Quantit. Methods Psychol. 6 (1) (2010) 31–38.
[23]T.-W. Lee, Independent component analysis, in: Independent Component Analysis, Springer, 1998, pp. 27–66.
[24]T.-W. Lee, M.S. Lewicki, Unsupervised image classification, segmentation, and enhancement using ica mixture models, IEEE Trans. Image Process. 11 (3) (2002) 270–279.
[25]T.-W. Lee, M.S. Lewicki, T.J. Sejnowski, Ica mixture models for unsupervised classification of non-gaussian classes and automatic context switching in blind signal separation, IEEE Trans. Pattern Anal. Mach. Intell. 22 (10) (2000) 1078–1089.
[26]M.S. Lewicki, T.J. Sejnowski, Learning overcomplete representations, Learning 12 (2) (2006).
[27]F. Long, B. Kong, Independent component analysis and its application in the fingerprint image preprocessing, in: Proceedings. International Conference on Information Acquisition, IEEE, 2004, pp. 365–368.
[28]B.A. Pearlmutter, L.C. Parra, Maximum likelihood blind source separation: A context-sensitive generalization of ica. In: Advances in neural information processing systems. 1997, pp. 613–619.
[29]M.B. Pontifex, K.L. Gwizdala, A.C. Parks, M. Billinger, C. Brunner, Variability of ica decomposition may impact eeg signals when used to remove eyeblink artifacts, Psychophysiology 54 (3) (2017) 386–398.
[30]S. Shimizu, P.O. Hoyer, A. Hyvärinen, A. Kerminen, A linear non-gaussian acyclic model for causal discovery, J. Mach. Learn. Res. 7 (Oct) (2006) 2003–2030.
[31]J. Shlens, A tutorial on independent component analysis. arXiv preprint arXiv:1404.2986, 2014.
[32]J.V. Stone, 2004. Independent component analysis. A tutorial introduction. A bradford book.
[33]A. Tharwat, Principal component analysis-a tutorial, Int. J. Appl. Pattern Recognit. 3 (3) (2016) 197–240.
[34]J. Xie, P.K. Douglas, Y.N. Wu, A.L. Brody, A.E. Anderson, Decoding the encoding of functional brain networks: an fmri classification comparison of non-negative matrix factorization (nmf), independent component analysis (ica), and sparse coding algorithms, J. Neurosci. Methods 282 (2017) 81–94.
[35]H.-J. Zhang, Z.-C. Mu, W. Qu, L.-M. Liu, C.-Y. Zhang, A novel approach for ear recognition based on ica and rbf network, in: Proceedings of International Conference on Machine Learning and Cybernetics, Vol. 7, IEEE, 2005, pp. 4511–4515.
[36]M. Zibulevsky, B.A. Pearlmutter, Blind source separation by sparse decomposition in a signal dictionary, Neural Computat. 13 (4) (2001) 863–882.
Acknowledgements
Publishers note: The publisher wishes to inform readers that the article “Independent component analysis: An introduction” was originally published by the previous publisher of Applied Computing and Informatics and the pagination of this article has been subsequently changed. There has been no change to the content of the article. This change was necessary for the journal to transition from the previous publisher to the new one. The publisher sincerely apologises for any inconvenience caused. To access and cite this article, please use Tharwat, A. (2021), “Independent component analysis: An introduction”, Applied Computing and Informatics. Vol. 17 No. 2, pp. 222-249. The original publication date for this paper was 31/08/2018.