独立成分分析
维基百科,自由的百科全书
在统计学中,独立成分分析或独立分量分析(Independent components analysis (ICA)) 是一种利用统计原理进行计算的方法。它是一个线性变换。这个变换把数据或信号分离成统计独立的非高斯的信号源的线性组合。独立成分分析是盲信号分离(blind source separation (BSS))的一种特例。
目录 |
[编辑] 定义
独立成分分析的最重要的假设就是信号源统计独立。这个假设在大多数盲信号分离的情况中符合实际情况。即使当该假设不满足时,仍然可以用独立成分分析来把观察信号统计独立化,从而进一步分析数据的特性。独立成分分析的经典问题是“鸡尾酒会问题”(cocktail party problem)。该问题描述的是给定混合信号,如何分离出鸡尾酒会中同时说话的每个人的独立信号。当有N个信号源时,通常假设观察信号也有N个(例如N个迈克或者录音机)。该假设意味着混合矩阵是个方阵,即J = D,其中D是输入数据的维数,J是系统模型的维数。对于J < D和J > D的情况,学术界也分别有不同研究。
The statistical method finds the independent components (aka factors, latent variables or sources) by maximizing the statistical independence of the estimated components. Non-Gaussianity, motivated by the central limit theorem, is one method for measuring the independence of the components. Non-Gaussianity can be measured, for instance, by kurtosis or approximations of negentropy. Mutual information is another popular criteria for measuring statistical independence of signals.
Typical algorithms for ICA use centering, whitening and dimensionality reduction as preprocessing steps in order to simplify and reduce the complexity of the problem for the actual iterative algorithm. Whitening and dimension reduction can be achieved with principal component analysis or singular value decomposition. Whitening ensures that all dimensions are treated equally a priori before the algorithm is run. Algorithms for ICA include infomax, FastICA and JADE, but there are many others also.
独立成分分析并不能完全恢复信号源的具体数值,也不能解出信号源的正负符号、信号的级数或者信号的数值范围。
独立成分分析是研究盲信号分离的blind signal separation一个重要方法,并且在实际中也有很多应用。
[编辑] 数学定义
线性独立成分分析可以分为无噪声模型和有噪声模型,其中有噪声模型可看作有噪声模型的特例。非线性独立成分分析的情况应该单独处理。
[编辑] 一般定义
观察的数据或者信号用随机向量 表示,独立成分量可以定义为向量。独立成分分析的目的是通过线性变换把观察的数据x, 转换成独立成分向量 s = Wx, 而独立成分分量满足互相统计独立的特性。统计独立的量化通常通过某指定函数来衡量。
[编辑] 基本模型
[编辑] 线性无噪声独立成分分析
The components xi of the observed random vector are generated as a sum of the independent components sk, :
weighted by the mixing weights ai,k.
The same generative model can be written in vectorial form as , where the observed random vector x is represented by the basis vectors . The basis vectors ak form the columns of the mixing matrix and the generative formula can be written as x = As, where .
Given the model and realizations (samples) of the random vector x, the task is to estimate both the mixing matrix A and the sources s. This is done by adaptively calculating the w vectors and setting up a cost function which either maximizes the nongaussianity of the calculated sk = (wT * x) or minimizes the mutual information. In some cases, a priori knowledge of the probability distributions of the sources can be used in the cost function.
The original sources s can be recovered by multiplying the observed signals x with the inverse of the mixing matrix W = A − 1, also known as the unmixing matrix. Here it is assumed that the mixing matrix is square (n = m).
[编辑] Linear noisy ICA
With the added assumption of zero-mean and uncorrelated Gaussian noise , the ICA model takes the form x = As + n.
[编辑] Nonlinear ICA
The mixing of the sources does not need to be linear. Using a nonlinear mixing function with parameters θ the nonlinear ICA model is x = f(s | θ) + n.
[编辑] Identifiability
The identifiability of independent component analysis requires that:
- Only one of the sources sk can be Gaussian,
- The number of observed mixtures, m, must be at least as large as the number of estimated components n: ,
- The mixing matrix A must be of full rank.
[编辑] History and background
The problem of source separation is an old one in electrical engineering and has been well studied; many algorithms exist depending on the nature of the mixed signals. The problem of blind source separation (BSS) is more difficult because, without knowledge of the signals that have been mixed, it is not possible to design appropriate preprocessing to optimally separate them.
The general framework for independent component analysis was introduced by Jeanny Herault and Christian Jutten in 1986 and was most clearly stated by Pierre Comon in 1994. In 1995, Tony Bell and Terry Sejnowski introduced a fast and efficient ICA algorithm based on infomax, a principle introduced by Ralph Linsker in 1992. In 1997, Shun-ichi Amari realized that the infomax ICA algorithm could be improved by using the natural gradient, which was independently discovered by Jean-Francois Cardoso. However, the original infomax ICA algorithm with sigmoidal nonlinearities was only suitable for super-Gaussian sources. Te-Won Lee, in collaboration with Mark Girolami, developed an efficient extended version of the infomax ICA algorithm that is suitable for general non-Gaussian signals.
There are many algorithms available in the literature which do ICA. A largely used one, including in industrial applications, is the FastICA algorithm, developed by Aapo Hyvärinen and Erkki Oja, which uses the kurtosis as cost function. Other examples are rather related to blind source separation where a more general approach is used. For example, one can drop the independence assumption and separate mutually correlated signals, thus, statistically "dependent" signals.
Several different approaches have been taken to independent component analysis, which include maximum likelihood, Bussgang methods based on cumulants, projection pursuit and negentropy methods. All of these are all closely related to the infomax framework, although they have some contributions on their own.
[编辑] Applications
An example of application of ICA algorithms is to EEG recordings of scalp potentials in humans. The electrical signals originating from the brain are quite weak at the scalp, in the microvolt range, and there are larger artifactual components arising from eye movements and muscles. It has been a difficult challenge to eliminate these artifacts without altering the brain signals. ICA is ideally suited to this task, since the brain and the scalp are good volume conductors and to a good approximation, the recordings are different linear mixtures of the brain signals and the artifacts. Many ICA algorithms have proven to be effective for separating out these artifacts. ICA algorithms have many other biomedical applications, including the analysis of extremely large datasets from functional Magnetic Resonance Imaging (fMRI) experiments, telecommunication or geological signals.
ICA can be extended to analyze non-physical signals. For instance, ICA has been applied to discover discussion topics on a bag of news list archives.
[编辑] See also
- Blind signal separation (BSS)
- Principal component analysis (PCA)
- Non-negative matrix factorization (NMF)
- Varimax rotation
- Projection pursuit
- Blind deconvolution
- Factor analysis
- Nonlinear PCA
- Redundancy reduction
- Image processing
- Signal processing
[编辑] External links
- What is independent component analysis? by Aapo Hyvärinen
- Introductory chapter of the book A. Hyvärinen, J. Karhunen, E. Oja (2001). Independent Component Analysis
- FastICA as a package for Matlab, in R language, C++, and Python
- ICALAB Toolboxes for Matlab, developed at Riken
- High Performance Signal Analysis Toolkit provides C++ implementations of FastICA and Infomax
- Free software for ICA by JV Stone.
- Demonstration of the cocktail party problem
- EEGLAB Toolbox ICA analysis of EEG for Matlab, developed at UCSD.
- FMRLAB Toolbox ICA analysis of fMRI for Matlab, developed at UCSD