Skip to content

Several maximum likelihood ICA algorithms, including Picard

License

Notifications You must be signed in to change notification settings

pierreablin/faster-ica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Several maximum likelihood ICA algorithms, including Picard

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages