5 votos

¿Cómo evaluar la reducción de dimensiones del espacio n al espacio d?

Estoy realizando una reducción de dimensiones en algunos conjuntos de datos y me gustaría evaluar cómo ha funcionado un algoritmo de reducción de dimensiones en particular en términos de cuántos datos se pierden. Si nos dan 1000 dimensiones y las reducimos a 2, ¿qué eficacia tiene? Intento averiguar hasta qué punto debe hacer RD para que sus resultados no se estropeen. ¿Hay alguna métrica que haga esto? Estoy usando PCA.

Editar:

¿Puedo utilizar alguna métrica de distancia para hacer la evaluación?

11voto

brian buck Puntos 1103

De hecho, existe un lema profundo sobre la reducción de dimensiones, el lema de Johnson-Lindenstrauss, que afirma que dado un conjunto $A = \{a_1,\dots,a_n \}$ un mapa $f : \mathbb{R}^D \rightarrow \mathbb{R}^d$ es un $\epsilon$ -si para cada par $a,a^{'} \in A$ tenemos $$ ( 1 - \epsilon) || a - a^{'} ||^2 \leq || f(a) - f(a^{'}) ||^2 \leq ( 1 + \epsilon) || a - a^{'} ||^2 $$ y el lema de Johnson-Lindenstrauss afirma que existe un $\epsilon$ -isometría siempre que $d \geq k \epsilon^{-2} \log ( n )$ donde $k$ es una constante absoluta. Se puede realizar dicho mapa con una matriz de entradas gaussianas i.i.d.

Edición: oh, lo siento, no fui lo suficientemente claro sobre cómo creo que se relaciona con la pregunta (tal vez estoy equivocado) para la reducción de la dimensión (al menos en un contexto en el que sólo la distancia entre los puntos es importante, como la agrupación, por ejemplo), calcularía cuánto mi mapeo (PCA aquí, creo) está cambiando la distancia entre los puntos y comparar el límite superior de esa distorsión con el límite dado por JL, por ejemplo, si usted va a la dimensión 2, lo compararía con $\sqrt(\frac{\log(n)}{2})$ si tengo n puntos (por supuesto aquí 2 es demasiado bajo para obtener un límite no trivial). Me da una forma de afirmar que mi algoritmo tiene el mejor comportamiento posible (aunque normalmente supongo que se piensa lo contrario estableciendo primero un $\epsilon$ y conseguir un $d$ ). Otra cosa que me da el resultado es una manera de construir el mejor algoritmo para la reducción de la dimensión que es utilizar una matriz cuyas entradas son variables aleatorias normales como mi "proyección".

3voto

blahdiblah Puntos 1419

Digamos que tienes componentes principales $v_1$ a través de $v_n$ . Cualquier vector en $n$ -puede traducirse a la base de esos vectores principales:

$x = x_1v_1 + \dots + x_nv_n $

Cuando se reduce un vector en $n$ -espacio para $d$ -espacio, estás proyectando en el primer $d$ componentes principales y eliminando el resto:

$\hat x = x_1v_1 + \dots + x_dv_d + 0v_{d+1} + \dots + 0v_n$

Así que si quieres saber el error, serían todas las partes puestas a cero. Sospecho que la forma más fácil de hacer esto es:

dado $x$ y componentes principales precalculados $v_1 \dots v_n$ .

$x_1 \dots x_d := $ proyección de $x$ a la primera $d$ componentes principales

$\hat x := x_1v_1 + \dots + x_dv_d $

$\|x-\hat x\|^2$ es el error al cuadrado de la reducción de la dimensionalidad

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