Seguro que alguna vez de pequeño ibas al cine con toda tu familia a ver una película y al terminar le había gustado casi más a tu padre que a ti. Este artículo es como una de esas pelis: para todos los públicos.
Solo se habla del Machine Learning, de los algoritmos, de la Inteligencia Artificial… términos cuanto menos complejos que si no tienes una formación específica o eres un friki sobre el tema, son difíciles de entender. Por eso hoy, nos hemos propuesto explicar de una manera clara y sencilla qué es el Machine Learning y cómo funciona para que cualquier persona, independientemente de su nivel de conocimiento, pueda acabar de leer este artículo comprendiéndolo todo un poco mejor. ¡Allá vamos!
Antes de entrar de lleno en el Machine Learning, vamos a dar un paso atrás y analicemos qué es eso de la Inteligencia Artificial. La IA, explicado de forma muy simple, se trata de cualquier programa de ordenador que hace algo inteligente que antes pensábamos que solo los humanos podían hacer. Por ejemplo, esto sería un programa de ordenador que usa un conjunto de reglas predefinidas para ganarte al ajedrez, aunque hoy en día cuando hablamos de Inteligencia Artificial solemos referirnos a aplicaciones más avanzadas, como los modelos de recomendación que utiliza Amazon para sugerirte que compres algunos de sus productos.
Si vamos un paso más allá, tenemos el Machine Learning o aprendizaje automático que se trata de una rama de la Inteligencia Artificial que se encarga de desarrollar algoritmos capaces de aprender a partir de datos, hacer predicciones y mejorar su rendimiento con el tiempo, como, por ejemplo, la detección de fraude en el sector asegurador o financiero, en los que a partir de grandes cantidades de datos se pueden detectar patrones que puedan indicar una actividad fraudulenta.
Y, por último, tenemos el Deep Learning, otro tema candente, un subconjunto del aprendizaje automático que ha sido en gran parte el responsable del auge de la IA de los últimos años. En pocas palabras, el aprendizaje profundo es un tipo avanzado de ML que utiliza redes neuronales artificiales con muchas capas interconectadas para aprender a partir de datos. En lugar de requerir que los ingenieros de datos seleccionen y diseñen manualmente las características relevantes, las redes neuronales profundas pueden aprender automáticamente características jerárquicas y complejas a partir de los datos de entrada. Por ejemplo, los algoritmos de Deep Learning se utilizan en el procesamiento del lenguaje natural para comprender el lenguaje humano y realizar tareas como la traducción automática. En la siguiente imagen lo tienes todo sintetizado.
A día de hoy, el tema de la IA y sus derivados es un poco como lo que ocurre en Instagram, no todo es lo que parece. La forma en la que se presenta a la Inteligencia Artificial no es representativa de lo que verdaderamente es. Constantemente, vemos en medios y redes sociales cosas como que “la IA se apoderará de la raza humana” o que “podría causar la destrucción de las civilizaciones”, como si tuviera la capacidad intelectual completa de un ser humano, con sus pensamientos, autoconciencia y libre albedrío incluidos. Solo hace falta pensar en algunas influencias cinematográficas como “Terminator”, “Westworld” o “Yo Robot”.
Puedes dormir tranquilamente esta noche sabiendo que esto no existe y que es bastante improbable que se llegue a conseguir. Lo más cercano que tenemos actualmente como IA humanizada son los asistentes de voz como Siri o Alexa y todavía están lejos de destruirnos y de tener pensamientos y sentimientos, lo máximo que pueden hacer es ponernos nuestra canción favorita, recordarnos de llamar a nuestro padre por su cumpleaños o respondernos a cualquier cuestión inquietante que pueda surgirnos de repente. La Inteligencia Artificial con la que interactuamos en nuestra vida cotidiana suele ser una IA mucho menos fantasiosa, simplemente programada para realizar una tarea específica.
El aprendizaje automático tiene a su vez dos subcategorías clave:
Aprendizaje supervisado: que utiliza un conjunto de variables de entrada para predecir el valor de una variable de salida.
Aprendizaje no supervisado: que infiere patrones a partir de un conjunto de datos sin etiquetar. No trata de predecir nada, solo trata de comprender patrones y agrupaciones en los datos.
En este artículo, nos centraremos en el ML supervisado. Muchos sectores ya lo están utilizando para predecirel comportamiento de sus clientes de cara a ajustar su portfolio, los precios, el sentimiento futuro hacia su marca, optimizar su productividad o prevenir el fraude.
Este análisis predictivo utiliza métodos matemáticos para pronosticar eventos o resultados futuros. Mediante un proceso iterativo, se desarrolla el modelo predictivo mediante un conjunto de datos de entrenamiento y después se prueba y se valida para determinar su precisión con el fin de realizar los mejores pronósticos.
Vamos a ver los datos históricos necesarios para entrenar un modelo con los que aprender las relaciones entre las características o variables y un objetivo, el que hay que predecir. De esta manera, cuando se ingresen nuevos datos, se podrán usar los valores de las características para hacer una buena predicción del objetivo, cuyo valor aún no conocemos.
Los principales modelos predictivos son los de clasificación y de regresión:
Los modelos de clasificación permiten predecir la pertenencia a una clase. Por ejemplo, clasificar entre los clientes quiénes son más propensos al abandono. Los resultados del modelo son binarios, o un sí o un no (en forma de 0 y 1) con su grado de probabilidad. Es decir, pueden decir que un cliente se marchará con el 89% de probabilidad.
Los modelos de regresión predicen valores numéricos. Por ejemplo, cuál es el beneficio estimado que se obtendrá de un determinado cliente (o segmento) en los próximos meses o ayudan a estimar el forecast de ventas.
A pesar de las diferencias metodológicas y matemáticas entre los tipos de modelos, el objetivo general de todos ellos es similar: predecir resultados futuros basándose en datos pasados. Aunque hay algunas técnicas que son específicas de clasificación y otras de regresión, la mayoría de las técnicas funcionan con ambos.
Escuchamos y hablamos mucho sobre algoritmos, pero la definición a veces es un poco confusa. Un algoritmo es, básicamente, un conjunto de reglas que se utilizan para resolver un problema. Si alguna vez has realizado un cuestionario de internet para saber qué personaje de “Los Serrano” eres, en realidad solo se trata de una serie de preguntas que usan una lógica establecida para generar una respuesta. Los algoritmos de aprendizaje supervisado más populares se dividen en tres categorías clave:
Modelos lineales: usan una fórmula simple para predecir un objetivo basándose en relaciones lineales entre una variable de respuesta (también conocida como variable dependiente) y una o más variables explicativas (también conocidas como variables independientes o predictores). Estos modelos son lineales en el sentido de que la relación entre la variable de respuesta y las variables explicativas se modela mediante una función lineales y son relativamente simples ya que proporcionan una fórmula matemática fácil de interpretar para la puntuación. Se utilizan, por ejemplo, para realizar diagnósticos médicos.
Modelos basados en árboles de decisión: usan una serie de reglas "si-entonces" para generar predicciones a partir de uno o más árboles de decisión. Son modelos de clasificación muy utilizados que tratan de encontrar la variable que permita dividir el dataset en grupos lógicos que son más diferentes entre sí. Cada árbol se va descomponiendo en distintas ramas y hojas que representan cada clasificación en función de las condiciones que se van seleccionando hasta llegar a la resolución del problema. Estos modelos son de gran ayuda a la hora de determinar las decisiones a lo largo de un proceso como por ejemplo el funnel de compra.
Redes neuronales: se encargan del reconocimiento de patrones a través de la imitación de las neuronas del cerebro humano. Son capaces de modelar relaciones extremadamente complejas y suelen utilizarse cuando no se conoce la naturaleza exacta de la relación entre los valores de entrada y los de salida. Son la base del funcionamiento del Deep Learning.
Imagina que eres el dueño de una tienda de golosinas y quieres mejorar el rendimiento de tu negocio prediciendo cuánto gastarán tus clientes esta semana, para así planificar mejor tu producción, gestionar tu inventario y administrar tus recursos. Para ser aún más específicos, tu cliente se llama Jaime y se trata de un hombre de 66 años que tiene dos nietos y gastó 10€ en tu tienda la semana pasada. Vamos a intentar predecir lo siguiente:
Cuánto gastará Jaime esta semana (pista: esto es un modelo de regresión, porque es una cantidad numérica, en euros).
Si Jaime será un "gastador alto", lo cual lo has predefinido como alguien que gastará al menos 25€ (pista: esta es una clasificación, porque estamos prediciendo una categoría, gastador alto o no).
Es momento de profundizar y ver cómo puedes usar un modelo lineal para hacer tus predicciones. Los modelos utilizan una fórmula sencilla para encontrar una línea de mejor ajuste a través de un conjunto de puntos de datos. Los modelos lineales se consideran de la "vieja escuela" y, a menudo, no son tan predictivos como los algoritmos más nuevos, pero se pueden entrenar con relativa rapidez y, en general, son más sencillos de interpretar, lo que también supone una gran ventaja.
Veremos dos tipos de modelos lineales:
Regresión lineal, que se utiliza para la regresión (predicciones numéricas).
Regresión logística, que se utiliza para la clasificación (predicciones categóricas).
Bien, imagina que tienes un modelo simple en el que estás tratando de usar la variable de la edad para predecir cuánto gastará Jaime en tu tienda de golosinas esta semana.
Los puntos de datos para entrenar tu modelo están en azul. La línea roja es la línea de mejor ajuste, generada por el modelo, y captura la dirección de esos puntos lo mejor posible.
Aquí, parece que cuanto mayor sea alguien, más dinero gastará. Sabes que Jaime tiene 66 años, así que tienes 66 en el eje X y si sigues la línea de puntos verde te encuentras con la "línea de mejor ajuste" roja. Ahora puedes seguir la segunda línea punteada hasta el eje Y y aterrizar en tu predicción: predecirás que Jaime gastará 33€ esta semana.
¿De dónde viene esa “línea de mejor ajuste” roja? Puede que estés familiarizado con la fórmula y = mx + b, la fórmula de una línea recta. Esta es la base de la regresión lineal. Todo lo que tienes que hacer es reformatear algunas variables, agregar un término de error (e) para tener en cuenta la aleatoriedad y completar tu objetivo (€ gastado) y características (edad).
El modelo para conocer la relación entre la edad y el dinero gastado esta semana se entrenará a partir de puntos de datos anteriores. Así, tu modelo determinará los valores de m1 y B que mejor predicen los euros gastados esta semana, dada la edad. Puedes agregar fácilmente más funciones, como “hijos/nietos”, y el modelo también aprenderá el valor de m2.
En el mundo real, construir una línea recta como esta no suele ser realista, ya que a menudo existen relaciones no lineales más complejas. Se pueden manipular las funciones manualmente para solucionar esto, pero puede ser muy incómodo ya que a menudo, se pierden algunas relaciones más complejas. Sin embargo, la ventaja es que es bastante sencillo de interpretar: con un cierto aumento en la edad, se espera un aumento correspondiente específico en el dinero gastado.
Ahora, en lugar de intentar predecir los gastos exactos de Jaime, vas a predecir si gastará mucho o no. Para ello, puedes usar la regresión logística, una adaptación de la regresión lineal para problemas de clasificación.
Los puntos negros en la parte superior e inferior son los puntos de datos que usarás para entrenar tu modelo, y la línea en forma de S es la línea de mejor ajuste.
Seguramente hayas notado que todos los puntos de datos en el gráfico anterior son 0 o 1. Esto se debe a que cada punto está marcado como un gasto bajo (0) o un gasto alto (1). Ahora, usarás una función logística para generar una línea de mejor ajuste en forma de S, también llamada curva sigmoidea, para predecir la probabilidad de que un punto de datos pertenezca a una categoría, en este caso, de alto gasto. También podrías haber predicho la probabilidad de gastar poco, no importa. Luego usarás un umbral predefinido para hacer una predicción final.
Nueva predicción para Jaime: tienes 66 en el eje X, lo mapearás hasta la línea en forma de S y lo cruzarás. Ahora, crees que hay un 60% de posibilidades de que Jaime sea un gran gastador. Utilizarás tu umbral, que está indicado por la línea negra de puntos en el gráfico anterior, para decidir si quieres predecir que es un gran gastador o no.
Tu umbral es del 50 %, por lo que, dado que el punto está por encima de esa línea, pronosticas que Jaime gasta mucho. Para este caso de uso, un umbral del 50 % tiene sentido, pero no siempre es así. Por ejemplo, en el caso del fraude con tarjetas de crédito, es posible que un banco solo quiera predecir que una transacción es fraudulenta si está, digamos, 95 % seguro, para no molestar a sus clientes rechazando transacciones válidas con frecuencia.
En definitiva, gracias al uso de los datos históricos, tecnologías como el Machine Learning pueden hacer predicciones y agrupaciones en sus datos. Aunque existen muchos tipos diferentes de algoritmos de aprendizaje automático y algunos muy avanzados, los modelos lineales son la opción más simple y confiable ya que son rápidos de entrenar y bastante sencillos de interpretar.
Y lo mejor de todo es que no necesitas ser un experto en programación para adentrarte en el mundo de la Inteligencia Artificial. Tanto si es un analista experimentado como un simple aficionado, puedes aprender a crear el modelo adecuado para tu proyecto y obtener beneficios reales para su negocio. ¿A qué esperas?
Todos los derechos reservados a Dataiku.