Clustering, o análisis de clusters, es un método de aprendizaje no supervisado utilizado en análisis de datos y Machine Learning que organiza los datos para que los puntos de datos de un mismo grupo (o cluster) sean más similares entre sí que con respecto a los de otros grupos. Clustering ayuda a comprender grandes conjuntos de datos complejos, ya que revela patrones y tendencias, o realiza predicciones sobre datos no etiquetados.
Cómo funciona el clustering
Clustering comprende varios pasos clave: preparación de datos, definición de la medición de similitud, selección del algoritmo de clustering adecuado, y evaluación y optimización de clusters.
Clustering implica medir la similitud entre puntos de datos y agruparlos de manera que los datos dentro de un mismo grupo sean más similares entre sí que con los de otros grupos. El concepto de “similitud” varía según el contexto y los datos, y es un aspecto fundamental del aprendizaje no supervisado. La similitud se mide utilizando diferentes métodos, como distancia euclidiana, distancia probabilística, distancia de coseno y correlación.
Tipos de algoritmos de clustering
Los algoritmos de clustering se dividen en dos grupos principales:
- Clustering duro: Cada punto de datos pertenece a un solo cluster, como en el popular método de K-means
- Clustering suave: Cada punto de datos puede pertenecer a más de un cluster, como en los modelos de mezcla gaussiana
Existen varios algoritmos de clustering; cada uno con un enfoque único para agrupar datos. Estos métodos varían significativamente en mecánica y casos prácticos ideales. Estos son los algoritmos de clustering utilizados mas comúnmente en Machine Learning:
- Clustering jerárquico: Crea una jerarquía de clusters multinivel utilizando un árbol de clusters.
- Clustering de K-means: Divide datos en K clusters distintos en base a la distancia al centroide de un cluster.
- Modelos de mezcla gaussiana: Forman clusters como una mezcla de componentes de densidad normal multivariante.
- Clustering espacial basado en densidad (DBSCAN): Agrupa los puntos cercanos entre sí en áreas de alta densidad y realiza un seguimiento de los valores atípicos en regiones de baja densidad. Puede gestionar formas no convexas arbitrarias.
- Mapas autoorganizados: Utilizan redes neuronales que aprenden la topología y la distribución de los datos.
- Clustering espectral: Transforma los datos de entrada en una representación basada en grafos donde los clusters están mejor separados que en el espacio de características original. El número de clusters se puede estimar estudiando los valores propios del grafo.
- Modelos ocultos de Markov: Se pueden utilizar para descubrir patrones en secuencias, genes y proteínas en bioinformática.
- Fuzzy C-means (FCM): Agrupa los datos en N clusters, y cada punto de datos del conjunto de datos pertenece a todos los clusters con diferentes grados de pertenencia.
Clustering para aprendizaje no supervisado
El aprendizaje no supervisado es un tipo de algoritmo de Machine Learning que se utiliza para extraer inferencias de datos no etiquetados sin intervención humana. La técnica de aprendizaje no supervisado más común es clustering. Aplica algoritmos de clustering para explorar datos y hallar agrupaciones o patrones ocultos sin ningún conocimiento previo de las etiquetas de grupo. Usando estos grupos y patrones, el clustering ayuda a extraer información útil de datos no etiquetados y revela estructuras inherentes dentro de ellos.
Por qué clustering es importante
Clustering es un área importante de la inteligencia artificial. Desempeña un papel importante en varios dominios, ya que ofrece información valiosa sobre los datos, y revela patrones y relaciones que no son obvios inmediatamente. Para datos no etiquetados, donde la relación inherente entre los puntos de datos está oculta pero es necesaria para revelar información útil, el uso de clustering ayuda a descubrir esas relaciones y organizar los datos no etiquetados en grupos significativos.
Agrupando elementos similares con clustering, se puede reducir la complejidad de los datos y centrarse en el comportamiento de los grupos en vez de los detalles de cada punto de datos individual. Por tanto, el clustering se puede utilizar para análisis exploratorio de datos y aprendizaje semisupervisado. En este último, el clustering se utiliza como un paso de preprocesamiento previo al aprendizaje supervisado para reducir la cantidad de datos que debe procesar un modelo de Machine Learning y optimizar la precisión del modelado de predicción.
El clustering también se suele utilizar en aplicaciones de detección de anomalías, segmentación de imágenes y reconocimiento de patrones. Más específicamente, el clustering se puede aplicar en las siguientes áreas para identificar patrones y secuencias:
- Clusters que representan datos en vez de la señal sin procesar en métodos de compresión de datos.
- Clusters que indican regiones de imágenes y nubes de puntos de LiDAR en algoritmos de segmentación.
- Clusters que identifican valores atípicos o anomalías dentro de un conjunto de datos.
- En captura de imágenes médicas, los algoritmos de clustering pueden separar las imágenes en regiones de interés, por ejemplo, para diferenciar entre tejido sano y tumores, o para segmentar el cerebro en materia blanca, materia gris y líquido cefalorraquídeo.
- En sistemas de información geográfica (SIG), clustering puede analizar imágenes satelitales o fotografías aéreas para identificar el crecimiento urbano o los patrones de uso del suelo, o bien para monitorizar cambios en áreas urbanas a lo largo del tiempo.
- El clustering genético y el análisis de secuencias se utilizan en bioinformática.
Clustering con MATLAB
Con MATLAB® y Statistics and Machine Learning Toolbox™, puede identificar patrones y características aplicando métodos de clustering preferidos y dividiendo los datos en grupos o clusters. Con Image Processing Toolbox™, puede realizar clustering en datos de imagen.
Preparación de datos
Para obtener resultados de clustering precisos y eficientes, es vital preprocesar los datos y resolver los valores ausentes y atípicos. Puede limpiar y preprocesar los datos de forma programática utilizando funciones integradas o interactivamente con la app Data Cleaner.
Algoritmos de clustering
MATLAB admite todos los algoritmos de clustering populares, que se pueden aplicar con funciones integradas, como la funcion kmeans
. Puede utilizar la tarea de Live Editor Cluster Data para realizar clustering jerárquico y K-means interactivamente. Con esta tarea, puede generar código de MATLAB automáticamente para un script en vivo.
También puede realizar clustering de vecinos más cercanos en Simulink utilizando el bloque KNN Search. Este bloque acepta un punto de consulta y devuelve los K puntos vecinos más cercanos en los datos de observación utilizando un objeto de búsqueda de vecinos más cercanos.
Visualización y evaluación de resultados de clustering
Cuando los datos no contienen divisiones naturales que indican el número adecuado de clusters, se pueden utilizar diferentes criterios de evaluación, como gap o silueta, para determinar qué tan bien se ajustan los datos a un número particular de clústeres. También puede visualizar los clusters para inspeccionar los resultados del clustering. Por ejemplo, puede utilizar una gráfica de dendrograma para la visualización del clustering.
Clustering de imágenes
Puede realizar segmentación de imágenes (utilizando la función imsegkmeans
) y segmentación de volúmenes (utilizando la función imsegkmeans3
) en imágenes realizando clustering de regiones de píxeles basadas en similitudes de color o forma. Puede crear una imagen etiquetada segmentada utilizando un algoritmo de clustering específico. Por ejemplo, para captura de imágenes médicas, puede detectar y etiquetar píxeles en una imagen o vóxeles de un volumen en 3D que representan un tumor en el cerebro u otros órganos de un paciente. Con las herramientas de MATLAB, puede procesar y analizar imágenes para una amplia gama de aplicaciones, desde diagnóstico de enfermedades hasta clasificación del uso del suelo.
Recursos
Amplíe sus conocimientos con documentación, ejemplos, vídeos y mucho más.
Temas relacionados
Explore áreas temáticas similares comúnmente asociadas con productos de MATLAB y Simulink.
30 días de exploración a su alcance
Más informaciónSeleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)