Logotipo de Zephyrnet

Descripción general de análisis de clúster y modelos de mezcla de procesos de Dirichlet

Fecha:

análisis de conglomeradosEn el proyecto de investigación ISO para mi Maestría en Aprendizaje Automático en el Imperial College de Londres, me concentré en el problema del Análisis de Clúster utilizando los Modelos de Mezcla de Procesos Dirichlet. Los DPMM son una técnica de aprendizaje no supervisada "completamente bayesiana" que, a diferencia de otros métodos de análisis de conglomerados, no requiere que predefinamos el número total de conglomerados dentro de nuestros datos. Las grandes empresas, como Google, utilizan estos modelos de mezcla de Dirichlet infinitos en una variedad de aplicaciones que incluyen Clasificación de documentos, Procesamiento de lenguaje natural, Visión por computadora y más.

Actualización: el marco de aprendizaje automático de Datumbox ahora es de código abierto y gratuito para descargar. Consulte el paquete com.datumbox.framework.machinelearning.clustering para ver la implementación de los modelos de mezcla de procesos de Dirichlet en Java.

Durante mi investigación tuve la oportunidad de trabajar con dos modelos de mezclas diferentes: el Modelo de mezcla normal multivariante que se usa para agrupar conjuntos de datos gaussianos continuos y el Modelo de mezcla multinomial de Dirichlet que se usa para agrupar documentos. La investigación original duró 3 meses y se realizó bajo la supervisión del profesor. Aldo Faisal del Imperial College de Londres. Mi plan está dentro de las próximas semanas para publicar una versión adaptada de mi investigación en este blog, discutir la teoría y las aplicaciones de los Modelos de Mezcla de Procesos Dirichlet y publicar una implementación de Java que se puede utilizar para realizar agrupaciones con DPMM.

Este artículo es la introducción / descripción general de la investigación, describe los problemas, discute brevemente los modelos de mezcla de procesos de Dirichlet y finalmente presenta la estructura de los próximos artículos.

1. Descripción general de las técnicas de análisis de clúster

Análisis de conglomerados es una técnica de aprendizaje no supervisada que tiene como objetivo identificar los grupos dentro de un conjunto de datos. Los grupos se seleccionan de tal manera que las observaciones que se les asignan sean más similares entre sí que a las observaciones que pertenecen a diferentes grupos. La agrupación en clústeres es una técnica no supervisada porque no utiliza conjuntos de datos anotados para estimar los grupos mencionados anteriormente. En cambio, los grupos se identifican solo mediante el uso de las características / características de los datos.

La tarea del análisis de conglomerados no está vinculada directamente a un algoritmo particular, sino que existen varios enfoques diferentes para modelar los datos. En la literatura podemos encontrar modelos de centroide (como el K-medias y el Representante K) que representan los grupos como vectores medios, modelos de distribución (como la mezcla de gaussianos) que modelan las distribuciones generativas de los datos mediante el uso de estadísticas y probabilidades, Agrupación de gráficos modelos (como el MCL) que organizan conjuntos de datos sobre la base de la estructura de borde de las observaciones, modelos de conectividad (como el Aglomerativo y Divisivo algoritmos) que se centran en la conectividad a distancia y más.

Los algoritmos de análisis de conglomerados pueden separarse aún más en diferentes categorías según la forma en que organizan los conglomerados. Por ejemplo, los algoritmos se pueden dividir en función de si realizan clustering duro o blando (asignando los puntos de datos a un solo clúster o a muchos clústeres con una cierta probabilidad / peso) y de si realizan clustering plano, jerárquico o superpuesto (ya sea para preservar una jerarquía en los grupos identificados).

Finalmente, dado que el Análisis de conglomerados es una de las técnicas de aprendizaje automático más populares y utilizadas con mayor frecuencia, se han propuesto varios algoritmos y modelos diferentes en la literatura. En general, la técnica que se utiliza en cada caso depende en gran medida del problema y el tipo de datos que tenemos.

2. Aplicaciones de agrupamiento

