Clase 1
Clase 1
8 clases teórico-práctica
Repositorio de la materia:
• https://github.com/FIUBA-Posgrado-Inteligencia-Artificial/intro_ia
Consultas
• Servidor de Discord: https://discord.gg/YzV2rxGzqY
Correo
• Facundo Adrián Lucianna: [email protected]
3 Trabajos con entrega a 7 días posteriores de cuando fue presentado. Los trabajos pueden ser grupales (máximo 6 personas) o
individuales
Los trabajos prácticos se aprueban con 6. Tiene una instancia de corrección y se puede corregir cualquier trabajo práctico
independientemente de si está aprobado o no.
La entrega es por correo electrónico o formulario de Google, ya sea el envío del contenido o el link a repositorio (de GitHub o
GitLab) con el trabajo.
Criterio de evaluación:
https://github.com/FIUBA-Posgrado-Inteligencia-Artificial/intro_ia/blob/main/CriteriosAprobacion.md
• Librerías
• Numpy, Pandas, SciPy
• Matplotlib, Seaborn
• Scikit-learn
• Consola Interactiva de Python
• Ipython
• Jupyter Notebook
• Herramientas
• Github para repositorios
• IDE recomendados
• Visual Studio Code
• PyCharm Community Edition
• Google Colab
• Artificial Intelligence: A Modern Approach - Stuart Russell, Peter Norvig (Ed. Pearson)
• Artificial Intelligence Basics: A Non-Technical Introduction - Tom Taulli (Ed. Apress)
• Artificial Intelligence For Dummies - John Paul Mueller, Luca Massaron (Ed. For Dummies)
• An Introduction to Statistical Learning - Gareth James (Ed. Springer)
• The Elements of Statistical Learning - Trevor Hastie (Ed. Springer)
• Life 3.0: Being Human in the Age of Artificial Intelligence - Max Tegmark (Ed. Knopf)
A B
Int: ¿Entiendes por qué hago estas preguntas tan básicas? ¿Eres consciente de que simplemente
pretendo desenmascararte como robot tan rápido como sea posible, como en la película Blade
Runner? A B
Carlos: ...espera
Inteligencia Artificial – CEIA – FIUBA 11
INTELIGENCIA ARTIFICIAL
Actuando humanamente
El test de Turing
Programar un software para pasar rigurosamente el test implica un gran trabajo. Este software
debe contar con las siguientes capacidades:
• Procesamiento natural del lenguaje para comunicarse exitosamente en un lenguaje humano.
• Representación de conocimiento para almacenar lo que conoce o escucha.
• Razonamiento automático para responder a las preguntar y obtener nuevas conclusiones.
• Aprendizaje automático para adaptarse a las nuevas circunstancias y para detectar y extrapolar
patrones.
Este modelo no solo ha sido predominante en IA, sino además en teoría del control, en estadística, y
economía.
Aprendizaje
Automático
Informática IA Ciencia de
Aprendizaje datos
Profundo
• Python es un lenguaje de alto nivel de programación interpretado cuya filosofía hace hincapié
en la legibilidad de su código.
• Python es un lenguaje de programación multiparadigma. Permite varios estilos: programación
orientada a objetos, programación imperativa y programación funcional.
• OBS: En el fondo, Python es un lenguaje orientado a objetos, todo, absolutamente todo es un
objeto.
• Python usa tipado dinámico y conteo de referencias para la gestión de memoria.
• Python reemplazó en gran medida a LISP en IA, principalmente por ser multiparadigma.
Compilado Interpretado
Python es uno de los lenguajes más usados en Ciencia de datos. ¿Por qué?
• Porque tiene una sintaxis simple y es fácil de adaptar para quienes no vienen de ambientes de
ingeniería o ciencia de la informática.
Python es famoso por ser lento comparado con lenguajes como C++, por qué se usa en Machine
Learning o IA?
• La respuesta es que no se usa librerías hechas Python. Ninguna de las bibliotecas que se utilizan
está realmente escrita en Python.
• Casi siempre están escritos en Fortran o C++ y simplemente interactúan con Python a través de
algún wrapper.
• La velocidad de Python es irrelevante si solo se interactúa con las librerías escritas en un C++
altamente optimizado.
Fuente: https://qr.ae/pKrGdr
La biblioteca SciPy ("Scientific Python") está construida sobre NumPy y ofrece funciones
científicas y estadísticas por encima de las funciones puramente matemáticas, por ejemplo:
• Rutinas de álgebra lineal avanzada
• Optimización de funciones matemáticas
• Procesamiento de señales
• Distribuciones matemáticas
Una librería estadística que está en auge hoy en día, reemplazando a Scipy en lo que refiere a
estadística es Statsmodels.
Es un módulo de Python que proporciona clases y funciones para la estimación de muchos
modelos estadísticos diferentes, así como para realizar pruebas estadísticas y exploración de datos
estadísticos.
El nombre de Pandas se deriva del término “Panel Data” y es la librería de análisis de datos de
Python que:
• Define nuevas estructuras de datos basadas en los arrays de Numpy.
• Permite leer y escribir fácilmente ficheros en formato.
• Permite acceder a los datos mediante índices o nombres para filas y columnas.
• Ofrece métodos para reordenar, dividir y combinar conjuntos de datos.
• Permite trabajar con series temporales.
• Realiza estas operaciones de manera eficiente.
Es una biblioteca muy útil cuando se trabaja en algoritmos de Machine Learning en Python.
Proporciona herramientas de procesamiento de datos y una gama de algoritmos de aprendizaje
en Python.
Es la puerta de entrada al aprendizaje automático en Python.
PyTorch es una librería de Deep Learning. Es mantenida por Meta y es la principal competencia
de otra famosa librería (tensorflow de Google).
Tiene un API para Python, como también para C++. PyTorch nos da toda una infraestructura de:
• Computación de tensores. Es similar a los arrays de Numpy pero con posibilidad de usarlos en
GPU.
• Redes neuronales profundas.