Revelando el Aprendizaje No Supervisado
Aprendizaje No Supervisado
¿Qué es el aprendizaje no supervisado?
En el aprendizaje automático, el aprendizaje no supervisado es un paradigma que implica entrenar un algoritmo en un conjunto de datos no etiquetados. Por lo tanto, no hay supervisión ni salidas etiquetadas.
En el aprendizaje no supervisado, el objetivo es descubrir patrones, estructuras o relaciones dentro de los propios datos, en lugar de predecir o clasificar en función de ejemplos etiquetados. Implica explorar la estructura inherente de los datos para obtener ideas y dar sentido a la información compleja.
- Conoce InstaFlow Un nuevo modelo generativo de IA de un solo paso d...
- Adam Ross Nelson sobre Ciencia de Datos Confiable
- Ray brilla con NVIDIA AI Colaboración con Anyscale para ayudar a lo...
Esta guía te presentará el aprendizaje no supervisado. Comenzaremos repasando las diferencias entre el aprendizaje supervisado y el no supervisado, para sentar las bases del resto de la discusión. Luego cubriremos las técnicas clave de aprendizaje no supervisado y los algoritmos populares dentro de ellas.
Aprendizaje supervisado vs. no supervisado
El aprendizaje automático supervisado y no supervisado son dos enfoques diferentes utilizados en el campo de la inteligencia artificial y el análisis de datos. Aquí hay un breve resumen de sus principales diferencias:
Datos de entrenamiento
En el aprendizaje supervisado, el algoritmo se entrena en un conjunto de datos etiquetados, donde los datos de entrada se asocian con las salidas deseadas correspondientes (etiquetas o valores objetivo).
En cambio, el aprendizaje no supervisado implica trabajar con un conjunto de datos no etiquetados, donde no hay etiquetas de salida predefinidas.
Objetivo
El objetivo de los algoritmos de aprendizaje supervisado es aprender una relación, un mapeo, desde el espacio de entrada al espacio de salida. Una vez que se aprende el mapeo, podemos usar el modelo para predecir los valores de salida o la etiqueta de clase para puntos de datos no vistos anteriormente.
En el aprendizaje no supervisado, el objetivo es encontrar patrones, estructuras o relaciones dentro de los datos, a menudo para agrupar puntos de datos en grupos, análisis exploratorio o extracción de características.
Tareas comunes
Clasificación (asignar una etiqueta de clase – una de las muchas categorías predefinidas – a un punto de datos no visto anteriormente) y regresión (predecir valores continuos) son tareas comunes en el aprendizaje supervisado.
Agrupación (agrupar puntos de datos similares) y reducción de dimensionalidad (reducir el número de características preservando información importante) son tareas comunes en el aprendizaje no supervisado. Discutiremos esto con más detalle en breve.
Cuándo usar
El aprendizaje supervisado se utiliza ampliamente cuando la salida deseada es conocida y bien definida, como la detección de correo no deseado, la clasificación de imágenes y el diagnóstico médico.
El aprendizaje no supervisado se utiliza cuando hay conocimiento limitado o nulo sobre los datos y el objetivo es descubrir patrones ocultos o obtener información de los propios datos.
Aquí hay un resumen de las diferencias:
En resumen: el aprendizaje supervisado se centra en aprender a partir de datos etiquetados para hacer predicciones o clasificaciones, mientras que el aprendizaje no supervisado busca descubrir patrones y relaciones dentro de datos no etiquetados. Ambos enfoques tienen sus propias aplicaciones, según la naturaleza de los datos y el problema en cuestión.
Técnicas de aprendizaje no supervisado
Como se mencionó, en el aprendizaje no supervisado, tenemos los datos de entrada y la tarea de encontrar patrones o representaciones significativas dentro de esos datos. Los algoritmos de aprendizaje no supervisado lo hacen identificando similitudes, diferencias y relaciones entre los puntos de datos sin contar con categorías o etiquetas predefinidas.
Para esta discusión, repasaremos las dos principales técnicas de aprendizaje no supervisado:
- Agrupación
- Reducción de dimensionalidad
¿Qué es la agrupación?
El agrupamiento involucra agrupar puntos de datos similares en conjuntos basados en alguna medida de similitud. El algoritmo tiene como objetivo encontrar grupos o categorías naturales dentro de los datos donde los puntos de datos en el mismo grupo son más similares entre sí que aquellos en otros grupos.
Una vez que tenemos el conjunto de datos agrupado en diferentes grupos, podemos etiquetarlos esencialmente. Y si es necesario, podemos realizar aprendizaje supervisado en el conjunto de datos agrupado.
¿Qué es la reducción de dimensionalidad?
La reducción de dimensionalidad se refiere a técnicas que reducen el número de características o dimensiones en los datos mientras se preserva información importante. Los datos de alta dimensionalidad pueden ser complejos y difíciles de trabajar, por lo que la reducción de dimensionalidad ayuda a simplificar los datos para su análisis.
Tanto el agrupamiento como la reducción de dimensionalidad son técnicas poderosas en el aprendizaje no supervisado, proporcionando información valiosa y simplificando datos complejos para su posterior análisis o modelado.
En el resto del artículo, revisemos importantes algoritmos de agrupamiento y reducción de dimensionalidad.
Algoritmos de Agrupamiento: Una Visión General
Como se mencionó, el agrupamiento es una técnica fundamental en el aprendizaje no supervisado que implica agrupar puntos de datos similares en conjuntos, donde los puntos de datos dentro del mismo grupo son más similares entre sí que aquellos en otros grupos. El agrupamiento ayuda a identificar divisiones naturales dentro de los datos, lo que puede proporcionar información sobre patrones y relaciones.
Existen varios algoritmos utilizados para el agrupamiento, cada uno con su propio enfoque y características:
Agrupamiento K-Means
El agrupamiento K-Means es un algoritmo simple, robusto y comúnmente utilizado. Particiona los datos en un número predefinido de grupos (K) actualizando iterativamente los centroides del grupo en función de la media de los puntos de datos dentro de cada grupo.
Refina iterativamente las asignaciones de grupos hasta la convergencia.
Así es cómo funciona el algoritmo de agrupamiento K-Means:
- Inicializar K centroides de grupos.
- Asignar cada punto de datos, según la métrica de distancia elegida, al centroide de grupo más cercano.
- Actualizar centroides calculando la media de los puntos de datos en cada grupo.
- Repetir los pasos 2 y 3 hasta la convergencia o un número definido de iteraciones.
Agrupamiento Jerárquico
El agrupamiento jerárquico crea una estructura en forma de árbol, un dendrograma, de puntos de datos, capturando similitudes a múltiples niveles de granularidad. El algoritmo de agrupamiento aglomerativo es el más comúnmente utilizado. Comienza con puntos de datos individuales como grupos separados y los fusiona gradualmente según un criterio de enlace, como la distancia o similitud.
Así es cómo funciona el algoritmo de agrupamiento aglomerativo:
- Comenzar con `n` grupos: cada punto de datos como su propio grupo.
- Fusionar los puntos de datos/grupos más cercanos en un grupo más grande.
- Repetir el paso 2 hasta que quede un solo grupo o se alcance un número definido de grupos.
- El resultado se puede interpretar con la ayuda de un dendrograma.
Agrupamiento Espacial Basado en la Densidad de Aplicaciones con Ruido (DBSCAN)
DBSCAN identifica grupos basados en la densidad de puntos de datos en un vecindario. Puede encontrar grupos con formas arbitrarias y también puede identificar puntos de ruido y detectar valores atípicos.
El algoritmo involucra lo siguiente (simplificado para incluir los pasos clave):
- Seleccionar un punto de datos y encontrar sus vecinos dentro de un radio especificado.
- Si el punto tiene suficientes vecinos, expandir el grupo incluyendo los vecinos de sus vecinos.
- Repetir para todos los puntos, formando grupos conectados por densidad.
Algoritmos de Reducción de Dimensionalidad: Una Visión General
La reducción de dimensionalidad es el proceso de reducir el número de características (dimensiones) en un conjunto de datos mientras se retiene información esencial. Los datos de alta dimensionalidad pueden ser complejos, computacionalmente costosos y propensos al sobreajuste. Los algoritmos de reducción de dimensionalidad ayudan a simplificar la representación y visualización de datos.
Análisis de Componentes Principales (PCA)
El Análisis de Componentes Principales, o PCA, transforma los datos en un nuevo sistema de coordenadas para maximizar la varianza a lo largo de los componentes principales. Reduce las dimensiones de los datos mientras preserva la mayor cantidad de varianza posible.
Aquí tienes cómo puedes realizar PCA para la reducción de la dimensionalidad:
- Calcular la matriz de covarianza de los datos de entrada.
- Realizar una descomposición de valores propios en la matriz de covarianza. Calcular los autovectores y autovalores de la matriz de covarianza.
- Ordenar los autovectores por autovalores en orden descendente.
- Proyectar los datos sobre los autovectores para crear una representación de menor dimensionalidad.
Incrustación de Vecinos Estocásticos Distribuidos en t (t-SNE)
La primera vez que utilicé t-SNE fue para visualizar incrustaciones de palabras. t-SNE se utiliza para la visualización al reducir datos de alta dimensionalidad a una representación de menor dimensionalidad mientras se mantienen similitudes locales entre pares.
Así es como funciona t-SNE:
- Construir distribuciones de probabilidad para medir similitudes entre pares de puntos de datos en espacios de alta y baja dimensionalidad.
- Minimizar la divergencia entre estas distribuciones utilizando descenso de gradiente. Mover iterativamente los puntos de datos en el espacio de menor dimensionalidad, ajustando sus posiciones para minimizar la función de costo.
Además, existen arquitecturas de aprendizaje profundo, como los autoencoders, que se pueden utilizar para la reducción de la dimensionalidad. Los autoencoders son redes neuronales diseñadas para codificar y luego decodificar datos, aprendiendo efectivamente una representación comprimida de los datos de entrada.
Algunas Aplicaciones del Aprendizaje No Supervisado
Veamos algunas aplicaciones del aprendizaje no supervisado. Aquí tienes algunos ejemplos:
Segmentación de Clientes
En marketing, las empresas utilizan el aprendizaje no supervisado para segmentar su base de clientes en grupos con comportamientos y preferencias similares. Esto ayuda a adaptar las estrategias de marketing, campañas y ofertas de productos. Por ejemplo, los minoristas categorizan a los clientes en grupos como “compradores económicos”, “compradores de lujo” y “compradores ocasionales”.
Clustering de Documentos
Puedes ejecutar un algoritmo de clustering en un corpus de documentos. Esto ayuda a agrupar documentos similares, facilitando la organización, búsqueda y recuperación de documentos.
Detección de Anomalías
El aprendizaje no supervisado se puede utilizar para identificar patrones raros e inusuales, es decir, anomalías, en los datos. La detección de anomalías tiene aplicaciones en la detección de fraudes y en la seguridad de redes para detectar comportamientos inusuales. Un ejemplo práctico es detectar transacciones fraudulentas de tarjetas de crédito identificando patrones de gasto inusuales.
Compresión de Imágenes
El clustering se puede utilizar para la compresión de imágenes, transformando las imágenes desde un espacio de color de alta dimensionalidad a un espacio de color de mucha menor dimensionalidad. Esto reduce el tamaño de almacenamiento y transmisión de imágenes al representar regiones de píxeles similares con un solo centroide.
Análisis de Redes Sociales
Puedes analizar datos de redes sociales, basados en las interacciones de los usuarios, para descubrir comunidades, influencers y patrones de interacción.
Modelado de Temas
En el procesamiento del lenguaje natural, la tarea de modelado de temas se utiliza para extraer temas de una colección de documentos de texto. Esto ayuda a categorizar y comprender los temas principales dentro de un gran corpus de texto.
Por ejemplo, supongamos que tenemos un corpus de noticias y no conocemos los documentos y sus categorías correspondientes de antemano. Entonces podemos realizar el modelado de temas en la colección de noticias para identificar temas como política, tecnología y entretenimiento.
Análisis de Datos Genómicos
El aprendizaje no supervisado también tiene aplicaciones en el análisis de datos biomédicos y genómicos. Ejemplos incluyen agrupar genes en base a sus patrones de expresión para descubrir posibles asociaciones con enfermedades específicas.
Conclusión
Espero que este artículo te haya ayudado a entender los conceptos básicos del aprendizaje no supervisado. La próxima vez que trabajes con un conjunto de datos del mundo real, intenta identificar el problema de aprendizaje en cuestión y evalúa si se puede modelar como un problema de aprendizaje supervisado o no supervisado.
Si estás trabajando con un conjunto de datos con características de alta dimensionalidad, intenta aplicar reducción de dimensionalidad antes de construir el modelo de aprendizaje automático. ¡Sigue aprendiendo! Bala Priya C es una desarrolladora y escritora técnica de India. Le gusta trabajar en la intersección de las matemáticas, la programación, la ciencia de datos y la creación de contenido. Sus áreas de interés y experiencia incluyen DevOps, ciencia de datos y procesamiento de lenguaje natural. Disfruta de la lectura, la escritura, la programación y el café. Actualmente, está trabajando en aprender y compartir su conocimiento con la comunidad de desarrolladores mediante la redacción de tutoriales, guías prácticas, artículos de opinión y más.