FastICA


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

FastICA - это эффективный и популярный алгоритм для независимого компонентного анализа, изобретенный Аапо Хювяриненом из Хельсинкского технологического университета . [1] [2] Как и большинство алгоритмов ICA, FastICA ищет ортогональное вращение предварительно отбеленных данных с помощью итерационной схемы с фиксированной точкой , которая максимизирует меру негауссовости повернутых компонентов. Негауссовость служит показателем статистической независимости , что является очень строгим условием и требует бесконечного количества данных для проверки. FastICA также может быть получен как приближенная итерация Ньютона.

Алгоритм

Предварительное отбеливание данных

Пусть обозначает матрицу входных данных, количество столбцов, соответствующее количеству выборок смешанных сигналов, и количество строк, соответствующее количеству независимых исходных сигналов. Матрицу входных данных необходимо предварительно отбелить или центрировать и отбелить перед применением к ней алгоритма FastICA.

  • Центрирование данных влечет за собой унижение каждого компонента входных данных , то есть
для каждого и . После центрирования, каждая строка имеет ожидаемое значение из .
  • Отбеливание данных требует линейного преобразования центрированных данных, чтобы компоненты не коррелировали и имели единичную дисперсию. Точнее, если - это центрированная матрица данных, ковариация - это -мерная единичная матрица, то есть
Общий метод для отбеливания посредством выполнения разложения по собственным значениям на ковариационной матрице центрированных данных , где матрица собственных векторов и диагональная матрица собственных значений. Матрица отбеленных данных определяется таким образом

Однокомпонентная экстракция

Итерационный алгоритм находит направление для вектора весов, которое максимизирует меру негауссовости проекции , с обозначением предварительно отбеленной матрицы данных, как описано выше. Обратите внимание, что это вектор-столбец. Для измерения негауссовости FastICA использует неквадратичную нелинейную функцию , ее первую производную и вторую производную . Хювяринен утверждает, что функции

полезны для общих целей, а

может быть очень надежным. [1] Шаги по извлечению вектора весов для отдельного компонента в FastICA следующие:

  1. Произвести случайный выбор вектора начального веса
  2. Пусть , где означает усреднение по всем векторам-столбцам матрицы
  3. Позволять
  4. Если не сходится, вернитесь к 2

Многокомпонентная экстракция

Единичный итерационный алгоритм оценивает только один весовой вектор, который извлекает единственный компонент. Оценка дополнительных компонентов, которые являются взаимно «независимыми», требует повторения алгоритма для получения линейно независимых векторов проекции - обратите внимание, что понятие независимости здесь относится к максимизации негауссовости в оцениваемых компонентах. Hyvärinen предлагает несколько способов извлечения нескольких компонентов, самый простой из которых - следующий. Здесь - вектор-столбец размерности единиц .

Алгоритм FastICA

Ввод: количество желаемых компонентов.
Вход: предварительно отбеленная матрица, где каждый столбец представляет собой -мерный образец, где
Выход: матрица несмешивания, в которой каждый столбец проецируется на независимый компонент.
Выход: матрица независимых компонентов со столбцами, представляющими образец с размерами.
 для p в 1 - C: случайный вектор длины N при изменении вывода вывода    

Шумная экстракция

Примечательно, что Fast ICA чрезвычайно устойчив к аддитивному шуму в смешанном сигнале. Рассмотрим следующую зашумленную модель.

После предварительного отбеливания влияние аддитивного шума на экстракцию значительно снижается. Оценка Reconstruction ICA , скажем, для двух случаев высокого и низкого содержания шума показана на рисунке, который ясно подчеркивает устойчивость Fast ICA к аддитивному шуму.

Смотрите также

использованная литература

  1. ^ a b Hyvärinen, A .; Оя, Э. (2000). «Независимый компонентный анализ: алгоритмы и приложения» (PDF) . Нейронные сети . 13 (4–5): 411–430. CiteSeerX  10.1.1.79.7003 . DOI : 10.1016 / S0893-6080 (00) 00026-5 . PMID  10946390 .
  2. ^ Hyvärinen, A. (1999). «Быстрые и надежные алгоритмы с фиксированной точкой для независимого компонентного анализа» (PDF) . IEEE-транзакции в нейронных сетях . 10 (3): 626–634. CiteSeerX 10.1.1.297.8229 . DOI : 10.1109 / 72.761722 . PMID 18252563 .   

внешние ссылки

  • FastICA на Python
  • Пакет FastICA для Matlab или Octave
  • Пакет fastICA на языке программирования R
  • FastICA на Java на SourceForge
  • FastICA на Java в RapidMiner .
  • FastICA в Matlab
  • FastICA в MDP
Источник « https://en.wikipedia.org/w/index.php?title=FastICA&oldid=998101764 »