Learning Data Science, Fast and Slow

25/4/2023
AUTOR
Colegio de matemáticas Bourbaki

En 2011 el psicólogo Daniel Kahneman publicó un libro titulado Thinking, Fast and Slow en el que plantea la siguiente tésis: el cerebro humano tiene dos maneras de pensar a las que él llama sistema 1 y sistema 2.

  • El sistema 1 se caracteriza por ser veloz, instintivo y emocional.
  • El sistema 2 es lento, reflexivo y lógico.

Vale la pena recalcar que D. Kahneman fue ganador del premio Nobel de Economía en el 2002 y buena parte de su trabajo critica la hipótesis en la que las decisiones que influyen en la economía son tomadas racionalmente.

En esta edición de nuestro boletín he decidido ejemplificar la manera como desde mi punto de vista es ideal aprender Ciencia de Datos basándome en los dos sistemas descritos por D. Kahneman. Nuestro Track a través de la Ciencia de Datos es compatible con estas dos maneras de pensar y a través de este texto vamos a exponer actividades que deben aprender los científicos de datos relacionadas con cada uno de los dos sistemas.

No alt text provided for this image
Ediciones del Colegio Bourbaki

Quienes deseen conocer más información sobre cómo nuestros planes de estudio siguen estas ideas los invito a las dos reuniones informativas que tendremos esta semana:

  1. Por la mañana (11:00 CST), Miércoles (26/04) y Jueves (27/04): REGISTRO
  2. Por la tarde (17:30 CST), Miércoles (26/04) y Jueves (27/04): REGISTRO

Sistema 1: Learning Data Science Fast

En esta sección vamos a proponer 3 ejemplos de problemas que deben resolver los científicos de datos asociados con el sistema 1 de Kahneman:

  1. Calcular estadísticas sobre nuestros datos, por ejemplo la dispersión.
  2. Procesar datos no estructurados como textos o imágenes.
  3. Distinguir las causas de un mal modelo de Machine Learning.

Todas estas habilidades son desde nuestro punto de vista ejemplos de aquellas que los científicos de datos deben ser capaces de realizar de manera repetitiva sin que esto represente mayores complicaciones.

Análisis exploratorio

Una de las primeras preguntas que recibirá un científico de datos es sobre la distribución de una población, por ejemplo los clientes de una farmacéutica. Sobre ellos nos gustaría conocer la distribución de las ventas de un producto fijo, digamos un analgésico. La desviación estándar de esta distribución nos dirá qué tan frecuentemente los clientes nos compran fuera del promedio. Una pregunta muy interesante para el negocio es ¿preferimos productos con una desviación estándar grande o pequeña?

No alt text provided for this image
Dos distribuciones en una dimensión.

Los científicos de datos deben necesariamente ser capaces de realizar este tipo de análisis fácilmente y para ello necesitan las siguientes habilidades:

  1. Extracción de datos de distintas bases utilizando Python.
  2. Calcular funciones de Python sencillas como las estadísticas.
  3. Visualizar los datos para presentarle los resultados al negocio, por ejemplo con librerías tipo Pandas.

Vectorizar datos no-estructurados

Una de los logros más fabulosos de Machine Learning y la Tecnología asociada es la posibilidad de utilizar modelos matemáticos para trabajar con datos no-estructurados. Algunos ejemplos de los datos no-estructurados son los textos, las imágenes o el audio, una compañía incapaz de procesar este tipo de información difícilmente podrá aprovechar el potencial completo de la Ciencia de Datos. Pensemos por ejemplo en los comentarios que podríamos extraer en redes sociales sobre los analgésicos que estamos vendiendo.

No alt text provided for this image
Bolsas de palabras

Las habilidades para resolver problemas con datos no-estructurados:

  1. Manejo de distintos tipos de arreglos tensoriales en Python, por ejemplo Numpy.
  2. Construcción de bolsas de palabras utilizando técnicas de lematización steaming, existe en Python bibliotecas para hacer esto, por ejemplo Gensim. Para el caso de imágenes lo ideal es estar familiarizado con bibliotecas que apliquen filtros.

Sobre-ajuste v.s. sub-ajuste

Una vez que hemos procesado los datos y entrenado algún modelo de machine learning, cuando estamos evaluando sus resultados es indispensable comprender las causas por las cuales una métrica es positiva o negativa. Supongamos que un modelo que intenta predecir las ventas de los distintos medicamentos está teniendo un error muy grande, la pregunta obvia en este momento sería ¿es posible mejorar los resultados utilizando algunos de los hiperparámetros? Distinguir cómo calibrar estos modelos es una habilidad esencial para los científicos de datos.

No alt text provided for this image
La navaja de Occam

Las cualidades para resolver este tipo de problemas son:

  1. Estar familiarizado con las distintas métricas tanto para clasificación, ranking, regresión, clusterización etc. Utilizando estas métricas es posible detectar si existe un problema de sub-ajuste o sobre-ajuste.
  2. Saber cómo resolver problemas de sub-ajuste o sobre-ajuste. Existen distintas técnicas y cada una de ellas es adecuada dependiendo de las bases de datos por ejemplo. En la mayor parte de las librerías de Python, por ejemplo en Scikit-learn

Sistema 2: Learning Data Science Slow

Ahora propondremos 3 ejemplos de problemas muy comunes para los científicos de datos relacionados con el sistema 2 de Kahneman:

  1. Tratamiento de bases de datos asociadas a matrices singulares.
  2. Determinar la causalidad durante el proceso de inferencia.
  3. Proponer una arquitectura para realizar predicciones utilizando imágenes, texto y audio.

Estos tres ejemplos requieren una reflexión más profunda del científico de datos pues no son problemas que enfrente tan comúnmente como los del Sistema 1. Es necesario tener una comprensión más profunda tanto de las matemáticas como de tecnologías más sofisticadas para resolver estos problemas.

Matrices singulares

No alt text provided for this image

Las matrices singulares son una familia de matrices con cualidades negativas tanto para el entrenamiento de los modelos de machine learning como para la fiabilidad de los resultados. Existen algoritmos que no permiten el uso de las matrices singulares y en estos casos es necesario construir alternativas a nuestras bases de datos que sean tanto representativas como prácticas. Un buen ejemplo de este problema son las regresiones geo-localizadas.

Inferencia Bayesiana

No alt text provided for this image
Judea Pearl: el padre de la causalidad

La inferencia Bayesiana es un conjunto de técnicas que se han probado inmensamente exitosas para la detección de fenómenos causales durante la inferencia. Comprender los porqués de una predicción es una de las preguntas más complicadas para los científicos de datos y las técnicas matemáticas que ayudan a resolver este problema requieren algún grado de sofisticación matemática. Un buen ejemplo de estas técnicas son las célebres Redes Bayesianas.

Datos multi-modales

No alt text provided for this image
Datos multi-modales

Las redes neuronales profundas son la base de la inteligencia artificial, los modelos recientes tipo GPT-4 o DALL-E-2 han permitido no solo realizar predicciones muy precisas sino algo completamente fascinante que es interactuar con fuentes de datos muy distintas simultáneamente. La inteligencia artificial necesita forzosamente ser capaz de leer texto, inspeccionar imágenes y atender al sonido, para resolver este problema los científicos de datos deben estar familiarizados tanto con las arquitecturas ad hoc como con las maneras de fusionarlas.

Oferta académica