Aprendizaje no supervisado

En un artículo anterior, aprendimos sobre el aprendizaje supervisado: usar ejemplos etiquetados para crear modelos que resuelvan una variedad de tareas como clasificación y regresión.

Existe otro tipo de aprendizaje que no requiere ejemplos etiquetados: el aprendizaje no supervisado. Naturalmente, los datos sin etiquetar son mucho más comunes que los datos etiquetados. A menudo, necesitas crear las etiquetas para los ejemplos tú mismo, un proceso que puede consumir vastas cantidades de tiempo y recursos.

Está bien, la falta de etiquetas no significa que tus datos sean totalmente inútiles. Hay muchas tareas de machine learning que no requieren ejemplos etiquetados, y puedes usar aprendizaje no supervisado para realizar exploración de datos o para extraer insights útiles de los datos que están disponibles ahora mismo.

En este artículo, discutiremos algunas de las aplicaciones más comunes del aprendizaje no supervisado. Aprendamos cómo usar datos sin etiquetar para lograr resultados útiles!

1. Aprendizaje de reglas de asociación

El aprendizaje/minería de reglas de asociación es un método para descubrir relaciones entre elementos en grandes datasets. Un ejemplo típico es usarlo para identificar qué productos tienen más probabilidades de ser comprados juntos.

La minería de reglas de asociación se usa usualmente para apoyar las ventas cruzadas. Esto es cuando las compañías ofrecen al cliente productos extra que podrían haber olvidado o no que aún no conocen. Como ejemplo, si estás comprando una guitarra nueva y un amplificador, también podrías querer comprar un cable o cuerdas nuevas.

Esto se hace con algoritmos que escanean información transaccional histórica y buscan la co-ocurrencia de artículos. Generará una serie de reglas que modelan la probabilidad de que ciertos artículos sean comprados juntos. Dos de los valores más importantes generados por estos algoritmos son soporte y confianza.

  • Soporte es la proporción de transacciones que incluyen el conjunto específico de artículos contra el número total de transacciones. Te dice qué tan frecuentemente ocurre junto el conjunto de artículos. Por ejemplo, si {guitarra, amplificador, cable} tiene un valor de soporte del 2%, significa que el 2% de todas las compras incluyen los 3 artículos.
  • Confianza es una medida de qué tan probable es que Z sea comprado si ya estamos comprando A. Se define como la proporción entre las transacciones que incluyen Z y A contra todas las que incluyeron A. Una confianza del 30% entre guitarra y amplificador significa que el 30% de los clientes que compraron una guitarra también compraron un amplificador.

Estos algoritmos pueden generar cantidades masivas de reglas y no todas son útiles. A menudo, solo se permite que permanezcan las reglas con valores altos de soporte y confianza, el resto se descartan.

Las tiendas físicas pueden usar esta información para agrupar artículos juntos para promover compras, y las tiendas online pueden ofrecerte artículos al momento del checkout e incluso proporcionar algunos descuentos para artículos específicos. Se sabe que la información demográfica sobre los clientes aumenta la efectividad de estos algoritmos, por eso la mayoría de tiendas ofrecen tarjetas de lealtad con descuentos a cambio de tus datos.

2. Segmentación

La segmentación es una de las técnicas de ciencia de datos más útiles. Su objetivo es agrupar los elementos de un dataset en subgrupos que tienen características en común. Mientras que la tarea no es tan difícil en un plano 2d, conjuntos con muchos atributos hacen imposible que un humano logre esta tarea. Al aprovechar la ciencia de datos puedes encontrar algunos grupos útiles y contraintuitivos en los datos.

La segmentación puede mejorar dramáticamente la efectividad de las campañas de marketing. En lugar de enviar la misma campaña a todos, podrías crear segmentos de usuarios y dirigirte a ellos con solo la información que necesitan. Incluso puedes crear campañas especializadas dirigidas a diferentes subgrupos. Esto tiene dos ventajas: primero, no molestas a las personas con ofertas que no les importan. Segundo, te permite ahorrar dinero y aumentar el éxito de las campañas enfocando los recursos donde tienes más chances de tener éxito.

