¿Qué es el clustering?

Vista aérea de San Francisco iluminado

¿Qué es el clustering?

El clustering es un algoritmo de machine learning no supervisado que organiza y clasifica diferentes objetos, puntos de datos u observaciones en grupos o clústeres basados en similitudes o patrones.

Existen diversas formas de utilizar el clustering en el machine learning, desde las exploraciones iniciales de un conjunto de datos hasta el seguimiento de los procesos en curso. Puede utilizarla en el análisis exploratorio de datos con un nuevo conjunto de datos para comprender las tendencias, los patrones y los valores atípicos subyacentes. Alternativamente, puede tener un conjunto de datos más grande que deba dividirse en varios conjuntos de datos o reducirse mediante la reducción de dimensionalidad. En estos casos, el clustering puede ser un paso en el preprocesamiento.

Algunos ejemplos de clústeres pueden ser géneros musicales, diferentes grupos de usuarios, segmentos clave de una segmentación de mercado, tipos de tráfico de red en un clúster de servidores, grupos de amigos en una red social o muchos otros tipos de categories. El proceso de agrupamiento puede utilizar solo una característica de los datos o puede utilizar todas las características presentes en los datos.

Resulta útil pensar en el clustering como un intento de encontrar agrupaciones naturales en los datos para ver qué categorías pueden existir y qué define esas categorías. Los clústeres pueden ayudarle a encontrar relaciones subyacentes entre puntos de datos para ver qué características o rasgos se comparten entre las categorías. En función del algoritmo de agrupación en clústeres utilizado, es posible que pueda eliminar los valores atípicos de los datos o etiquetarlos como valores atípicos. El clustering también puede ayudar en la detección de anomalías al identificar qué puntos de datos no están contenidos dentro de un clúster o solo están débilmente asociados con un clúster y, por lo tanto, pueden ser una anomalía en el proceso de generación de datos.

El clustering también se puede utilizar para reducir la complejidad de grandes conjuntos de datos mediante la reducción del número de dimensiones de los datos. Si observa que las categorías están definidas por solo dos o tres entidades, es posible que pueda eliminar entidades superfluas o utilizar técnicas de reducción de dimensionalidad como PCA. El clustering también es muy útil para crear visualizaciones de los conjuntos de datos y ver las propiedades emergentes de los datos, así como la densidad y las relaciones entre los clústeres.

Los algoritmos de clustering se distinguen a veces por realizar un clustering duro, en el que cada punto de datos pertenece a un único cluster y tiene un valor binario de estar o no en un cluster, o por realizar un clustering blando, en el que cada punto de datos recibe una probabilidad de pertenecer a cada cluster identificado. No existe un mejor proceso de clustering; deberá elegir el enfoque que tenga más sentido para sus necesidades y los datos con los que está trabajando.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Tipos de clustering

Existen muchos algoritmos de clustering diferentes, puesto que hay múltiples formas de definir un cluster. Los distintos enfoques funcionarán bien para diferentes tipos de modelos en función del tamaño de los datos de entrada, la dimensionalidad de los datos, la rigidez de las categorías y el número de conglomerados dentro del conjunto de datos. Vale la pena señalar que un algoritmo puede funcionar muy bien para un conjunto de datos y muy mal en otro. En esta sección se analizan cinco de los enfoques más utilizados para el clustering. Existen otras técnicas como el clustering espectral o el clustering Mean-Shift que quedan fuera del ámbito de este artículo.

Clustering basado en centroides

El clustering basado en centroides es un tipo de método de clustering que divide o divide un conjunto de datos en grupos similares en función de la distancia entre sus centroides. El centroide de cada clúster es la media o la mediana de todos los puntos del clúster, en función de los datos.

Una de las técnicas de clustering basado en centroides más utilizadas es el algoritmo de clustering de medias k. El método de medias k asume que el centro de cada clúster define el clúster utilizando una medida de distancia, normalmente la distancia euclidiana, al centroide. Para inicializar el clustering, se proporciona un número de clusters esperados, que representa la 'K' en medias K, y el algoritmo intenta encontrar clusters razonables a través de los datos para que coincidan con ese número. Los clústeres k óptimos de un conjunto de datos determinado se identifican minimizando de forma iterativa la distancia total entre cada punto y su centroide de clúster asignado.

