Создание алгоритма fastICA требует только отбеливания за один шаг. Сначала вы выбираете направление шага (например, градиентный спуск), и это не требует отбеленных данных. Затем мы должны выбрать размер шага, который зависит от обратного гессиана. Если данные отбелены, то этот гессиан является диагональным и обратимым.
Так нужно ли это? Если вы просто зафиксировали размер шага постоянным (поэтому не требует отбеливания), у вас будет стандартный градиентный спуск. Градиентный спуск с фиксированным небольшим шагом будет обычно сходиться, но, возможно, намного медленнее, чем оригинальный метод. С другой стороны, если у вас большая матрица данных, отбеливание может быть довольно дорогим. Возможно, вам будет лучше даже при более медленном сближении, которое вы получаете без отбеливания.
Я был удивлен, что не увидел упоминания об этом ни в одной литературе. Одна статья обсуждает проблему:
новые алгоритмы Fast-ICA для разделения слепых источников без предварительного отбеливания Jimin
Ye и Ting Huang.
Они предлагают несколько более дешевый вариант отбеливания. Хотелось бы, чтобы они включили очевидное сравнение просто запуска ICA без отбеливания в качестве основы, но они этого не сделали. В качестве еще одного пункта данных я попытался запустить fastICA без отбеливания при проблемах с игрушкой, и он работал нормально.
Обновление: здесь есть еще одна приятная ссылка на отбеливание: надежный анализ независимых компонентов, Zaroso и Comon . Они предоставляют алгоритмы, которые не требуют отбеливания.