Materiales: [ Cód.: ManifUnf.zip ] [ PDF ]
En este vídeo se presenta un ejemplo Matlab de “desdoblamiento” o “estiramiento” de curvas (o variedades –manifolds– en un espacio de dimensionalidad elevada) para intentar descubrir estructuras no-lineales latentes en los datos. En el ejemplo, se dibuja la palabra “HELLO” en un plano, se dobla sobre un cilindro y se rota en un espacio cuatridimensional.
Primero, el PCA lineal es evaluado. Si el cilindro es de radio “elevado” (poca
curvatura), entonces la proyección de mayor varianza (dos componentes
principales de mayor valor propio asociado) encuentra dichas letras. Cuando la
curvatura es mayor (radio más peque
Como alternativa, se usa la metodología de desdoblamiento “isométrico” de variedades (manifolds) basada en desigualdades matriciales lineales (LMI), también denominadas en otra literatura como “semidefinite programming” (SDP). Primero se genera un grafo con vecinos más cercanos y luego se plantea un problema de optimización de maximizar la suma de distancias entre los elementos del grafo que no estén directamente relacionados (equivalente “mecánico”: estructura articulada de barras con cargas eléctricas de modo que todo se “repele”). El resultado desdobla el cilindro y obtiene una copia casi exacta de las letras originales sin deformar.
Colección completa [VER]:
Anterior Análisis de componentes principales: incorporación explícita de no-linealidades
Siguiente PCA,PLS, CVA... conclusiones, críticas, limitaciones.