PCA, ICA y mapas propios laplacianos

9

Estoy muy interesado en el método de mapas propios de Laplacia. Actualmente, lo estoy usando para reducir la dimensión de mis conjuntos de datos médicos.

Sin embargo, me he encontrado con un problema al usar el método.

Por ejemplo, tengo algunos datos (señales de espectros), puedo usar PCA (o ICA) para obtener algunas PC e IC. El problema es cómo obtener componentes de dimensiones reducidas similares de los datos originales.

De acuerdo con el método de mapas propios de Laplacia, necesitamos resolver el problema del valor propio generalizado, que es

Ly=λDy

Aquí y son los vectores propios. Si trazo los vectores propios, por ejemplo, los 3 primeros de los vectores y (establece la solución de acuerdo con 3 valores propios), los resultados no son interpretables.

Sin embargo, siempre puedo trazar las 3 mejores PC y los 3 mejores circuitos integrados, que de alguna manera representan los datos originales x.

Supongo que la razón es porque la matriz L está definida por la matriz de ponderación (matriz adjunta W), y los datos x han sido equipados con el núcleo de calor para crear W, que está utilizando una función exponencial. Mi pregunta es cómo recuperar los componentes reducidos de x (no el vector propio y de la matriz L).

Muchas gracias y espero su respuesta.


Muchas gracias por sus chicos respondieron.

Mi conjunto de datos está restringido y no es fácil demostrar el problema. Aquí creé un problema de juguete para mostrar lo que quería decir y lo que quiero preguntar.

Por favor vea la imagen,

En primer lugar, creo algunas ondas sinusoidales A, B, C que se muestran en curvas rojas (primera columna de la figura). A, B y C tienen 1000 muestras, en otras palabras, guardadas en 1x1000 vectores.

En segundo lugar, mezclé las fuentes A, B, C usando combinaciones lineales creadas al azar, por ejemplo, , en las que r1, r2, r3 son valores aleatorios. La señal mixta M está en un espacio dimensional muy alto, por ejemplo, , 1517 se elige aleatoriamente en un espacio dimensional alto. Solo muestro las primeras tres filas de la señal M en curvas verdes (segunda columna de la figura).M R 1517 × 1000M=r1A+r2B+r3CMR1517×1000

A continuación, ejecuto PCA, ICA y mapas propios de Laplacian para obtener los resultados de reducción de dimensiones. Elegí usar 3 PC, 3 IC y 3 LE para hacer una comparación equitativa (las curvas azules se muestran como tercera, cuarta y última columna de la figura, respectivamente).

A partir de los resultados de PCA e ICA (tercera y cuarta columna de la figura), podemos ver que podemos interpretar los resultados como una reducción de dimensiones, es decir, para los resultados de ICA, podemos recuperar la señal mixta por (no estoy seguro si también podemos obtener con resultados de PCA pero el resultado me parece bastante correcto).M=b1IC1+b2IC2+b3IC3M=a1PC1+a2PC2+a3PC3

Sin embargo, mire los resultados de LE, apenas puedo interpretar los resultados (última columna de la figura). Parece algo 'incorrecto' con los componentes reducidos. Además, quiero mencionar que eventualmente la gráfica de la última columna es el vector propio en la fórmulaL y = λ D yyLy=λDy

¿Ustedes tienen más ideas?

La figura 1 que usa 12 vecinos más cercanos y sigma en el núcleo de calentamiento es 0.5: Columnas de izquierda a derecha: señal original, señal mixta, PC, IC, LE

La figura 2 que usa 1000 vecinos más cercanos y sigma en el núcleo de calentamiento es 0.5: Columnas de izquierda a derecha: señal original, señal mixta, PC, IC, LE

Los códigos de Matlab con el paquete requerido se cargan en http://www.mediafire.com/?0cqr10fe63jn1d3

Muchas gracias.

Samo Jerom
fuente
2
Bienvenido al sitio! Edité tu publicación para gramática y ortografía. También puse la fórmula en formato LaTeX.
Peter Flom - Restablece a Monica
1
¿Qué quieres decir con componentes reducidos de x? ¿Quieres decir, una incrustación de x de baja dimensión?
coche fúnebre
Esto suena interesante ¿Podría dar una descripción más detallada de cómo son, de hecho, sus datos?
Placidia
¿Es posible que el moderador ponga mi publicación en la 'publicación destacada'? Realmente insté a obtener la respuesta. Muchas gracias.
Samo Jerom

Respuestas:

3

La respuesta a su pregunta está dada por la asignación en la parte inferior de la página 6 del original Laplaciano Eigenmaps de papel :

xi(f1(i),,fm(i))

Entonces, por ejemplo, la incrustación de un punto en, digamos, los 2 "componentes" superiores está dada por donde y son los vectores propios correspondientes a los dos valores propios más pequeños distintos de cero del problema de valor propio generalizado . ( f 1 ( 5 ) , f 2 ( 5 ) ) f 1 f 2 L f = λ D fx5(f1(5),f2(5))f1f2Lf=λDf

Tenga en cuenta que, a diferencia de PCA, no es sencillo obtener una incrustación fuera de la muestra. En otras palabras, puede obtener la incrustación de un punto que ya se consideró al calcular , pero no (fácilmente) si es un punto nuevo. Si está interesado en hacer esto último, busque este documento .L

Shantanu
fuente
Estoy un poco confundido acerca de lo que está considerando como sus variables. Por lo que entiendo, su matriz consta de 1517 muestras de un espacio de 1000 dimensiones. Cuando hace PCA (o ICA) en esta matriz, puede recuperar bastante bien los modos subyacentes de variación: por ejemplo, en la columna 3 en sus figuras, la fila 1,2,3 corresponde a las bases C, A, B respectivamente. Esto tiene sentido. Sin embargo, en su código, cuando realiza LEM, llama a la función en ( ), que no es consistente con lo anterior. M TMMTmixedSignal'
Shantanu
Entonces, primero, en la matriz , ¿cuáles son sus variables y cuáles son sus observaciones? En segundo lugar, según su análisis, parece que no solo está buscando la incorporación de usando LEM, sino también el equivalente de los vectores propios como en PCA, ¿verdad? No puede hacer este LEM, al menos no fácilmente. Lea este documento para entender por qué. MMM
Shantanu
Si todo lo que está buscando es la incrustación, eso se fácilmente mediante el mapeo . Busque mi respuesta para más detalles. En su código, cambie la línea 47 y use en lugar de su transposición; el resultado le dará la incrustación tridimensional de sus 1517 puntos. xi(f1(i),,fm(i))mixedSignalmappedX
Shantanu
PD: Arriba, quise decir "No puedes hacer esto usando LEM, al menos no fácilmente".
Shantanu
1

A diferencia de PCA, los mapas propios laplacianos utilizan los vectores propios generalizados correspondientes a los valores propios más pequeños. Omite el vector propio con el valor propio más pequeño (podría ser cero), y utiliza los vectores propios correspondientes a los siguientes valores propios más pequeños. PCA es una incrustación de preservación de varianza máxima utilizando la matriz kernel / gram. Laplacian Eigenmaps se plantea más como un problema de minimización con respecto al gráfico combinatorio laplaciano (consulte los documentos de Trosset).

coche fúnebre
fuente
Todos los interesados ​​en echar un vistazo a mi pregunta nuevamente. Pongo algunos ejemplos. Muchas gracias.
Samo Jerom