Quiero implementar un algoritmo en un documento que utiliza el kernel SVD para descomponer una matriz de datos. Así que he estado leyendo materiales sobre métodos de kernel y PCA de kernel, etc. Pero aún me resulta muy oscuro, especialmente cuando se trata de detalles matemáticos, y tengo algunas preguntas.
¿Por qué los métodos del núcleo? O, ¿cuáles son los beneficios de los métodos del núcleo? ¿Cuál es el propósito intuitivo?
¿Asume que un espacio dimensional mucho más alto es más realista en problemas del mundo real y puede revelar las relaciones no lineales en los datos, en comparación con los métodos que no son del núcleo? De acuerdo con los materiales, los métodos del núcleo proyectan los datos en un espacio de características de alta dimensión, pero no necesitan calcular el nuevo espacio de características explícitamente. En cambio, es suficiente calcular solo los productos internos entre las imágenes de todos los pares de puntos de datos en el espacio de características. Entonces, ¿por qué proyectarse en un espacio dimensional superior?
Por el contrario, SVD reduce el espacio de características. ¿Por qué lo hacen en diferentes direcciones? Los métodos del núcleo buscan una dimensión más alta, mientras que SVD busca una dimensión más baja. Para mí suena raro combinarlos. Según el documento que estoy leyendo ( Symeonidis et al. 2010 ), la introducción de Kernel SVD en lugar de SVD puede abordar el problema de escasez en los datos, mejorando los resultados.
De la comparación en la figura podemos ver que KPCA obtiene un vector propio con mayor varianza (valor propio) que PCA, supongo. Debido a que para la mayor diferencia de las proyecciones de los puntos en el vector propio (nuevas coordenadas), KPCA es un círculo y PCA es una línea recta, por lo que KPCA obtiene una varianza mayor que PCA. Entonces, ¿significa que KPCA obtiene componentes principales más altos que PCA?
fuente
Respuestas:
PCA (como técnica de reducción de dimensionalidad) trata de encontrar un subespacio lineal de baja dimensión al que se confinan los datos. Pero puede ser que los datos estén confinados a no lineales de baja dimensión subespacio . ¿Qué pasará entonces?
Eche un vistazo a esta figura, tomada del libro de texto "Reconocimiento de patrones y aprendizaje automático" de Bishop (Figura 12.16):
Los puntos de datos aquí (a la izquierda) se encuentran principalmente a lo largo de una curva en 2D. PCA no puede reducir la dimensionalidad de dos a uno, porque los puntos no están ubicados a lo largo de una línea recta. Pero aún así, los datos están "obviamente" ubicados alrededor de una curva unidimensional no lineal. Entonces, aunque PCA falla, ¡debe haber otra forma! Y, de hecho, el PCA del núcleo puede encontrar esta variedad no lineal y descubrir que los datos son de hecho casi unidimensionales.
Lo hace mapeando los datos en un espacio de dimensiones superiores. De hecho, esto puede parecer una contradicción (su pregunta # 2), pero no lo es. Los datos se asignan a un espacio de mayor dimensión, pero luego se encuentran en un subespacio de menor dimensión. Entonces aumenta la dimensionalidad para poder disminuirla.
La esencia del "truco del núcleo" es que uno no necesita considerar explícitamente el espacio de dimensiones superiores, por lo que este salto de dimensionalidad potencialmente confuso se realiza de manera totalmente encubierta. La idea, sin embargo, sigue siendo la misma.
fuente