Debido al hecho de que el análisis de conglomerados no requiere tener conjuntos de datos anotados que generalmente son caros y difíciles de encontrar, se ha convertido en una herramienta poderosa en muchas áreas diferentes de la ciencia y los negocios. Como resultado, Clustering tiene numerosas aplicaciones en una gran cantidad de campos diferentes.

En la visión por computadora, el agrupamiento se usa con frecuencia en la segmentación de imágenes y en la agrupación de diferentes objetos dentro de una escena. En bioinformática y neurociencia puede usarse para agrupar genes o neuronas que están asociadas a tareas / comportamientos particulares. En marketing y agrupación empresarial, se usa regularmente para identificar grupos dentro de las bases de datos de clientes y permitir a las empresas ofrecer servicios más específicos. Los motores de búsqueda usan el agrupamiento para identificar documentos similares dentro de sus índices y organizar páginas web en categorías. Las redes sociales utilizan la agrupación para identificar comunidades y camarillas dentro de grandes grupos de usuarios. Finalmente, debemos tener en cuenta que el Análisis de Clúster se ha aplicado con éxito en varias otras áreas, como Medicina, Informática, Finanzas, Ciencias Sociales, Robótica, Física y más.

3. El problema de identificar el número de Clusters

Uno de los problemas más difíciles en la agrupación es determinar la cantidad total de agrupaciones que existen dentro de los datos. En general, muchos de los algoritmos existentes requieren el número total de grupos k como parámetro antes de realizar el análisis y sus resultados dependen en gran medida de este parámetro. Cuando se conoce de antemano el número de grupos k, entonces los algoritmos antes mencionados pueden proporcionarnos las asignaciones de grupos requeridas. Sin embargo, este número rara vez se conoce en aplicaciones del mundo real. Además, en muchas aplicaciones se espera que el número de grupos cambie a medida que agreguemos más observaciones con el tiempo.
número de grupos
Aunque se han propuesto varias técnicas para evitar especificar directamente el número de clústeres (Agrupación jerárquica aglomerativa) o para estimar el número óptimo de grupos a partir de datos (como X-significa), la mayoría de las técnicas transmiten heurísticas y no utilizan el marco probabilístico. Un enfoque alternativo que nos permite estimar dinámicamente el número de conglomerados y adaptarlo a medida que se observan más datos es utilizar modelos de mezcla de procesos de Dirichlet.

4. Descripción general de los modelos de mezcla de procesos de Dirichlet

El proceso de Dirichlet es una familia de modelos bayesianos no paramétricos que se utilizan comúnmente para la estimación de densidad, modelado semiparamétrico y selección de modelo / promedio. Los procesos de Dirichlet no son paramétricos en el sentido de que tienen un número infinito de parámetros. Como se tratan con un enfoque bayesiano, podemos construir modelos grandes con parámetros infinitos que integramos para evitar el sobreajuste. Se puede demostrar que los DP se pueden representar de diferentes maneras, todas las cuales son matemáticamente equivalentes. Pocas formas comunes de representar un proceso de Dirichlet son con el esquema de urna Blackwell-MacQueen, la construcción de ruptura de palos y el proceso de restaurante chino.

Los modelos de mezcla de procesos de Dirichlet se pueden construir para realizar la agrupación en conjuntos de datos. Con los DPMM, construimos un modelo de mezcla única en el que el número de componentes de la mezcla es infinito. Esto significa que DPMM no requiere que definamos desde el principio el número de clústeres (que en este caso es infinito) y nos permite adaptar el número de clústeres activos a medida que alimentamos más datos a nuestro modelo a lo largo del tiempo.

Como veremos en un próximo artículo, representar a DPMM como un proceso de restaurante chino crea un efecto de agrupamiento que usamos para realizar el Análisis de clúster en los datos. Para estimar las asignaciones de conglomerados de nuestro modelo, podemos usar el muestreo de Gibbs y, en consecuencia, debemos seleccionar los previos conjugados apropiados para hacer posible el muestreo.

5. Aplicaciones de DPMM

