Estoy utilizando KNN para clasificar los dígitos escritos a mano. También ahora implementé PCA para reducir la dimensionalidad. De 256 fui a 200. Pero solo noto como, ~ 0.10% de pérdida de información. Borré 56 dimensiones. ¿No debería la pérdida ser más grande? Solo cuando baje a 5 dimensiones, recibo una pérdida de ~ 20%. ¿Esto es normal?Algoritmo PCA y KNN
Respuesta
¿Estás diciendo que después de eliminar 56 dimensiones, has perdido casi ninguna información? ¡Por supuesto, ese es el objetivo de PCA! Principal Component Analysis, como su nombre lo indica, lo ayudará a determinar qué dimensiones llevan la información. Y puedes eliminar el resto, lo que hace la mayor parte de él.
Quiero algunos ejemplos, en el análisis de genes, he leído documentos donde la dimensión se reduce de 40'000 a 100 con PCA, luego hacen algo mágico, y tienen un excelente clasificador con 19 dimensiones. Esto te dice implícitamente que prácticamente no perdieron información cuando eliminaron 39'900 dimensiones.
ok gracias. Soy un poco nuevo en el aprendizaje automático –
Eso es normal, sí (y como Fezvez dijo el punto de lo que hiciste). Tu caso es en realidad un buen ejemplo en el que puedes ver cómo es posible.
Eche un vistazo a sus datos (eso siempre es importante en el aprendizaje automático, conozca sus datos). Si tiene imágenes de dígitos escritos a mano en blanco, existe una gran posibilidad de que los píxeles en algunas esquinas sean blancos para todas las muestras (tuve eso en una esquina cuando hice el aprendizaje automático en dígitos escritos a mano). Entonces, en realidad, no hay información en ese píxel en absoluto. Si lo dejas como entrada para tu KNN o ANN o lo que sea, obtendrás los mismos resultados.
- 1. Comparación visual de regresión y PCA
- 2. OpenCV PCA Compute en Python
- 3. Implementación de PCA en Java
- 4. Trazando pca biplot con ggplot2
- 5. PCA primero o normalización primero?
- 6. Matlab - Análisis de PCA y reconstrucción de datos multidimensionales
- 7. Aplicar PCA en matriz dispersa muy grande
- 8. Hacer PCA en java en matriz grande
- 9. Es k-d tree eficiente para la búsqueda kNN. k vecinos más cercanos buscar
- 10. Matriz y algoritmo "espiral"
- 11. K Algoritmo de vecino más cercano
- 12. haciendo PCA en un conjunto de datos muy grande en R
- 13. método eficiente para encontrar KNN de todos los nodos de un árbol KD-
- 14. Algoritmo Divide-y-Conquista para árboles
- 15. Algoritmo para detectar y comparar frases
- 16. Algoritmo Complejidad y seguridad: MD5 o SHA1?
- 17. algoritmo RGB a CMYK y posterior
- 18. Algoritmo de resolución de puntos y cajas
- 19. Algoritmo SHA1 base64 en javascript y C#
- 20. Android SensorManager.java getOrientation y getRotationMatrix algoritmo
- 21. Algoritmo para encontrar jugadores buenos y confiables
- 22. ¿Cuál es la diferencia entre el algoritmo de avance hacia atrás y el algoritmo de Viterbi?
- 23. Algoritmo de Eppstein y algoritmo de Yen para k caminos más cortos
- 24. Programación algoritmo
- 25. Algoritmo Minimax
- 26. Algoritmo SLAM
- 27. Algoritmo RANSAC
- 28. K Algoritmo del vecino más cercano duda
- 29. Algoritmo para completar una matriz corrupta de datos
- 30. Algoritmo de conexión de componentes electrónicos algoritmo de conexión
Ese tipo de cosas es común en muchos tipos de aplicaciones. Se llama el punto de rendimientos decrecientes. –