Я просмотрел документ на основе заявления о том, что применение PCA перед применением ICA (с использованием пакета fastICA). У меня вопрос, требует ли ICA (fastICA) сначала запуск PCA?
В этой статье упоминается, что
... также утверждается, что предварительное применение PCA повышает производительность ICA за счет (1) отбрасывания небольших конечных собственных значений перед отбеливанием и (2) уменьшения вычислительной сложности путем минимизации парных зависимостей. PCA декоррелирует входные данные; остальные зависимости более высокого порядка разделены ICA.
Также другие документы применяют PCA перед ICA, например, этот .
Есть ли другие плюсы и минусы для запуска PCA до ICA? Пожалуйста, предоставьте теорию со ссылками.
pca
dimensionality-reduction
pattern-recognition
ica
Само Джером
источник
источник
Ответы:
Подход fastICA действительно требует этапа предварительного отбеливания: данные сначала преобразуются с использованием PCA, что приводит к диагональной ковариационной матрице, а затем каждое измерение нормализуется так, что ковариационная матрица равна единичной матрице (отбеливание).
Существуют бесконечные преобразования данных, которые приводят к тождественной ковариационной матрице, и если бы ваши источники были гауссовыми, вы бы остановились на этом (для многомерных распределений Гаусса достаточно среднего значения и ковариации), при наличии негауссовых источников вы можете минимизировать некоторые мера зависимости от отбеленных данных, поэтому вы ищите ротацию отбеленных данных, которая максимизирует независимость. FastICA достигает этого, используя теоретико-информационные меры и схему итераций с фиксированной запятой.
Я бы порекомендовал работу Hyvärinen, чтобы глубже понять проблему:
Обратите внимание, что выполнение PCA и уменьшение размера - это не одно и то же: если у вас больше наблюдений (на сигнал), чем сигналов, вы можете выполнить PCA, сохранив 100% объясненной дисперсии, а затем продолжить отбеливание и итерацию с фиксированной точкой. получить оценку независимых компонентов. Нужно ли выполнять уменьшение размера или нет, зависит от контекста и зависит от ваших предположений моделирования и распределения данных.
источник
Применение PCA к вашим данным имеет единственный эффект поворота исходных координатных осей. Это линейное преобразование, как, например, преобразование Фурье. Поэтому как таковой он действительно ничего не может сделать с вашими данными.
Однако данные, представленные в новом пространстве PCA, обладают некоторыми интересными свойствами. После вращения координат с помощью PCA вы можете отказаться от некоторых измерений на основе установленных критериев, таких как процент от общей дисперсии, объясненной новыми осями. В зависимости от вашего сигнала вы можете добиться значительного уменьшения размеров этим методом, и это определенно повысит производительность следующего ICA. Выполнение ICA без отказа от какого-либо из компонентов PCA не повлияет на результат следующего ICA.
Кроме того, можно легко отбелить данные в пространстве PCA благодаря ортогональности координатных осей. Отбеливание имеет эффект выравнивания различий во всех измерениях. Я бы сказал, что это необходимо для правильной работы ICA. В противном случае только несколько компонентов PCA с наибольшим отклонением будут доминировать в результатах ICA.
Я действительно не вижу никаких недостатков для предварительной обработки на основе PCA перед ICA.
Джанкарло цитирует уже лучший справочник по ICA ...
источник
Создание алгоритма fastICA требует только отбеливания за один шаг. Сначала вы выбираете направление шага (например, градиентный спуск), и это не требует отбеленных данных. Затем мы должны выбрать размер шага, который зависит от обратного гессиана. Если данные отбелены, то этот гессиан является диагональным и обратимым.
Так нужно ли это? Если вы просто зафиксировали размер шага постоянным (поэтому не требует отбеливания), у вас будет стандартный градиентный спуск. Градиентный спуск с фиксированным небольшим шагом будет обычно сходиться, но, возможно, намного медленнее, чем оригинальный метод. С другой стороны, если у вас большая матрица данных, отбеливание может быть довольно дорогим. Возможно, вам будет лучше даже при более медленном сближении, которое вы получаете без отбеливания.
Я был удивлен, что не увидел упоминания об этом ни в одной литературе. Одна статья обсуждает проблему: новые алгоритмы Fast-ICA для разделения слепых источников без предварительного отбеливания Jimin Ye и Ting Huang.
Они предлагают несколько более дешевый вариант отбеливания. Хотелось бы, чтобы они включили очевидное сравнение просто запуска ICA без отбеливания в качестве основы, но они этого не сделали. В качестве еще одного пункта данных я попытался запустить fastICA без отбеливания при проблемах с игрушкой, и он работал нормально.
Обновление: здесь есть еще одна приятная ссылка на отбеливание: надежный анализ независимых компонентов, Zaroso и Comon . Они предоставляют алгоритмы, которые не требуют отбеливания.
источник