Los modelos de mezcla de procesos de Dirichlet se han vuelto populares tanto en el aprendizaje automático como en las estadísticas. En consecuencia, se han utilizado en un gran número de aplicaciones. Wood y col. han usado DPMM para realizar la clasificación de picos e identificar la cantidad de neuronas diferentes que fueron monitoreadas por un solo electrodo. Sudderth y col. he usado este modelo para realizar análisis de escena visual e identificar la cantidad de objetos, partes y características que contiene una imagen en particular. Liang y col. y Finkel y col. utilizó procesos de Dirichlet jerárquico en el campo del procesamiento del lenguaje natural para detectar cuántos símbolos gramaticales existen en un conjunto particular de oraciones. Finalmente Blei y col. y Teh y col. han utilizado modelos jerárquicos similares para agrupar documentos basados ​​en sus categorías semánticas.

6. Motivación

Los DPMM se vuelven cada vez más populares y un área activa de investigación. Se han aplicado a una gran cantidad de problemas diferentes y resuelven muchas de las limitaciones mencionadas del Análisis de conglomerados dentro del marco probabilístico. Los DPMM nos permiten realizar un aprendizaje no supervisado mediante el uso de un enfoque no paramétrico y totalmente bayesiano y construir modelos complicados con estructura jerárquica.

Por lo tanto, en esta serie de artículos, me centraré en presentar los fundamentos matemáticos del modelo, discutir las diversas representaciones de los Procesos de Direclet, presentar 2 modelos diferentes, el Modelo de mezcla normal multivariante y el Modelo de mezcla multinomial de Dirichlet que se pueden usar para agrupar datos continuos y documentos y finalmente presentaré mi implementación de Java y los resultados de las demostraciones.

7. Próximas publicaciones / estructura

Esta serie de artículos seguirá la misma estructura que mi informe de investigación y se organizará en los siguientes segmentos:

  1. Descripción general del análisis de clúster y los modelos de mezcla de procesos de Dirichlet: Descripción general de varias técnicas de análisis de conglomerados y sus aplicaciones, descripción del problema de estimar el número de conglomerados y descripción general de DPMM y sus aplicaciones.
  2. Modelo de mezcla finita basado en la distribución de Dirichlet: Discute los conceptos básicos de las distribuciones Beta y Dirichlet, presenta el modelo Dirichlet Prior con probabilidad multinomial y el modelo de mezcla finita con distribución Dirichlet.
  3. El proceso de Dirichlet El proceso del restaurante chino y otras representaciones: Define el proceso de Dirichlet, presenta las diversas representaciones de DP y se centra en el proceso de restaurante chino.
  4. El modelo de mezcla de procesos de Dirichlet: Presenta el modelo de mezcla de proceso de Dirichlet, proporciona un modelo alternativo que utiliza el proceso de restaurante chino y describe la muestra de Gibbs colapsado que se utiliza para estimar las asignaciones de clúster.
  5. Agrupación de documentos y datos gaussianos con modelos de mezcla de procesos Dirichlet: Discute cómo realizar la agrupación mediante el uso de DPMM y presenta el modelo de mezcla normal multivariada de Dirichlet y el modelo de mezcla multinomial de Dirichlet.
  6. Agrupación con el modelo de mezcla de procesos Dirichlet en Java: Proporciona una descripción general de mi implementación en Java del Modelo de mezcla normal multivariante y el Modelo de mezcla Dirichlet-Multinomial junto con una demostración.

¡Estén atentos para los próximos artículos! Espero que hayas disfrutado esta publicación; si lo hizo, tómese un momento para compartir el artículo en Facebook y Twitter. 🙂

Nuestra Empresa Vasilis Vryniotis

Mi nombre es Vasilis Vryniotis. Soy un científico de datos, un ingeniero de software, autor de Datumbox Machine Learning Framework y un orgulloso geek. Más información

Fuente: http://blog.datumbox.com/overview-of-cluster-analysis-and-dirichlet-process-mixture-models/

punto_img

Información más reciente

punto_img