Lo que los cursos en linea de AI no te cuentan (desafíos para la vida real). Parte I

Jose Manuel Pena Mendez
Connectalabs AI
Published in
6 min readMar 19, 2019
credit: https://www.learningsolutionsmag.com

Disclosure: Me fascinan los cursos en linea. Mis listas de Udemy y Coursera poseen cursos para varias vidas y cada par de semanas encuentro algo nuevo y interesante que agregar.

El mundo del machine learning crece cada día a pasos agigantados, explorando nuevas ideas y redefiniendo los estándares de lo que es posible a una velocidad vertiginosa. Es en este contexto, donde la frontera del conocimiento se escribe no en journals o patentes empresariales sino en GitHub y open source, donde los cursos en línea son probablemente el único método de educación capaz de mantenerse relevante y llevar esta frontera del conocimiento a las masas.

Sin embargo, después de tantos cursos y participando en múltiples proyectos de ML, queda en evidencia un “lado B” el cuál, si no somos consientes de éste, puede generar infinitos dolores de cabezas, boicotear tu trabajo, e incluso matar tu sueño de ser un exitoso data scientist.

En esta serie de artículos deseo compartir varios elementos de cruciales para un desarrollo exitoso de ML, pero que suelen pasar desapercibidos en la mayoría de los cursos en línea.

Bueno, comencemos:

Desafío #1: El modelo es un tercio del problema (y usualmente el menos relevante!!)

Aquí es donde los problemas empiezan, todos los días somos bombardeados de información, blogs y cursos hablando de nuevos y excitantes modelos de ML y DL con nombres exóticos (Xbost, Capsule Networks, Geometric Networks, Inception!!!). Toda esta información nos lleva a creer que hacer data science es equivalente a entrenar modelos, y que la precisión de éstos es sinónimo de su utilidad en resolver el problema al cual te enfrentas.

Desde mi punto de vista, el data science en la vida real se trata de transformar datos en acciones con el objetivo de resolver un problema (detener criminales, frenar transacciones fraudulentas, ofrecer productos atractivos a un cliente, etc.) y siendo más realistas, el objetivo del data science es transformar flujos de datos en flujos de acciones con el objetivo de resolver un problema. Esto hace que el modelo no sea la solución en sí, sino un elemento más que se sitúa entre un stream de datos y un espacio de acciones potenciales, haciendo que la efectividad de tu proceso dependa 100% de la interacción de estos tres elementos.

Con estos elementos en la cabeza (datos, modelos y ejecución o deployment), comencemos a desgranar los problemas que no muestran los cursos en línea.

Los Datos:

Desafío #2: Adiós MNIST…Bienvenido al data swamp

El primer balde de agua fría son obviamente los datos, la mayoría de cursos y tutoriales se basan en datasets “perfectos” tales como MNIST, los pasajeros del Titanic, Imagenet, etc. Estos datasets han sido curados y testeados durante años y son una valiosa herramienta para correr tus primeros modelos. Además, éstos se han convertido en benchmarks para medir quién es quién en términos de precisión y performance. Lamentablemente la vida real no es tan simple; llamar a TI y pedir el dataset limpio y perfecto para correr tu modelo probablemente va a terminar en un ataque de risa. Esto se debe a una máxima que es mejor aprender antes que después: Tus modelos no son la razón por la cual los datos existen, así que no actúes como si fuesen tuyos.

La mayoría de las empresas guardan datos como subproducto de sus procesos productivos (la facturación de clientes se guarda para llevar la contabilidad, el tracking de los productos se guarda para mantener la logística funcionando, etc.) y todavía son pocas las que establecen políticas de almacenamiento de datos en función de maximizar su valor estratégico. Este hecho hace que la calidad y forma de los datos sea funcional a los procesos que éstos sostienen y no al desarrollo de analytics o ML; Prepárate para una ensalada de tablas, repositorios y esquemas donde vas a tener que bucear para encontrar lo que necesitas (si es que existe).

Una vez encuentres la información necesaria para tu modelo viene el limpiar e interpretar la data y reflejar fielmente el fenómeno que deseas modelar. Una base de datos en esencia cumple tres funciones: Identifica entidades de manera única (clientes, productos, etc), asigna atributos a estas entidades e identifica relaciones entre éstas. El problema es que muchas veces las bases de datos deben usarse para almacenar eventos para los cuales estas no estaban previstas. Es común encontrar facturas con montos negativos, clientes nacidos el 1900 u otras “sorpresas” que, de no ser corregidas oportunamente, pueden destruir hasta al mejor de los modelos. Aquí el consejo es simple: Explora los datos minuciosamente, identifica campos y valores que contradigan la lógica del negocio y, sobre todo, comunícate constantemente con dueños de los datos (ellos han pasado una vida junto a éstos y los conocen como tu nunca los vas a hacer).

Ahhhh, finalmente tienes tus datos… Acabo la batalla? La verdad es que esta recién comenzando y lo que toca ahora es probablemente uno de los pasos mas críticos y complejos de un buen proceso de data science… el feature engineering.

Desafio #3: El arte del Feature Engineering.

Feature Engineering es un método, una ciencia y también un arte. Se trata de consolidar toda la data que has acumulado en campos relevantes al problema que deseas resolver, generando “señales” que en su agregado son capaces de representar la estructura que deseas capturar en tu modelo.

Si volvemos a uno de los clásicos datasets empleados de los cursos de ML, los pasajeros del Titanic, las variables que se muestran tienen relación con la edad, el sexo y la categoría del pasajero. No es coincidencia que con estos datos se pueda generar un muy buen modelo para predecir quién sobrevivió al naufragio, dado que sabemos a priori que los niños, las mujeres, y aquellos que viajaban en las categorías “Premium” fueron evacuados primeros. Si bien en este caso suena obvio, en general encontrar los features adecuados requiere entender en profundidad el fenómeno a modelar para generar aquellos campos en los que exista alguna hipótesis plausible de causalidad.

¡Pero si el feature engineering es cosa del pasado! te podrán decir algunos, nombrando modelos que son capaces de discriminar multiples features y escoger los correctos (tales como Lasso y Ridge regression, o métodos como deep feature synthesis). Es cierto que existen nuevas herramientas de gran potencia para generar features, determinar su importancia y transformar el feature engineering en un proceso automático, sin embargo, no es posible generar modelos robustos y entendibles si al menos algún nivel de causalidad empírica existe entre los features seleccionados y el fenómeno a modelar. Mas aún, la capacidad de dar confianza a los usuarios del modelo depende fuertemente de que ellos puedan “entender” lo que éste esta haciendo. Un modelo con pocos features que sean intuitivos, pero de alta relevancia siempre va a ser mejor que otro con cientos de features que solo aportan ruido (u overfitting).

Bueno, esto concluye la primera parte de este blog. En las próximas dos secciones continuaremos este camino revisando qué desafíos presentan los modelos de ML y DL y su ejecución en la vida real.

Saludos!!!

Jose Manuel Peña Méndez, CFA
MSc. Applied Analytics, Columbia University

--

--