Este proyecto implementa varios modelos de aprendizaje automático utilizando PyTorch, siguiendo los lineamientos del curso de Inteligencia Artificial de la Universidad de Berkeley. Se han dividido en tres módulos, cada uno con un objetivo específico:
- Perceptrón Binario: Implementa un clasificador lineal binario.
- Regresión No Lineal: Entrena una red neuronal para aproximar la función
sin(x). - Clasificación de Dígitos MNIST: Usa una red neuronal para clasificar imágenes de dígitos escritos a mano.
Proyecto_ML/
│── Perceptron_Binario/ # Implementación del Perceptrón
│── Regresion_No_Lineal/ # Implementación de la regresión no lineal
│── Clasificacion_Digitos_MNIST/ # Clasificación de dígitos MNIST
│── requirements.txt # Dependencias del proyecto
│── autograder.py # Script de evaluación automática
│── main.py # Punto de entrada general
│── .gitignore # Archivos a ignorar en Git
│── README.md # Documentación global
Asegúrate de tener Python 3.8+ instalado y ejecuta:
pip install -r requirements.txtCada carpeta tiene su propio README.md con instrucciones detalladas. Sin embargo, en general, puedes ejecutar:
cd NombreDelModulo
python train.pyEjemplo:
cd Perceptron_Binario
python train.pycd NombreDelModulo
python test.pyEjemplo:
cd Clasificacion_Digitos_MNIST
python test.pyPara validar las implementaciones, usa:
python autograder.py -q qXDonde qX es el número de la pregunta (1 para Perceptrón, 2 para Regresión, 3 para MNIST).
- Perceptrón: Debe alcanzar 100% precisión en el conjunto de entrenamiento.
- Regresión No Lineal: Debe lograr una pérdida ≤ 0.02.
- Clasificación MNIST: Debe obtener ≥ 97% precisión en el conjunto de prueba.
- Usa branching en Git para cada módulo.
- Cada cambio debe ser revisado mediante pull requests.
- Sigue el formato de codificación del curso.
💡 Consejo: Revisa los README.md individuales para más detalles sobre cada módulo. ¡Mucho éxito en la implementación! 🚀