Este es un repositorio de algoritmos y métodos en el área de Inteligencia Computacional creado por Edwin Armando Bedolla Montiel1 y Luis Eduardo Cerna2 como parte del Servicio Profesional en la División de Ciencias e Ingenierías de la Universidad de Guanajuato.
NOTA: Todos los documentos e implementaciones de código fueron hechos por Edwin Bedolla excepto donde se marque explícitamente el autor.
El objetivo de este repositorio es crear una fuente de información actualizada, útil y de fácil empleo para toda persona que esté interesada en el área de la inteligencia computacional, así como ejemplos y aplicaciones interesantes en muchas áreas de la ciencia.
Este repositorio cuenta con diferentes secciones del área de inteligencia computacional como lo son:
-
Clasificación
-
Regresión
-
Procesamiento de datos
-
Redes neuronales y aprendizaje profundo
-
Optimización inteligente y metaheurísticas
Cada subdirectorio cuenta con Jupyter Notebooks escritas por completo en el lenguaje de programación Python, que contienen información general y autocontenida de cada tema por sección, además de un directorio completo de ejemplos con aplicaciones de los algoritmos desarrollados.
Dentro de cada subdirectorio es posible que existan archivos de tipo .py
, que son archivos nativos de Python. Este tipo de archivos existen porque los autores
crearon archivos para realizar las implementaciones y después generar Jupyter Notebooks. Sin embargo, mientras se especifique algo diferente, cada archivo debe
poder ser ejecutado por sí mismo sin problema alguno, es decir, cada archivo debe ser autocontenido. En caso contrario, notificar a los autores sobre esto.
En general se utilizan las librerías estándar para programación científica y numérica de Python numpy, scipy y matplotlib. Se recomienda instalar la distribución Anaconda que contiene todas las librerías necesarias para este tipo de programación.
En particular, este repositorio es una mezcla entre implementaciones propias de los autores y aplicaciones directas de los algoritmos que provee la excelente librería para Python scikit-learn. Esto para la parte de aprendizaje de máquina, procesamiento de datos y algunas otras cosas, como conjuntos de datos.
Para la sección de inteligencia artificial se emplea por completo TensorFlow junto con otras librerías adicionales, como keras y PyTorch.