FastICA
Encyclopedia
FastICA is an efficient and popular algorithm for independent component analysis
invented by Aapo Hyvärinen at Helsinki University of Technology
. The algorithm is based on a fixed-point iteration scheme
maximizing non-Gaussianity
as a measure of statistical independence
. It can be also derived as an approximative Newton iteration.
maximizing the non-Gaussianity of the projection
for the data .
The function
is the derivative
of a nonquadratic nonlinearity
. For example could be the derivative of .
Independent component analysis
Independent component analysis is a computational method for separating a multivariate signal into additive subcomponents supposing the mutual statistical independence of the non-Gaussian source signals...
invented by Aapo Hyvärinen at Helsinki University of Technology
Helsinki University of Technology
Aalto University School of Science and Technology , was the temporary name for Helsinki University of Technology during the process of forming the Aalto University...
. The algorithm is based on a fixed-point iteration scheme
Iterative method
In computational mathematics, an iterative method is a mathematical procedure that generates a sequence of improving approximate solutions for a class of problems. A specific implementation of an iterative method, including the termination criteria, is an algorithm of the iterative method...
maximizing non-Gaussianity
Non-gaussianity
In physics, a non-Gaussianity is the correction that modifies the expected Gaussian function estimate for the measurement of a physical quantity....
as a measure of statistical independence
Statistical independence
In probability theory, to say that two events are independent intuitively means that the occurrence of one event makes it neither more nor less probable that the other occurs...
. It can be also derived as an approximative Newton iteration.
FastICA for one unit
The iterative algorithm finds the direction for the weight vectormaximizing the non-Gaussianity of the projection
for the data .
The function
Function (mathematics)
In mathematics, a function associates one quantity, the argument of the function, also known as the input, with another quantity, the value of the function, also known as the output. A function assigns exactly one output to each input. The argument and the value may be real numbers, but they can...
is the derivative
Derivative
In calculus, a branch of mathematics, the derivative is a measure of how a function changes as its input changes. Loosely speaking, a derivative can be thought of as how much one quantity is changing in response to changes in some other quantity; for example, the derivative of the position of a...
of a nonquadratic nonlinearity
Nonlinearity
In mathematics, a nonlinear system is one that does not satisfy the superposition principle, or one whose output is not directly proportional to its input; a linear system fulfills these conditions. In other words, a nonlinear system is any problem where the variable to be solved for cannot be...
. For example could be the derivative of .
- Choose an initial weight vector
- Let
- Let
- If not converged, go back to 2
See also
- Independent component analysis (ICA)Independent component analysisIndependent component analysis is a computational method for separating a multivariate signal into additive subcomponents supposing the mutual statistical independence of the non-Gaussian source signals...
- Unsupervised learningUnsupervised learningIn machine learning, unsupervised learning refers to the problem of trying to find hidden structure in unlabeled data. Since the examples given to the learner are unlabeled, there is no error or reward signal to evaluate a potential solution...
- Machine learningMachine learningMachine learning, a branch of artificial intelligence, is a scientific discipline concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data, such as from sensor data or databases...
External links
- FastICA package for Matlab or Octave
- fastICA package in R programming language
- FastICA in Java on SourceForgeSourceForgeSourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
- FastICA in Java in RapidMiner.