The nonlinear independent component analysis (ICA) algorithm discussed here is based on generative learning. This means that we try to find a model which allows a compact description of the observations in the hope of discovering some of the underlying causes of the observations. Whether the explanation is successful depends on the class of models we use. If the observations are generated by a process which is very difficult to describe with the chosen generative model, there is not much hope of recovering the original causes.
Linear ICA is suitable when it is reasonable to assume that the observations have been generated by a linear mixing from some independent source signals. In many realistic cases the process which generates the observations is nonlinear, however, and then a nonlinear generative model is needed in order to recover the original independent causes or independent components.
We shall demonstrate that the nonlinear ICA algorithm described in  can be used for estimating the independent components which have generated the observations through a nonlinear mapping. The algorithm uses multi-layer perceptron (MLP) network to model the nonlinear mapping from sources to observations and ensemble learning to estimate the posterior distributions of the unknown variables of the model, consisting of the parameters of the MLP network, source signals, noise levels, etc.