28 votos

¿Cómo sé que mi algoritmo de agrupación k-means sufre la maldición de la dimensionalidad?

Creo que el título de esta pregunta lo dice todo.

3 votos

Creo que va a tener que aclararnos lo que entiende por síntoma.

0 votos

Si "síntoma" es una versión manual de "prueba", entonces tal vez podría tomar submuestras de su conjunto de datos - tal vez el 66% del tamaño de la muestra, realizar su análisis (kmeans, en su caso), y luego ver cómo son los resultados. Por ejemplo, podría ver con qué frecuencia se asignan determinadas observaciones al mismo clúster. Por otra parte, puede que no merezca la pena el esfuerzo. Si le preocupa la posibilidad de un problema de dimensionalidad, es probable que lo tenga. Podría considerar otros enfoques de clustering que reduzcan un poco la dimensionalidad.

0 votos

@generic_user si ese comentario fuera una respuesta, lo contaría como una respuesta aceptada :)

26voto

Sean Hanley Puntos 2428

Ayuda a pensar en lo que La maldición de la dimensionalidad es. Hay varios hilos muy buenos sobre CV que vale la pena leer. Aquí hay un lugar para empezar: Explicar la "maldición de la dimensionalidad" a un niño .

Observo que está interesado en cómo se aplica esto a $k$ -significa clustering. Hay que tener en cuenta que $k$ -means es una estrategia de búsqueda para minimizar (sólo) la distancia euclidiana al cuadrado. A la luz de esto, vale la pena pensar en cómo la distancia euclidiana se relaciona con la maldición de la dimensionalidad (ver: ¿Por qué la distancia euclidiana no es una buena métrica en dimensiones altas? ).

La respuesta breve de estos hilos es que el volumen (tamaño) del espacio aumenta a un ritmo increíble en relación con el número de dimensiones. Incluso $10$ dimensiones (que no me parece que sea muy "alta dimensión") puede provocar la maldición. Si los datos se distribuyeran uniformemente en ese espacio, todos los objetos serían aproximadamente equidistantes entre sí. Sin embargo, como señala @Anony-Mousse en su responder A esta pregunta, este fenómeno depende de cómo estén dispuestos los datos en el espacio; si no son uniformes, no se tiene necesariamente este problema. Esto nos lleva a preguntarnos si los datos de alta dimensión distribuidos uniformemente son muy comunes (véase: ¿Existe realmente la "maldición de la dimensionalidad" en los datos reales? ).

Yo diría que lo que importa no es necesariamente el número de variables (la dimensionalidad literal de sus datos), sino la dimensionalidad efectiva de sus datos. Bajo el supuesto de que $10$ dimensiones es "demasiado alta" para $k$ -significa que la estrategia más sencilla sería contar el número de características que tiene. Pero si se quiere pensar en términos de dimensionalidad efectiva, se puede realizar un análisis de componentes principales (PCA) y observar cómo caen los valores propios. Es bastante común que la mayor parte de la variación exista en un par de dimensiones (que normalmente atraviesan las dimensiones originales de su conjunto de datos). Eso implicaría que es menos probable que tenga un problema con $k$ -significa en el sentido de que su dimensionalidad efectiva es en realidad mucho menor.

Un enfoque más complicado sería examinar la distribución de las distancias entre pares en su conjunto de datos según lo que sugiere @hxd1011 en su responder . Observar las distribuciones marginales simples le dará alguna pista sobre la posible uniformidad. Si se normalizan todas las variables para que estén dentro del intervalo $[0,\ 1]$ las distancias entre pares deben estar dentro del intervalo $[0,\ \sqrt{\sum D}]$ . Las distancias muy concentradas causarán problemas; por otro lado, una distribución multimodal puede ser esperanzadora (puedes ver un ejemplo en mi respuesta aquí: ¿Cómo utilizar conjuntamente variables binarias y continuas en la agrupación? ).