Las medias k son un enfoque de clustering estricto, lo que significa que cada punto de datos se asigna a un clúster diferente y no hay ninguna probabilidad asociada a la pertenencia al clúster. Las medias k funcionan bien cuando los clústeres tienen un tamaño aproximadamente equivalente y no hay valores atípicos ni cambios de densidad significativos en los datos. Las medias k suelen funcionar mal cuando los datos tienen altas dimensiones o cuando los clústeres tienen tamaños o densidades significativamente diferentes. Las medias k también son especialmente sensibles a los valores atípicos, ya que intenta establecer centroides basados en los valores medios de todos los valores del clúster y, por lo tanto, es susceptible al sobreajuste para incluir esos valores atípicos.

Otro enfoque basado en centroides para las medias K son los medoides K. Los medoides son objetos representativos de un conjunto de datos o de un clúster dentro de un conjunto de datos cuya suma de distancias a otros objetos del clúster es mínima. En lugar de tener un centroide arbitrario como centro del gráfico, el algoritmo crea clústeres mediante el uso de puntos de datos individuales como medoide o centro del clúster. Dado que el algoritmo de medoides K utiliza puntos de datos existentes en lugar de centroides arbitrarios, es menos sensible a los valores atípicos.

Clustering jerárquico

El clustering jerárquico, a veces denominado clustering basado en la conectividad, agrupa los puntos de datos en función de la proximidad y la conectividad de sus atributos. Este método determina los clústeres en función de la proximidad de los puntos de datos entre sí en todas las dimensiones. La idea es que los objetos que están más cerca están más estrechamente relacionados que los que están lejos unos de otros. A diferencia de las medias k, no es necesario especificar previamente el número de clústeres. En su lugar, el algoritmo de clustering crea una red de grafos de los clústeres en cada nivel jerárquico. Esta red es jerárquica, lo que significa que cualquier nodo dado en ella solo tiene un nodo principal, pero puede tener varios nodos secundarios. Los clústeres jerárquicos se pueden representar gráficamente con un dendrograma para ayudar a resumir y organizar visualmente los clústeres detectados y la jerarquía que pueden contener.

Existen dos enfoques para realizar el análisis jerárquico de clústeres:

Aglomerativo: en el clustering aglomerativo, un enfoque ascendente comienza con puntos de datos individuales y fusiona sucesivamente los clústeres calculando la matriz de proximidad de todos los clústeres en el nivel actual de la jerarquía para crear una estructura similar a un árbol. Una vez que se ha creado un nivel de clústeres en el que todos los clústeres tienen una similitud entre clústeres nula o baja, el algoritmo se desplaza al conjunto de clústeres recién creados y repite el proceso hasta que hay un nodo raíz en la parte superior del gráfico jerárquico. Hay una variedad de opciones posibles en términos de cómo estos clústeres deben fusionarse entre sí, con compensaciones en términos de la calidad y la eficiencia de la agrupación. En el clustering de enlace simple, la distancia más corta entre cualquier par de puntos de datos en dos clústeres se utiliza como medida de similitud. En el enlace de todos los pares, se utiliza la media de todos los pares de puntos de datos, mientras que en la vinculación muestreada, se utiliza una muestra de los puntos de datos de los dos conglomerados para calcular la distancia media. En el enlace de centroides, se utiliza la distancia entre los centroides. Uno de los problemas de los métodos aglomerativos es que pueden presentar encadenamiento, es decir, que los conglomerados más grandes tienden naturalmente a tener distancias más cercanas a otros puntos, por lo que siguen creciendo y atrayendo más puntos de datos a su conglomerado. Otra desventaja es que los métodos aglomerativos pueden ser mucho más lentos que los métodos divisivos de construcción de la jerarquía.

Divisivo: en los métodos de clustering jerárquico que dividen, un enfoque descendente divide sucesivamente los puntos de datos en una estructura arborescente. El primer paso es dividir el conjunto de datos en clústeres utilizando un método de clustering plano como medias K. A continuación, los clústeres con la mayor suma de errores al cuadrado (SSE) se particionan aún más mediante un método de agrupación en clústeres plano. El algoritmo se detiene cuando alcanza nodos individuales o un SSE mínimo. La partición divisoria permite una mayor flexibilidad tanto en términos de la estructura jerárquica del árbol como del nivel de equilibrio en los diferentes clústeres. No es necesario tener un árbol perfectamente equilibrado en cuanto a las profundidades de los diferentes nudos o un árbol en el que el grado de cada rama es exactamente dos. Esto permite la construcción de una estructura de árbol que admite diferentes compensaciones en el equilibrio de las profundidades de los nodos y los pesos de los nodos (número de puntos de datos en el nodo). La agrupación jerárquica divisiva puede ser más rápida que la agrupación jerárquica aglomerativa, especialmente cuando los datos no requieren construir el árbol hasta los puntos de datos individuales.

