10 votos

¿La reducción de la dimensión siempre pierde algo de información?

Como dice el título, ¿la reducción de la dimensión siempre pierde algo de información? Consideremos, por ejemplo, el PCA. Si los datos que tengo son muy dispersos, supondría que se podría encontrar una "codificación mejor" (¿está esto relacionado de alguna manera con el rango de los datos?), y no se perdería nada.

9voto

Rob Allen Puntos 486

La reducción de la dimensionalidad no siempre perder información. En algunos casos, es posible volver a representar los datos en espacios de menor dimensión sin descartar ninguna información.

Suponga que tiene unos datos en los que cada valor medido está asociado a dos covariables ordenadas. Por ejemplo, suponga que ha medido la calidad de la señal $Q$ (indicados por el color blanco=bueno, negro=malo) en una cuadrícula densa de $x$ y $y$ posiciones relativas a algún emisor. En ese caso, sus datos podrían parecerse al gráfico de la izquierda [*1]:

radial averaging demo

Es, al menos superficialmente, un dato bidimensional: $Q(x,y)$ . Sin embargo, podríamos saber a priori (basado en la física subyacente) o suponer que la depende sólo de la distancia al origen: r = $\sqrt{x^2 + y^2}$ . (Algún análisis exploratorio también podría llevarle a esta conclusión si incluso el fenómeno subyacente no se entiende bien). Podríamos entonces reescribir nuestros datos como $Q(r)$ en lugar de $Q(x,y)$ lo que reduciría efectivamente la dimensionalidad a una sola dimensión. Obviamente, esto sólo es sin pérdidas si los datos son radialmente simétricos, pero esta es una suposición razonable para muchos fenómenos físicos.

Esta transformación $Q(x,y) \rightarrow Q(r)$ es no lineal (¡hay una raíz cuadrada y dos cuadrados!), por lo que es algo diferente del tipo de reducción de la dimensionalidad que realiza el PCA, pero creo que es un buen ejemplo de cómo a veces se puede eliminar una dimensión sin perder ninguna información.

Para otro ejemplo, supongamos que se realiza una descomposición de valores singulares en algunos datos (la SVD es un primo cercano -y a menudo las tripas subyacentes- del análisis de componentes principales). La SVD toma su matriz de datos $M$ y la factoriza en tres matrices tales que $M = USV^{T}$ . Las columnas de U y V son los vectores singulares izquierdo y derecho, respectivamente, que forman un conjunto de bases ortonormales para $M$ . Los elementos diagonales de $S$ (es decir, $S_{i,i})$ son valores singulares, que son efectivamente pesos en el $i$ conjunto de bases formado por las correspondientes columnas de $U$ y $V$ (el resto de $S$ son ceros). Por sí mismo, esto no le da ninguna reducción de la dimensionalidad (de hecho, ahora hay 3 $NxN$ en lugar de las matrices simples $NxN$ matriz con la que se empezó). Sin embargo, a veces algunos elementos diagonales de $S$ son cero. Esto significa que las bases correspondientes en $U$ y $V$ no son necesarios para reconstruir $M$ y, por tanto, se pueden dejar de lado. Por ejemplo, supongamos que el $Q(x,y)$ matriz anterior contiene 10.000 elementos (es decir, es 100x100). Cuando realizamos una SVD sobre ella, encontramos que sólo un par de vectores singulares tiene un valor distinto de cero [*2], por lo que podemos volver a representar la matriz original como el producto de dos vectores de 100 elementos (200 coeficientes, pero en realidad se puede hacer un poco mejor [*3]).

Para algunas aplicaciones, sabemos (o al menos suponemos) que la información útil es capturada por componentes principales con altos valores singulares (SVD) o cargas (PCA). En estos casos, podríamos descartar los vectores singulares/bases/componentes principales con cargas más pequeñas aunque sean distintas de cero, con la teoría de que contienen ruido molesto en lugar de una señal útil. En ocasiones he visto a personas rechazar componentes específicos basándose en su forma (por ejemplo, si se parece a una fuente conocida de ruido aditivo), independientemente de la carga. No estoy seguro de si esto se consideraría una pérdida de información o no.

Hay algunos resultados interesantes sobre la optimización teórica de la información del PCA. Si la señal es gaussiana y está corrompida por un ruido gaussiano aditivo, el ACP puede maximizar la información mutua entre la señal y su versión reducida a la dimensión (suponiendo que el ruido tenga una estructura de covarianza similar a la identidad).


Notas a pie de página:

  1. Se trata de un modelo cursi y totalmente no físico. Lo siento.
  2. Debido a la imprecisión del punto flotante, algunos de estos valores serán no-cero.
  3. En una inspección posterior, en este caso concreto Los dos vectores singulares son iguales y simétricos respecto a su centro, por lo que podríamos representar la matriz completa con sólo 50 coeficientes. Obsérvese que el primer paso se desprende del proceso SVD automáticamente; el segundo requiere un poco de inspección/salto de fe. (Si quiere pensar en esto en términos de puntuaciones PCA, la matriz de puntuación es simplemente $US$ de la descomposición SVD original; se aplican argumentos similares sobre los ceros que no contribuyen en absoluto).

4voto

jws121295 Puntos 36

Creo que la pregunta que hay detrás de tu pregunta es "¿qué hace la información?". Es una buena pregunta.

Tecnicismo gramatical:

¿El PCA? siempre ¿perder información? No. ¿Se trata de a veces ¿perder información? Youbetcha. Puede reconstruir los datos originales a partir de los componentes. Si siempre perdiera información, esto no sería posible.

Es útil porque no suele perder información importante cuando se utiliza para reducir la dimensión de los datos. Cuando se pierden datos, suelen ser los de mayor frecuencia y, a menudo, los menos importantes. Las tendencias generales a gran escala se recogen en los componentes asociados a los valores propios más grandes.

4voto

Ted Puntos 854

No. Si una o más de las dimensiones de un $n \times p$ son una función de las otras dimensiones, la técnica de reducción de dimensión adecuada no perderá ninguna información.

En el caso más sencillo, si una dimensión es una combinación lineal de las demás, se puede reducir la dimensionalidad en una sin perder ninguna información, ya que la dimensión eliminada podría volver a crearse, si fuera necesario, a partir de lo que queda.

Consideremos este caso tridimensional donde x3 es una combinación lineal exacta de x1 y x2. No es obvio a partir de los datos originales, aunque está claro que x3 está relacionado con los otros dos:

enter image description here

Pero si miramos los componentes principales, el tercero es cero (dentro del error numérico).

enter image description here

El gráfico de los dos primeros componentes principales es el mismo que el gráfico de x1 contra x2, sólo que rotado (ok, no es tan obvio lo que quería decir, trataré de explicarlo mejor después) :

enter image description here

Hemos reducido la dimensionalidad en uno, pero hemos mantenido toda la información, según cualquier definición razonable.

Esto se extiende más allá de la reducción lineal de la dimensión también, aunque naturalmente se vuelve más complejo de ilustrar. La cuestión es que la respuesta general es "no", no cuando algunas de las dimensiones son funciones de una combinación de las otras.

Código R:

library(GGally)

n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X