La derivación del algoritmo fastICA solo requiere blanqueamiento para un solo paso. Primero, elige la dirección del paso (como un descenso de gradiente) y esto no requiere datos blanqueados. Luego, tenemos que elegir el tamaño del paso, que depende de la inversa del Hessian. Si los datos se blanquean, entonces esta arpillera es diagonal e invertible.
Entonces, ¿se requiere? Si acaba de fijar el tamaño del paso a una constante (por lo tanto, no requiere blanqueamiento), tendría un descenso de gradiente estándar. El descenso de gradiente con un pequeño paso fijo normalmente convergerá, pero posiblemente sea mucho más lento que el método original. Por otro lado, si tiene una matriz de datos grande, el blanqueamiento podría ser bastante costoso. Es posible que esté mejor incluso con la convergencia más lenta que obtiene sin blanquear.
Me sorprendió no ver mención de esto en ninguna literatura. Un artículo analiza el problema:
nuevos algoritmos Fast-ICA para la separación de fuentes ciegas sin preblanqueamiento
por Jimin Ye y Ting Huang.
Sugieren una opción algo más barata para blanquear. Desearía que hubieran incluido la comparación obvia de simplemente ejecutar ICA sin blanquear como línea de base, pero no lo hicieron. Como otro punto de datos, he intentado ejecutar fastICA sin blanquear los problemas de los juguetes y funcionó bien.
Actualización: otra buena referencia para el blanqueamiento está aquí: análisis robusto de componentes independientes, Zaroso y Comon . Proporcionan algoritmos que no requieren blanqueamiento.