Este proyecto implementa una red neuronal multicapa para la clasificación binaria utilizando el algoritmo de Levenberg-Marquardt. La interfaz gráfica permite ajustar diversos parámetros y visualizar la evolución del entrenamiento en tiempo real.
-
Ventana.py: Contiene la implementación de la interfaz gráfica utilizando CustomTkinter/Tkinter para configurar y visualizar la red neuronal.
-
RedMulticapa.py: Implementa la clase
RedMulticapa
que representa la red neuronal multicapa, con soporte para el algoritmo de Levenberg-Marquardt. -
Colors.py: Define una paleta de colores utilizada en la interfaz gráfica.
-
Main.py: Punto de entrada del programa que inicializa y muestra la interfaz gráfica.
- Python 3.11.2 (recomendado)
- Bibliotecas: NumPy, Tkinter, CTkMessagebox, customtkinter, matplotlib (instalables a través de
pip install numpy tkinter
)
-
Ejecutar
Main.py
. -
Ajustar los parámetros de la red neuronal desde la interfaz gráfica.
-
Hacer clic en el área de la gráfica para etiquetar puntos como azules (clic izquierdo, clase 0) o rojos (derecho, clase 1).
-
Iniciar el entrenamiento y observar la evolución en tiempo real.
-
Observa el resultado al terminar las epocas del entrenamiento.
- Número de Neuronas: Ajusta la cantidad de neuronas en la capa oculta.
- Tasa de Aprendizaje (LR): Controla la velocidad de aprendizaje de la red.
- Épocas Totales: Define el número total de épocas para el entrenamiento.
- Épocas: Muestra el progreso del entrenamiento en tiempo real.
Si deseas realizar cambios o mejoras en el proyecto, puedes explorar las siguientes áreas:
- Ajustar la paleta de colores en
Colors.py
. - Experimentar con la configuración de la red neuronal en
RedMulticapa.py
. - Personalizar el diseño y la estructura de la interfaz en
Ventana.py
.
Si encuentras problemas o deseas contribuir al proyecto, ¡siéntete libre de abrir un problema o enviar una solicitud de extracción! Tu participación es bienvenida.
Este proyecto se distribuye bajo la licencia MIT, lo que significa que puedes utilizar, modificar y distribuir libremente el código fuente. Agradecemos cualquier contribución o retroalimentación. ¡Disfruta del proyecto!