Clustering basado en distribución

El clustering basado en la distribución, a veces denominado clustering probabilístico, agrupa los puntos de datos en función de su distribución de probabilidad. Este enfoque supone que hay un proceso que genera distribuciones normales para cada dimensión de los datos que crea los centros de clústeres. Se diferencia del clustering basado en centroides en que no utiliza una métrica de distancia como una distancia euclidiana o de Manhattan. En su lugar, los enfoques basados en la distribución buscan una distribución bien definida que aparezca en cada dimensión. Las medias de los clústeres son las medias de la distribución gaussiana en cada dimensión. El clustering basado en distribución es un enfoque basado en modelos para clustering, ya que requiere ajustar una distribución varias veces en cada dimensión para encontrar clústeres, lo que significa que puede ser costoso desde el punto de vista computacional cuando se trabaja con grandes conjuntos de datos.

Un enfoque comúnmente utilizado para el clustering basado en la distribución es crear un modelo de mezcla gaussiana (GMM) a través de la maximización de expectativas. Un GMM se denomina así debido a la suposición de que cada clúster está definido por una distribución gaussiana, a menudo llamada distribución normal.

Considere un conjunto de datos con dos clústeres distintos, A y B, definidos ambos por dos distribuciones normales diferentes: una a lo largo del eje x y otra a lo largo del eje y. La maximización de expectativas comienza con una suposición aleatoria de cuáles son esas dos distribuciones a lo largo de cada eje y luego procede a mejorar iterativamente alternando dos pasos:

Expectativa: asigne cada punto de datos a cada uno de los grupos y calcule la probabilidad de que provenga del grupo A y del grupo B.

Maximización: actualice los parámetros que definen cada grupo, una ubicación media ponderada y una matriz de varianzas y covarianzas, en función de la probabilidad de que cada punto de datos esté en el grupo. A continuación, repita el paso Expectativa hasta que la ecuación converja en las distribuciones observadas para cada clúster.

A cada punto de datos se le asigna una probabilidad de estar asociado a un conglomerado. Esto significa que la agrupación mediante la maximización de expectativas es un enfoque de agrupación suave y que un punto dado puede estar asociado probabilísticamente a más de un conglomerado. Esto tiene sentido en algunos casos: una canción puede ser algo folk y algo rock, o un usuario puede preferir programas de televisión en español, pero a veces también ver programas en inglés.

Clustering basado en densidad

El clustering basado en la densidad funciona mediante la detección de áreas donde se concentran puntos y donde están separados por áreas que están vacías o escasas. A diferencia de los enfoques basados en centroides, como las medias K, o los enfoques basados en la distribución, como la maximización de expectativas el clustering basado en la densidad puede detectar clústeres de una forma arbitraria. Puede ser extremadamente útil cuando los clústeres no están definidos en torno a una ubicación o distribución específica. A diferencia de otros algoritmos de agrupamiento, como las medias K y el clustering jerárquico, un algoritmo basado en la densidad puede descubrir clústeres de cualquier forma, tamaño o densidad en sus datos. El clustering basado en la densidad también puede distinguir entre los puntos de datos que forman parte de un clúster y los que deben etiquetarse como ruido. El clustering basado en la densidad es especialmente útil cuando se trabaja con conjuntos de datos con ruido o valores atípicos o cuando no tenemos conocimiento previo sobre el número de clústeres en los datos.

DBSCAN es un ejemplo de un algoritmo de clustering que adopta un enfoque basado en la densidad para la agrupación. Utiliza un enfoque de clustering espacial basado en la densidad para crear clústeres con una densidad pasada por el usuario que se centra en un centroide espacial. El área inmediatamente alrededor del centroide se denomina vecindad y DBSCAN intenta definir las vecindades de los clústeres que tienen la densidad especificada. Para cada clúster, DBSCAN definirá tres tipos de puntos de datos:

