Skip to content
Several maximum likelihood ICA algorithms, including Picard
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
ml_ica
.gitignore
LICENSE
README.rst
setup.py

README.rst

Faster ICA by preconditioning with Hessian approximations

This repository hosts several second order algorithms to solve maximum likelihood ICA.

The algorithms can be found in ml_ica/algorithms. They are:

These algorithms have all been rewritten in Python. They call the same gradient, Hessian and likelihood functions, which makes time comparison meaningful.

The algorithms come with a benchmark at ml_ica/example/benchmark.py. This script runs each algorithm on the same real dataset (fMRI or EEG) and times it.

Installation

Clone the repository:

$ git clone https://github.com/pierreablin/faster-ica.git
$ cd faster-ica
$ pip install -e .

The easiest way to get started is to run the benchmark:

$ python examples/benchmark.py

Dependencies

These are the dependencies to run the algorithms:

  • numpy (>=1.8)
  • matplotlib (>=1.3)
  • numexpr (>= 2.0)
  • scipy (>=0.19)

Cite

If you use this code in your project, please cite this paper:

Pierre Ablin, Jean-Francois Cardoso, and Alexandre Gramfort
Faster independent component analysis by preconditioning with Hessian approximations
Arxiv preprint, 2017
You can’t perform that action at this time.