Significado de "error de reconstrucción" en PCA y LDA


12

Estoy implementando PCA, LDA y Naive Bayes, para compresión y clasificación respectivamente (implementando tanto un LDA para compresión y clasificación).

Tengo el código escrito y todo funciona. Lo que necesito saber, para el informe, es cuál es la definición general de error de reconstrucción .

Puedo encontrar muchas matemáticas y usos de ellas en la literatura ... pero lo que realmente necesito es una vista panorámica / definición de palabras simples, para poder adaptarlo al informe.


El error de reconstrucción es el concepto que se aplica (de su lista) solo a PCA, no a LDA o Bayes ingenuo. ¿Está preguntando qué significa el error de reconstrucción en PCA, o desea alguna "definición general" que también se aplique a LDA y Bayes ingenuos?
ameba

¿Conoces ambos? El informe involucra PCA y LDA en lo que respecta a la compresión de datos, por lo que tengo que tener algún tipo de respuesta tanto para PCA como para LDA ... pero no necesariamente NB. Entonces, tal vez la versión detallada específica de pca ... y la idea general, para que pueda aplicarla a LDA tan bien como pueda. Entonces, tendría suficiente conocimiento para buscar en Google de manera más efectiva si me encuentro con inconvenientes ...
Christopher

Esta pregunta podría cerrarse mejor porque general definition of reconstruction errores evasivamente amplia.
ttnphns

2
@ttnphns, no creo que sea demasiado amplio. Creo que la pregunta puede reformularse como "¿Podemos aplicar la noción PCA de error de reconstrucción a LDA?" y creo que es una pregunta interesante y sobre el tema (+1). Intentaré escribir una respuesta yo mismo si encuentro tiempo.
ameba

1
@amoeba, en la formulación sugerida por ti, la pregunta realmente recibe luz. Sí, es posible escribir una respuesta en ese momento (y puedo esperar que la suya sea buena). Una cosa difícil sobre "lo que se está reconstruyendo" en LDA es emitir lo que se considera DV y qué IV en LDA.
ttnphns

Respuestas:


8

Para PCA, lo que hace es proyectar sus datos en un subconjunto de su espacio de entrada. Básicamente, todo se mantiene en esta imagen de arriba: proyecta datos en el subespacio con la máxima variación. Cuando reconstruye sus datos a partir de la proyección, obtendrá los puntos rojos, y el error de reconstrucción es la suma de las distancias de los puntos azules a los rojos: de hecho, corresponde al error que cometió al proyectar sus datos en el verde línea. ¡Se puede generalizar en cualquier dimensión, por supuesto!

ingrese la descripción de la imagen aquí

Como se señaló en los comentarios, no parece tan simple para LDA y no puedo encontrar una definición adecuada en Internet. Lo siento.


El caso de LDA es más complicado que eso. ¿Qué haría en caso de proyecciones bidimensionales? En PCA, dos ejes principales son ortogonales y forman un plano 2D, por lo que, por supuesto, se aplica la misma idea de error de reconstrucción. Pero en LDA, dos ejes discriminantes no son ortogonales. ¿Cómo sugiere exactamente definir el error de reconstrucción entonces?
ameba

Tengo dos comentarios sobre la respuesta. 1) ¿Estás diciendo que tu foto 1 muestra la verdadera PC1? 2) Para LDA y la segunda foto, bueno, puede dibujar discriminantes como ejes en el espacio original y llamar a los datos residuales del punto "error de reconstrucción". Pero es una práctica terminológica laxa. ¿Qué reconstruyen los discriminantes? Además, agregue aquí lo que dijo la ameba sobre la no ortogonalidad axial (visto aquí ).
ttnphns

1) Es una imagen tomada de una búsqueda en Google que muestra un error, pero de hecho la PCA sería mucho más vertical, intentaré encontrar una mejor y actualizarla.
Vince.Bdn

2) He editado mi publicación. Tiendo a ver a los discriminantes como ejes en el espacio original para un punto de vista geométrico, pero como se señaló, no hay ortogonalidad. Mi error ...
Vince.Bdn

1
Vince, es tu decisión. Pero en cuanto a mí, en su lugar, es mejor que deje la segunda foto en la respuesta, también. No te equivocaste y tu punto de vista es posible. Sin embargo, el problema es más complejo con LDA; los comentarios fueron solo para enfatizar eso .
ttnphns

2

La definición general del error de reconstrucción sería la distancia entre el punto de datos original y su proyección en un subespacio de dimensión inferior (su "estimación").

Fuente: Especialización en Matemáticas del Aprendizaje Automático por Imperial College London


0

Lo que generalmente uso como medida del error de reconstrucción (en el contexto de PCA, pero también de otros métodos) es el coeficiente de determinación R2y el error cuadrático medio cuadrático (o RMSE normalizado). Estos dos son fáciles de calcular y le dan una idea rápida de lo que hizo la reconstrucción.

Cálculo

Asumamos X son sus datos originales y F son los datos comprimidos

los R2 del yoth La variable se puede calcular como:

Ryo2=1-j=1norte(Xj,yo-Fj,yo)2j=1norteXj,yo2

Ya que R2=1.0 para un ajuste perfecto, puede juzgar la reconstrucción por lo cerca que esté R2 es a 1.0.

El RMSE de la yoth La variable se puede calcular como:

RMSEyo=(Xyo-Fyo)2¯

que también puede normalizar según la cantidad que más le convenga (norma norte), A menudo normalizo por el valor medio, el NRMSE es así:

NRMSEyo=RMSEyonorteyo=(Xyo-Fyo)2¯Xyo2¯

Cálculo

En caso de que esté usando Python, puede calcularlos como:

from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
from math import sqrt
import numpy as np

r2 = r2_score(X, f)
rmse = sqrt(mean_squared_error(X, f))

# RMSE normalised by mean:
nrmse = rmse/sqrt(np.mean(X**2))

donde Xestán los datos originales y fson los datos comprimidos.

Visualización

En caso de que sea útil para usted hacer un análisis de sensibilidad, puede juzgar visualmente cómo R2o RMSE cambian cuando cambia los parámetros de su compresión. Por ejemplo, esto puede ser útil en el contexto de PCA cuando desee comparar reconstrucciones con un número creciente de los Componentes principales retenidos. A continuación, verá que al aumentar el número de modos, su ajuste se acerca al modelo:

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.