Una manera fácil de realizar PCA es obtener los datos en una matriz cuyas filas representan ejemplos de aprendizaje y las columnas representan características. Luego solo realiza la Descomposición de valor singular en esa matriz.
Si desea usar datos de imágenes originales (matrices), deberá usar 2 dimensiones para almacenar un ejemplo de aprendizaje. Entonces, para almacenar muchos ejemplos, debe usar una tercera dimensión. De esta manera, termina con una matriz 3D de números indexados por el número de un ejemplo y coordina x e y en una imagen dada. Esa es una matriz tridimensional. SVD es una operación definida para matrices (matrices 2D) no matrices 3D.
No conozco ninguna forma de realizar PCA directamente en matrices de matrices de imágenes. Y, francamente, no creo que necesitemos uno. Siempre puede cambiar la forma de la matriz de imagen en un vector y luego realizar el PCA. De esta manera, solo tenemos un algoritmo que es independiente de la estructura del problema particular; no importa si está analizando imágenes, sonido o ADN humano, siempre está utilizando el mismo algoritmo PCA bien conocido e implementado. La única tarea que debe hacer es proporcionarle los datos de entrada correctos.
- ¿Cómo entrenamos redes neuronales en imágenes en lugar de datos numéricos?
- ¿Es cierto que las redes neuronales son más rápidas en las mujeres?
- ¿Cuáles son algunos de los mejores trabajos de investigación o libros para el aprendizaje automático?
- ¿Cuáles son las ventajas del aprendizaje semi-supervisado sobre el aprendizaje supervisado y no supervisado?
- ¿Cuáles son los problemas interesantes en la 'automatización de big data'?
Para resumir:
- Dudo que exista algún algoritmo similar a PCA que funcione con matrices 3D.
- Incluso si hay un algoritmo como ese, no tiene sentido usarlo, ya que puede transformar fácilmente el problema convirtiendo las imágenes en vectores.