Creo que el título de esta pregunta lo dice todo.
Creo que el título de esta pregunta lo dice todo.
Respuestas:
Es útil pensar en qué es La maldición de la dimensionalidad . Hay varios hilos muy buenos en CV que vale la pena leer. Aquí hay un lugar para comenzar: Explique "Maldición de dimensionalidad" a un niño .
Observo que está interesado en cómo se aplica esto a la agrupación de medios . Vale la pena tener en cuenta que significa es una estrategia de búsqueda para minimizar (solo) la distancia al cuadrado euclidiana. A la luz de eso, 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 grandes dimensiones? ). k
La respuesta breve de estos hilos es que el volumen (tamaño) del espacio aumenta a una velocidad increíble en relación con el número de dimensiones. Incluso dimensiones (que no parece ser muy 'dimensional' para mí) pueden traer la maldición. Si sus datos se distribuyeron de manera uniforme en todo ese espacio, todos los objetos se vuelven aproximadamente equidistantes entre sí. Sin embargo, como señala @ Anony-Mousse en su respuesta a esa pregunta, este fenómeno depende de cómo se ordenan los datos dentro del espacio; Si no son uniformes, no necesariamente tiene este problema. Esto lleva a la pregunta de si los datos de alta dimensión distribuidos uniformemente son muy comunes (ver: ¿Existe realmente la "maldición de la dimensionalidad" en los datos reales? ).
Mi respuesta no está limitada a K significa, pero verifique si tenemos una maldición de dimensionalidad para cualquier método basado en la distancia. K-means se basa en una medida de distancia (por ejemplo, distancia euclidiana)
Si tenemos el problema de la maldición de la dimensionalidad, lo que verá es que estos valores están muy cerca uno del otro. Esto parece muy contrario a la intuición, porque significa que todos están cerca o lejos de todos y la medida de la distancia es básicamente inútil.
runif
rnorm
Aquí está la simulación para la dimensión de 1 a 500, las características son 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))
}