Methods and Theory : Independent Components Analysis

Overview (source code)

Independent Components Analysis is a technique used to discover underlying structure in data. For example, in the cocktail party problem, you might have audio recordings of a cocktail party in which several different people are speaking in different parts of a room. It would be nice if you could separate different conversations from each other to produce audio tracks of each separate conversation, without the interference from the others. The process of separating such approximately independent signals, without knowing their exact relative mixing proportions ahead of time, is known as blind source separation.

RADICAL, which stands for Robust, Accurate, Direct Independent Components Analysis aLgorithm, is a relatively new algorithm for separating signals, or indepedent components from data. Is is a non-parametric technique, and, when given enough data, it can separate ANY set of independent non-Gaussian signals from each other. This is markedly different from algorithm such as Fast-ICA and JADE, which only work on certain types of signals, depending upon their kurtosis.
RADICAL outperformed all other algorithms that we compared it against in our research. It is also substantially faster than Kernel ICA, another non-parametric ICA method. Details of our experiments are given in the JMLR paper referenced below.




  • Erik Learned-Miller and John W. Fisher, III.
    ICA using spacings estimates of entropy.
    Journal of Machine Learning Research (JMLR), Volume 4, pp. 1271-1295, 2003.