Puntos principales: un punto de datos es un punto central si la vecindad alrededor de ese punto de datos contiene al menos tantos puntos como el número mínimo de puntos especificado por el usuario.

Puntos fronterizos: un punto de datos es un punto fronterizo si la vecindad alrededor de ese punto de datos contiene menos del número mínimo de puntos de datos pero la vecindad alrededor de ese punto contiene un punto central.

Valor atípico: un punto de datos es un valor atípico si no es ni un punto central ni un punto de borde. Básicamente, esta es la "otra" clase.

HDBSCAN es una variante de DBSCAN que no requiere la configuración de ningún parámetro, lo que puede hacerla aún más flexible que la original. HDBSCAN es menos sensible al ruido y los valores atípicos de los datos. Además, DBSCAN a veces puede tener problemas para identificar clústeres con densidad no uniforme. Esta fue una de las principales motivaciones de HDBSCAN y, por lo tanto, maneja clústeres de densidad variable de manera mucho más efectiva.

Clustering basado en cuadrícula

Los algoritmos de clustering basados en cuadrículas no se utilizan con tanta frecuencia como en los cuatro enfoques anteriores, pero pueden resultar útiles en clústeres de alta dimensión, puesto que otros algoritmos de agrupamiento pueden no tener el mismo rendimiento. En este enfoque, el algoritmo divide un conjunto de datos de alta dimensión en celdas. A cada celda se le asigna un identificador único llamado ID de celda y todos los puntos de datos que se encuentran dentro de una celda se consideran parte del mismo clúster.

El clustering basado en cuadrículas es un algoritmo eficaz para analizar grandes conjuntos de datos multidimensionales, ya que reduce el tiempo necesario para buscar los vecinos más cercanos, un paso común en muchos métodos de agrupamiento.

Un popular algoritmo de clustering basado en cuadrículas se llama STING, siglas de STatistical INformation Grid. En STING, el área espacial se divide en celdas rectangulares y varios niveles de celdas con diferentes niveles de resolución. Las celdas de alto nivel se dividen en varias celdas de bajo nivel. STING puede ser muy eficiente en el cálculo de clústeres en escenarios de big data donde los conjuntos de datos son extremadamente grandes porque simplemente divide el conjunto de datos de forma iterativa en cuadrículas más finas y evalúa el número de puntos dentro de esa cuadrícula. Una desventaja de STING es que los límites de los clústeres deben definirse horizontal o verticalmente, el algoritmo no puede detectar límites de clústeres no rectangulares.

Otro algoritmo basado en cuadrículas que es particularmente potente con datos de alta dimensión es el algoritmo Clustering In Quest o CLIQUE. CLIQUE combina enfoques basados en cuadrículas y en densidad para la agrupación. En este algoritmo, el espacio de datos se divide en una cuadrícula y se compara la densidad relativa de los puntos dentro de las celdas de la cuadrícula, fusionándose los subespacios que tienen densidades similares. Este enfoque encuentra unidades densas en todos los subespacios de interés y luego mide si los grupos similares deben estar conectados entre sí. Esto significa que CLIQUE puede detectar clústeres de formas arbitrarias en datos de alta dimensión.

Mixture of Experts | 28 de agosto, episodio 70

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Clustering de evaluación

Existen varias métricas de evaluación para el análisis de clústeres y la selección de la métrica adecuada depende del tipo de algoritmo de clustering y del conjunto de datos correspondiente. Las métricas de evaluación se pueden dividir generalmente en dos categorías principales: extrínsecas e intrínsecas.

Medidas intrínsecas

Las medidas intrínsecas son métricas de evaluación para el análisis de clústeres que utilizan solo la información del conjunto de datos. Pueden ser útiles cuando se trabaja con datos sin etiquetar. La calidad del análisis se basa enteramente en las relaciones entre los puntos de datos. Se pueden usar cuando no tenemos conocimiento previo ni etiquetas de los datos. Las medidas intrínsecas comunes incluyen:

Puntuación de silueta: esta métrica mide la similitud y la diferencia de cada punto de datos con respecto a su propio grupo y a todos los demás grupos. Los valores de las métricas oscilan entre -1 y +1. Un valor alto indica que el objeto coincide bien con su propio clúster y mal con los clústeres vecinos.

Índice de Davies-Bouldin: esta métrica calcula la relación entre la distancia dentro del grupo y la distancia entre grupos. Cuanto menor sea la puntuación del índice, mejor será el rendimiento de la agrupación.

