En primer lugar, creo que descorrelacionar y blanquear son dos procedimientos distintos.
Para descorrelacionar los datos, tenemos que transformarlos para que los datos transformados tengan una matriz de covarianza diagonal. Esta transformación se puede encontrar resolviendo el problema de los valores propios problema de valores propios. Encontramos los vectores propios y los valores propios asociados de la matriz de covarianza ${\bf \Sigma} = {\bf X}{\bf X}'$ resolviendo
$${\bf \Sigma}{\bf \Phi} = {\bf \Phi} {\bf \Lambda}$$
donde ${\bf \Lambda}$ es una matriz diagonal que tiene los valores propios como elementos diagonales.
La matriz ${\bf \Phi}$ por lo que se diagonaliza la matriz de covarianza de ${\bf X}$ . Las columnas de ${\bf \Phi}$ son los vectores propios de la matriz de covarianza.
También podemos escribir la covarianza diagonalizada como
$${\bf \Phi}' {\bf \Sigma} {\bf \Phi} = {\bf \Lambda} \tag{1}$$
Así que para descorrelacionar un solo vector ${\bf x}_i$ Lo hacemos:
$${\bf x}_i^* = {\bf \Phi}' {\bf x}_i \tag{2}$$
Los elementos diagonales (valores propios) en ${\bf \Lambda}$ puede ser el mismo o diferente. Si hacemos que todos sean iguales, esto se llama blanquear los datos. Dado que cada valor propio determina la longitud de su vector propio asociado, la covarianza corresponderá a una elipse cuando los datos no estén blanqueados, y a una esfera (con todas las dimensiones de la misma longitud, o uniforme) cuando los datos estén blanqueados. El blanqueo se realiza de la siguiente manera:
$${\bf \Lambda}^{-1/2} {\bf \Lambda} {\bf \Lambda}^{-1/2} = {\bf I}$$
Equivalentemente, sustituyendo en $(1)$ escribimos:
$${\bf \Lambda}^{-1/2} {\bf \Phi}' {\bf \Sigma} {\bf \Phi} {\bf \Lambda}^{-1/2} = {\bf I}$$
Así, para aplicar esta transformación de blanqueo a ${\bf x}_i^*$ simplemente lo multiplicamos por este factor de escala, obteniendo el punto de datos blanqueado ${\bf x}_i^\dagger$ :
$${\bf x}_i^{\dagger} = {\bf \Lambda}^{-1/2} {\bf x}_i^* = {\bf \Lambda}^{-1/2}{\bf \Phi}'{\bf x}_i \tag 3$$
Ahora la covarianza de ${\bf x}_i^\dagger$ no sólo es diagonal, sino también uniforme (blanco), ya que la covarianza de ${\bf x}_i^\dagger$ , ${\bf E}({\bf x}_i^\dagger {{\bf x}_i^\dagger}') = {\bf I}$ .
Siguiendo con esto, puedo ver dos casos en los que esto podría no ser útil. El primero es bastante trivial, podría ocurrir que el escalado de los ejemplos de datos sea de alguna manera importante en el problema de inferencia que estás viendo. Por supuesto, usted podría los valores propios como un conjunto adicional de características para evitar esto. El segundo es un problema computacional: en primer lugar hay que calcular la matriz de covarianza ${\bf \Sigma}$ que puede ser demasiado grande para que quepa en la memoria (si tiene miles de características) o tarda demasiado en calcularse; en segundo lugar, la descomposición de valores propios es O(n^3) en la práctica, que de nuevo es bastante horrible con un gran número de características.
Y, por último, hay una "trampa" común con la que hay que tener cuidado. Hay que tener cuidado de que se calculan los factores de escala en los datos de entrenamiento y, a continuación, se utilizan las ecuaciones (2) y (3) para aplicar los mismos factores de escala a los datos de prueba, ya que, de lo contrario, se corre el riesgo de sobreajuste (se estaría utilizando información del conjunto de pruebas en el proceso de entrenamiento).
Fuente: http://courses.media.mit.edu/2010fall/mas622j/whiten.pdf