Las máquinas son mucho mejores descubriendo subconjuntos desconocidos en los datos que los humanos. Después de que han creado segmentos, un experto humano puede inspeccionar el conjunto para asegurar que tengan sentido.

Esta técnica trasciende más allá del marketing y tiene un amplio rango de aplicaciones, desde identificar secuencias de genes hasta patrones en grupos poblacionales, ecosistemas y documentos.

Segmentation graph

3. Detección de valores atípicos

La detección de valores atípicos (outliers) es de cierto modo lo opuesto a la segmentación. En segmentación, quieres crear grupos que contengan solo elementos similares, en detección de valores atípicos quieres separar las instancias que son diferentes del resto. El objetivo de la detección de valores atípicos es encontrar anomalías o casos especiales dentro de nuestro dataset.

Esto puede lograrse de 3 maneras:

  • Crear dos grandes clusters de datos usando segmentación. Los casos típicos serán agrupados juntos y los valores atípicos serán los elementos fuera del grupo.
  • Medir la distancia entre cada elemento y el centro de los datos. Las anomalías usualmente serán las que estén más lejos del grupo.
  • Entrenar un modelo de clasificación para dividir instancias en dos grupos. Esto es difícil porque necesitas (como recordarás) datos de entrenamiento para el clasificador, y los valores atípicos son por definición raros, representando solo una pequeña porción del conjunto de entrenamiento. Esto afecta el rendimiento de muchos tipos de clasificadores.

La detección de valores atípicos es usada por instituciones financieras para identificar transacciones fraudulentas u otras formas de comportamiento fraudulento. También puede usarse para detectar actividad maliciosa de red o ataques a sistemas de software.

Outlier detection graph

Los datos sin etiquetar son poderosos

El aprendizaje no supervisado es una idea muy poderosa con muchas aplicaciones. Parte de este poder deriva de poder hacer uso del tipo más común de datos disponible: ejemplos sin etiquetar. Exploramos 3 aplicaciones comunes, pero no significa que esas sean las únicas cosas que puedes hacer con aprendizaje no supervisado. ¡También es posible construir modelos de clasificación y regresión!

Para construir un clasificador, podrías usar un algoritmo de clustering (como k-means clustering) para descubrir segmentos naturales en tus datos. Después de eso, podrías calcular la distancia entre un nuevo ejemplo y los centroides (entre muchas otras posibilidades) para clasificarlo en cualquiera de los clusters. Usando una idea similar puedes construir un modelo de regresión: podrías calcular la similitud entre un nuevo ejemplo y un número específico de puntos de datos entre todos tus datos. Después de encontrar los puntos de datos con más similitudes con tu nuevo ejemplo, puedes usar sus atributos agregados para extrapolar el valor objetivo del nuevo ejemplo.

También puedes usar aprendizaje supervisado para asistir el proceso de crear una nueva solución de datos. Una tarea común inicial cuando trabajas con problemas de machine learning es usar clustering y detección de valores atípicos para descubrir patrones subyacentes o limpiar tus datasets de ruido.

No importa lo que elijas, familiarizarte con este conjunto de técnicas e ideas será muy útil en tu carrera como científico de datos.

¡Gracias por leer!

Qué hacer después

  • Comparte este artículo con amigos y colegas. Gracias por ayudarme a llegar a personas que podrían encontrar útil esta información.
  • Este artículo está basado en el libro: Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking.
  • Envíame un email con preguntas, comentarios o sugerencias (está en la página Autor)

Juan Luis Orozco Villalobos

¡Hola! Soy Juan, ingeniero de software y consultor en Budapest. Me especializo en computación en la nube e IA, y me encanta ayudar a otros a aprender sobre tecnología e ingeniería