The topic of my PhD is Independent Component Analysis (ICA).
EM algorithms for ICA
Here’s an introduction to ICA followed by a presentation about EM algorithms for ICA: EM algorithms for ICA
Picard stands for “Preconditioned ICA for Real Data”. This algorithm quickly solves maximum-likelihood ICA. It is detailed in Faster ICA by preconditioning with Hessian approximations.
Picard-O is an adaptation of Picard which solves the same problem as FastICA, while being much faster on real data. It can also separate super- and sub- Gaussian sources. It is detailed in Faster ICA under orthogonal constraint.
Python code is available online at https://pierreablin.github.io/picard/.
ICA can be seen as a maximum likelihood estimation problem. This repository contains the Python translation of four second order algorithms to solve it, including Picard. It comes with a benchmarking script.