/Levemberg-Marquardt

Levemberg Marquardt Neural Network

Primary LanguagePythonMIT LicenseMIT

Proyecto de Red Neuronal Multicapa para Clasificación Binaria

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.

Contenido del Repositorio

  • 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.

Requisitos Previos

  • Python 3.11.2 (recomendado)
  • Bibliotecas: NumPy, Tkinter, CTkMessagebox, customtkinter, matplotlib (instalables a través de pip install numpy tkinter)

Uso del Programa

  1. Ejecutar Main.py.

    image

  2. Ajustar los parámetros de la red neuronal desde la interfaz gráfica.

    image

  3. Hacer clic en el área de la gráfica para etiquetar puntos como azules (clic izquierdo, clase 0) o rojos (derecho, clase 1).

    image

  4. Iniciar el entrenamiento y observar la evolución en tiempo real.

    image

  5. Observa el resultado al terminar las epocas del entrenamiento.

    image

Parámetros Configurables

  • 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.

Personalización Adicional

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.

Contribuciones y Problemas

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.

Licencia

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!