Conceptos básicos de Machine Learning

by Andrés González

Las tecnologías de Machine Learning están dando el salto de los círculos de sesudos especialistas al mundo de la empresa. Hoy en día cualquiera puede usarlas para poner sus datos a trabajar y conseguir ventajas competitivas que hasta hace poco sólo estaban al alcance de las grandes empresas e instituciones.

Hemos recopilado un breve compendio de ideas y conceptos básicos de Machine Learning (en castellano se traduce como “aprendizaje automático”) para ayudar en su comprensión a aquellos que acaban de aterrizar en este apasionante mundo. La mayoría de la literatura está en inglés, por lo que las traducciones al español son propias.

Machine Learning supervisado y no supervisado (supervised and unsupervised machine learning)

El Machine Learning se divide en dos áreas principales: aprendizaje supervisado y aprendizaje no supervisado. Aunque pueda parecer que el primero se refiere a la predicción con intervención humana y la segunda no, estos dos conceptos tienen más que ver con qué queremos hacer con los datos.

Uno de los usos más extendidos del aprendizaje supervisado consiste en hacer predicciones a futuro basadas en comportamientos o características que se han visto en los datos ya almacenados (el histórico de datos). El aprendizaje supervisado permite buscar patrones en datos históricos relacionando todos campos con un campo especial, llamado campo objetivo. Por ejemplo, los correos electrónicos se etiquetan como “spam” o “legítimo” por parte de los usuarios. El proceso de predicción se inicia con un análisis de qué características o patrones tienen los correos ya marcados con ambas etiquetas. Se puede determinar, por ejemplo, que un correo spam es aquel que viene de determinadas direcciones IP, y además tiene una determinada relación texto/imágenes, y además contiene ciertas palabras, y además no hay nadie en el campo “Para:”, y además (muchos además)… Este sería tan solo uno de los patrones. Una vez determinados todos los patrones (esta fase se llama “de aprendizaje”), los correos nuevos que nunca han sido marcados como spam o legítimos se comparan con los patrones y se clasifican (se predice) como “spam” o “legítimos” en función de sus características.

Por otro lado, el aprendizaje no supervisado usa datos históricos que no están etiquetados. El fin es explorarlos para encontrar alguna estructura o forma de organizarlos. Por ejemplo, es frecuente su uso para agrupar clientes con características o comportamientos similares a los que hacer campañas de marketing altamente segmentadas.

Clasificación y regresión (classification and regression)

Son conceptos del machine learning supervisado. Un sistema de clasificación predice una categoría, mientras que una regresión predice un número.

Un ejemplo de clasificación es el anteriormente mencionado del spam. Los correos se “categorizan” como “spam” o como “legítimos”. Otro ejemplo clásico de clasificación en el mundo del machine learning es la predicción de bajas en, por ejemplo, un servicio de telefonía. El objetivo en este caso es detectar los patrones de comportamiento de los clientes que sirven para predecir si se van a ir a la competencia. En este caso los clientes se clasifican como “baja” o  “no baja”.

La regresión, en cambio, predice un número, como por ejemplo cuál va a ser el precio de un artículo, o el número de reservas que se harán en mayo en un hotel.

Minería de datos (data mining)

No es raro ver cómo se usan indiferentemente los conceptos minería de datos y machine learning. Son conceptos primos hermanos. Desde nuestro punto de vista, la principal diferencia radica en el objetivo que tiene cada una de las disciplinas. Mientras que la minería de datos descubre patrones anteriormente desconocidos, el machine learning se usa para reproducir patrones conocidos y hacer predicciones basadas en los patrones.

En pocas palabras se podría decir que la minería de datos tiene una función exploratoria mientras que el machine learning se focaliza la predicción.

Aprendizaje o entrenamiento (learning, training)

Es el proceso en el que se detectan los patrones de un conjunto de datos, es decir, es el corazón del machine learning. Una vez identificados los patrones, se pueden hacer predicciones con nuevos datos que se incorporen al sistema.

Por ejemplo, los datos históricos de las compras de libros en una web online se pueden usar para analizar el comportamiento de los clientes en sus procesos de compra (títulos visitados, categorías, historial de compras…), agruparlos en patrones de comportamiento y hacer recomendaciones de compra a los clientes nuevos que siguen los patrones ya conocidos o aprendidos.

Conjunto de datos (dataset)

Es la materia prima del sistema de predicción. Es el histórico de datos que se usa para entrenar al sistema que detecta los patrones. El conjunto de datos se compone de instancias, y las instancias de factores, características o propiedades.

Instancia, ejemplo o registro (instance, sample, record)

Una instancia es cada uno de los datos de los que se disponen para hacer un análisis. Si se quiere predecir el comportamiento de los clientes de un servicio de telefonía, cada instancia correspondería a un abonado. Cada instancia, a su vez, está compuesta de características que la describen, como la antigüedad del cliente en la compañía, el gasto diario en llamadas, etc. En una hoja de cálculo, las instancias serían las filas; las características, las columnas.

Característica, atributo, factor, propiedad o campo (feature, attribute, property, field)

Son los atributos que describen cada una de las instancias del conjunto de datos. Las denominaciones se usan indistintamente en función del autor y del contexto. En el caso de una cartera de clientes, estaríamos hablando del número de compras de cada cliente, antigüedad, si es seguidor en redes sociales, si se ha dado de alta en la newsletter, qué productos comprados… En una hoja de cálculo, serían las columnas.

Objetivo (objective)

Es el atributo o factor que queremos predecir, el objetivo de la predicción, como puede ser la probabilidad de reingreso de un paciente tras una intervención quirúrgica.

Ingeniería de factores (feature engineering)

Se trata del proceso previo a la creación del modelo de predicción en el que se hace un análisis, limpieza y estructuración de los campos de los datos. Este proceso es uno de los más importantes y más costosos del proceso de predicción. El objetivo es eliminar los campos que no sirven para hacer la predicción y organizarlos adecuadamente para que el modelo no reciba información que no le es útil y que podría provocar predicciones de poca calidad o confianza.

En pocas palabras, es el proceso que elimina el ruido de la señal.

Modelo (model)

Tras entrenar al sistema (es decir, tras detectar los patrones en los datos), se crea un modelo que servirá para hacer las predicciones. Podemos asimilar un modelo a un filtro en el que entran datos nuevos y cuya salida es la clasificación de ese dato según los patrones que se han detectado en el entrenamiento. Por ejemplo, si se entrena un modelo con datos históricos de clientes para detectar el riesgo de baja de una tarjeta de crédito, el modelo clasificará a los nuevos clientes en función de su comportamiento para predecir el riesgo de baja.

Árbol de decisión (decision tree)

Es el esqueleto del modelo de predicción que se suele representar en modo gráfico como un árbol en el que las ramas constituyen los patrones reconocidos en el proceso de aprendizaje. En las hojas de las ramas se situarían las predicciones para cada patrón.

Confianza (confidence)

Es la probabilidad de acierto que calcula el sistema para cada una de las predicciones.

¿Tienes dudas o quieres que ampliemos esta lista? Dínoslo y lo haremos encantados 🙂