Índice de Calinski-Harabasz: también se conoce como criterio de ratio de varianza, mide la relación entre la varianza entre los clústeres y la varianza dentro del conglomerado. Cuanto mayor sea la relación Calinski-Harabasz, más definido estará un clúster.

Estas métricas de evaluación pueden ayudarnos a comparar el rendimiento de diferentes algoritmos y modelos de clustering, optimizar los parámetros de agrupación y validar la precisión y la calidad de los resultados de la agrupación.

Medidas extrínsecas

Las medidas extrínsecas utilizan información real o externa para evaluar la validez del rendimiento del algoritmo de agrupamiento. Esto requiere algún tipo de datos de etiqueta que confirmen la clase o clúster al que pertenece cada punto de datos. En este caso, puede comparar la precisión del análisis de clustering con las métricas que se utilizan a menudo en la precisión de la clasificación. Las medidas extrínsecas comunes incluyen:

Puntuación F (también llamada medida F): esta métrica determina la precisión del algoritmo de clustering analizando la precisión y el recuerdo al comparar una agrupación propuesta con una verdad básica. En el caso de una puntuación F, cuanto más alta, mejor.

Pureza: esta métrica mide la fracción de puntos de datos que se asignan correctamente a la misma clase o clúster al que pertenecen. En el caso de una medida de pureza, cuanto más alta, mejor.

Índice Rand: es una medida de la similitud entre las etiquetas verdaderas y predichas del algoritmo de clustering, que va de 0 a 1. Un valor más alto indica un mejor rendimiento de clustering.

Variación de la información (también llamada distancia de información compartida): mide la cantidad de información perdida y ganada entre dos agrupaciones. Puede ser entre un clustering verdadero y un clustering generado por un algoritmo o entre dos clusterings diferentes. Un número más bajo es mejor, ya que muestra una distancia menor entre dos resultados de agrupación.

Aplicaciones de clustering

Hay muchas áreas de aplicación donde el clustering es una herramienta valiosa para la minería de datos o el análisis exploratorio de datos, podemos enumerar solo una pequeña muestra de las áreas de aplicación aquí para dar una idea de la importancia de este tipo de análisis.

Detección de anomalías

El clustering puede ayudar a descubrir anomalías mediante la medición de los puntos de datos que no se incluyen en la estructura de clustering definido por el análisis de clústeres. Los puntos de datos que pertenecen a clústeres pequeños o muy dispersos o que están lejos de su clúster asignado se pueden considerar anomalías. Los métodos basados en la densidad, como la maximización de expectativas, se utilizan para identificar los puntos de datos en regiones densas como normales y los de regiones de baja densidad como anomalías.

Investigación de mercado

Al tratar de comprender qué perfiles de clientes o subconjuntos de mercados podrían existir, el clustering puede ser una herramienta poderosa para ayudar a realizar la segmentación de clientes. Es posible que pueda combinar datos demográficos con datos de comportamiento del cliente para encontrar qué tipos de características y patrones de compra se correlacionan con mayor frecuencia.

Segmentación de imágenes

Las imágenes pueden tener sus píxeles agrupados en una variedad de formas que pueden ayudar a cortar la imagen en diferentes secciones para separar un primer plano de un fondo, detectar objetos usando similitudes en color y brillo, o dividir imágenes en regiones de interés para su posterior procesamiento. Con las imágenes, los métodos de clustering procesan los píxeles de la imagen y definen áreas dentro de la imagen que representan el clúster.

Procesamiento de documentos

El análisis de clustering puede ser útil para procesar documentos de varias maneras. Los documentos se pueden agrupar por similitud para mostrar qué documentos son más similares entre sí. Esto puede basarse en la longitud del documento, la distribución de la frecuencia de palabras u otras formas diversas de cuantificar las características clave del documento. Otro caso de uso común es analizar grupos de secciones de un documento en función de la frecuencia de las palabras clave, la longitud de las oraciones o la distribución de los términos. Esto puede ayudar a realizar un resumen de documentos o a dividir documentos más grandes en conjuntos de datos más pequeños para un análisis más detallado.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y el portfolio de soluciones de IA de IBM.

Explore las soluciones de IA
Servicios y consultoría de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma de trabajar de las empresas usando IA para la transformación.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demo en directo