Sin embargo, si $k$ -significa que "funcionará" sigue siendo una cuestión complicada. Bajo el supuesto de que hay agrupaciones latentes significativas en sus datos, no necesariamente existen en todas sus dimensiones o en las dimensiones construidas que maximizan la variación (es decir, los componentes principales). Las agrupaciones podrían estar en las dimensiones de menor variación (véase: Ejemplos de PCA en los que las PC con baja varianza son "útiles" ). Es decir, podría tener conglomerados con puntos que están cerca dentro y bien separados entre sí en sólo algunas de sus dimensiones o en PC de baja variación, pero que no son ni remotamente similares en PC de alta variación, lo que causaría $k$ -significa ignorar los clústeres que se buscan y elegir en su lugar clústeres falsos (algunos ejemplos pueden verse aquí: Cómo entender los inconvenientes de K-means ).

1 votos

Resulta que ya existe una etiqueta para aprendizaje múltiple (¡debería haber mirado antes!). Resumiendo para aquellos que no lo sepan, la idea es que mientras los datos de alta dimensión tienden a ser escasos en términos de todo el espacio, pueden ser densos en alguna hipersuperficie en ese espacio.

0 votos

+1 por la excelente respuesta. ¿Podría explicar un poco más la parte de los valores propios? Si la dimensionalidad efectiva es pequeña, ¿recomiendas hacer PCA y retener sólo las primeras puntuaciones con altos valores propios?

0 votos

@DataD'oh, ciertamente es una posibilidad, pero lo que digo es que no es necesario hacer eso. En efecto, los datos no son de alta dimensión (cuando sólo los primeros vectores propios tienen altos valores propios), por lo que no necesariamente tienes que hacer nada - la maldición de la dimensionalidad simplemente no se aplicará.

14voto

David Puntos 41

Mi respuesta no se limita a K-means, sino que comprueba si tenemos maldición de la dimensionalidad para cualquier método basado en la distancia. K-means se basa en una medida de distancia (por ejemplo, la distancia euclidiana)

Antes de ejecutar el algoritmo, podemos comprobar la distribución de las métricas de distancia, es decir, todas las métricas de distancia para todos los pares de datos. Si tiene $N$ puntos de datos, debería tener $0.5\cdot N\cdot(N-1)$ métrica de la distancia. Si los datos son demasiado grandes, podemos comprobar una muestra de los mismos.

Si tenemos el problema de la maldición de la dimensionalidad, lo que verás es que estos valores están muy cerca unos de otros. Esto parece muy contra-intuitivo, porque significa que cada uno está cerca o lejos de cada uno y la medida de distancia es básicamente inútil.


A continuación, una simulación para mostrar estos resultados contraintuitivos. Si todas las características están distribuidas uniformemente, y si hay demasiadas dimensiones, cada métrica de distancia debería estar cerca de $\frac 1 6$ que viene de $\int_{x_i=0}^1\int_{x_j=0}^1 (x_i-x_j)^2 dx_i dx_j$ . Siéntase libre de cambiar la distribución uniforme por otras distribuciones. Por ejemplo, si cambiamos a la distribución normal (cambiar runif a rnorm ), convergerá a otro número con grandes dimensiones numéricas.

Aquí está la simulación para la dimensión de 1 a 500, las características son la distribución uniforme de 0 a 1.

plot(0, type="n",xlim=c(0,0.5),ylim=c(0,50))
abline(v=1/6,lty=2,col=2)
grid()

n_data=1e3
for (p in c(1:5,10,15,20,25,50,100,250,500)){
    x=matrix(runif(n_data*p),ncol=p)
    all_dist=as.vector(dist(x))^2/p
    lines(density(all_dist))
}

enter image description here

1 votos

¿Qué es? $P$ ? $\,$

2 votos

Yo había votado por una demostración del fenómeno de contracción euclidiana bajo altas dimensiones. Pero la respuesta no demuestra un sufrimiento de agrupación de k-means de la maldición. El sufrimiento implicaría que en dimensiones altas los clusters razonablemente bien separados (y no los datos aleatorios uniformes como los tuyos) pueden no ser descubiertos con tanto éxito como en dimensiones bajas. No has tocado este tema.

0 votos

@amoeba $P$ es el número de dimensiones. Revisaré el gráfico y añadiré el código. Gracias.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X