Estoy leyendo un libro "Aprendizaje automático con chispa" de Nick Pentreath, y en la página 224-225 el autor discute sobre el uso de K-means como una forma de reducción de dimensionalidad.
Nunca he visto este tipo de reducción de dimensionalidad, ¿tiene un nombre o / y es útil para formas específicas de datos ?
Cito el libro que describe el algoritmo:
Supongamos que agrupamos nuestros vectores de características de alta dimensión utilizando un modelo de agrupación K-means, con k agrupaciones. El resultado es un conjunto de k centros de clúster.
Podemos representar cada uno de nuestros puntos de datos originales en términos de cuán lejos está de cada uno de estos centros de agrupación. Es decir, podemos calcular la distancia de un punto de datos a cada centro de clúster. El resultado es un conjunto de k distancias para cada punto de datos.
Estas k distancias pueden formar un nuevo vector de dimensión k. Ahora podemos representar nuestros datos originales como un nuevo vector de dimensión inferior, en relación con la dimensión de entidad original.
El autor sugiere una distancia gaussiana.
Con 2 grupos para datos bidimensionales, tengo lo siguiente:
K-significa:
Aplicando el algoritmo con la norma 2:
Aplicando el algoritmo con una distancia gaussiana (aplicando dnorm (abs (z)):
Código R para las imágenes anteriores:
set.seed(1)
N1 = 1000
N2 = 500
z1 = rnorm(N1) + 1i * rnorm(N1)
z2 = rnorm(N2, 2, 0.5) + 1i * rnorm(N2, 2, 2)
z = c(z1, z2)
cl = kmeans(cbind(Re(z), Im(z)), centers = 2)
plot(z, col = cl$cluster)
z_center = function(k, cl) {
return(cl$centers[k,1] + 1i * cl$centers[k,2])
}
xlab = "distance to cluster center 1"
ylab = "distance to cluster center 2"
out_dist = cbind(abs(z - z_center(1, cl)), abs(z - z_center(2, cl)))
plot(out_dist, col = cl$cluster, xlab = xlab, ylab = ylab)
abline(a=0, b=1, col = "blue")
out_dist = cbind(dnorm(abs(z - z_center(1, cl))), dnorm(abs(z - z_center(2, cl))))
plot(out_dist, col = cl$cluster, xlab = xlab, ylab = ylab)
abline(a=0, b=1, col = "blue")
Respuestas:
Creo que este es el "método centroide" (o el método "centroidQR" estrechamente relacionado) descrito por Park, Jeon y Rosen . Del resumen de tesis de Moon-Gu Jeon :
También parece ser equivalente al método de "grupo múltiple" del análisis factorial .
fuente
Mire toda la literatura sobre indexación basada en pivote .
Pero ganas poco usando k-means. Por lo general, puede usar puntos aleatorios como pivotes. Si elige lo suficiente, no serán todos similares.
fuente
Hay varias formas de utilizar la agrupación como reducción de dimensiones. Para las medias K, también puede proyectar los puntos (ortogonalmente) en el espacio vectorial (o afín) generado por los centros.
fuente