Header logo is ei

Fast Kernel-Based Independent Component Analysis




Recent approaches to independent component analysis (ICA) have used kernel independence measures to obtain highly accurate solutions, particularly where classical methods experience difficulty (for instance, sources with near-zero kurtosis). FastKICA (fast HSIC-based kernel ICA) is a new optimization method for one such kernel independence measure, the Hilbert-Schmidt Independence Criterion (HSIC). The high computational efficiency of this approach is achieved by combining geometric optimization techniques, specifically an approximate Newton-like method on the orthogonal group, with accurate estimates of the gradient and Hessian based on an incomplete Cholesky decomposition. In contrast to other efficient kernel-based ICA algorithms, FastKICA is applicable to any twice differentiable kernel function. Experimental results for problems with large numbers of sources and observations indicate that FastKICA provides more accurate solutions at a given cost than gradient descent on HSIC. Comparing with other recently published ICA methods, FastKICA is competitive in terms of accuracy, relatively insensitive to local minima when initialized far from independence, and more robust towards outliers. An analysis of the local convergence properties of FastKICA is provided.

Author(s): Shen, H. and Jegelka, S. and Gretton, A.
Journal: IEEE Transactions on Signal Processing
Volume: 57
Number (issue): 9
Pages: 3498-3511
Year: 2009
Month: September
Day: 0

Department(s): Empirical Inference
Bibtex Type: Article (article)

Digital: 0
DOI: 10.1109/TSP.2009.2022857
Language: en
Organization: Max-Planck-Gesellschaft
School: Biologische Kybernetik

Links: PDF


  title = {Fast Kernel-Based Independent Component Analysis},
  author = {Shen, H. and Jegelka, S. and Gretton, A.},
  journal = {IEEE Transactions on Signal Processing},
  volume = {57},
  number = {9},
  pages = {3498-3511},
  organization = {Max-Planck-Gesellschaft},
  school = {Biologische Kybernetik},
  month = sep,
  year = {2009},
  month_numeric = {9}