Red de conocimiento informático - Aprendizaje de programación - Algunos problemas con la agrupación de K-Means

Algunos problemas con la agrupación de K-Means

1 ¿Cómo demostrar la convergencia de la agrupación de K-Means? ¿Será definitivamente restringido?

2 Condiciones de terminación del clustering: número de iteraciones, tasa de cambio del centro del cluster, error cuadrático mínimo MSE.

3 ¿Cómo afecta la selección de los valores de agrupación iniciales a los resultados de la agrupación? (K-Means es sensible al valor inicial)

4 Método de selección de codo: determinar el número de grupos K

No existe la llamada mejor manera de seleccionar el número de grupos Por lo general, debe seleccionarse manualmente según diferentes problemas. Al elegir, piense en nuestra motivación para usar el algoritmo K-means para la agrupación y luego elija la cantidad de agrupaciones que mejor sirva a ese propósito. Cuando la gente discute métodos para elegir el número de grupos, un método del que pueden hablar se llama "regla del codo". Con respecto a la "regla del codo", todo lo que tenemos que hacer es cambiar el valor K, que es el número total de categorías de agrupación. Ejecutamos el método de agrupación de K-medias con un grupo. Esto significa que todos los datos se clasificarán en un grupo y luego se calculará la función de costo J, donde K representa el tipo de grupo.

Podríamos obtener una curva similar a esta. Como un codo humano. Eso es lo que hace la "regla del codo". Miremos un diagrama como este, parece que hay un codo muy claro allí. Al igual que un brazo humano, si extiendes el brazo, esta será la articulación del hombro, la articulación del codo y la mano. Esta es la "regla del codo". Descubrirás que en este modo, la distorsión cae muy rápidamente de 1 a 2, y luego de 2 a 3, y luego llegas a un punto de codo en 3. Después de esto, el valor de distorsión cae muy lentamente y parece que usar 3 grupos para la agrupación es correcto. Esto se debe a que ese punto es el codo de la curva y el valor de distorsión cae muy rápidamente, K es igual a 3. Después de eso. , cae muy lentamente, por lo que elegimos K igual a 3. Cuando aplica la "regla del codo", si obtiene un gráfico como el anterior, entonces esta sería una forma razonable de elegir el número de grupos.

uk es la posición del centro de gravedad de la k-ésima clase. La función de costos es la suma de las distorsiones de cada clase. El grado de distorsión de cada clase es igual a la suma de los cuadrados de las distancias entre el centro de gravedad de la clase y las posiciones de sus miembros internos. Si los miembros de una clase están más compactos entre sí, el grado de distorsión de la clase será menor. Por el contrario, si los miembros de una clase están más dispersos entre sí, el grado de distorsión de la clase será. ser mayor. Resolver los parámetros que minimizan la función de costos es un proceso de configurar repetidamente los valores de observación contenidos en cada clase y mover constantemente el centro de gravedad de la clase.

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportKMeansfromscipy.spatial.distanceimportcdistx = np.array()y = np.array()data = np.array(list(zip(x, y)))# Resuelve la regla del codo Número óptimo de clasificaciones# La solución óptima de los parámetros K-Means también tiene como objetivo minimizar la función de costo# La función de costo es la suma de las distorsiones de cada clase. El grado de distorsión de cada clase es igual a la suma de los cuadrados de la distancia entre el centro de gravedad de la clase y las posiciones de sus miembros internos # Dibuja un diagrama de codo aa=)plt.grid(True)plt.plot (x, y,'k.')kmeans = KMeans(n_clusters =3)kmeans.fit(data)plt.plot(kmeans.cluster_centers_, kmeans.cluster_centers_,'r.')plt.show()

5 K-Means ventajas, desventajas y ámbito de aplicación

El valor K debe darse con anticipación y pertenece al conocimiento previo. En muchos casos, es muy difícil estimar el valor K. Para escenarios como calcular los círculos de contacto de todos los usuarios de WeChat, es completamente imposible utilizar K-Means.

Para escenarios en los que es seguro que el valor K no será demasiado grande pero el valor K exacto no está claro, se puede realizar una operación iterativa y luego se puede encontrar el valor K correspondiente a la función de costo mínimo. Este valor a menudo se puede encontrar. Describe mejor cuántos grupos hay.

El algoritmo K-Means es sensible al punto central del grupo seleccionado inicialmente y los resultados de agrupamiento obtenidos por diferentes puntos semilla aleatorios son completamente diferentes.

El algoritmo K-Means no es aplicable a todo tipo de muestra. No puede manejar grupos no esféricos, grupos de diferentes tamaños y diferentes densidades.

Cuando el algoritmo K-Means agrupa los datos de valores atípicos, K-means también tiene problemas. En este caso, la detección y eliminación de valores atípicos son de gran ayuda. (Los valores atípicos tienen un gran impacto en el centro del grupo y requieren detección y eliminación de valores atípicos)

5. El algoritmo K-Means es sensible al ruido y a los valores atípicos. Lo más importante es que el resultado no es necesariamente el mismo. Óptimo global, solo puede garantizar el óptimo local.

6 De K-Means al modelo de mezcla gaussiana

Representación de datos

En k-means, utilizamos un solo punto para modelar el clúster. en realidad, la forma más simplificada de modelado de datos. Este uso de puntos para modelar conglomerados en realidad supone que los datos de cada conglomerado se distribuyen en una forma circular (o esférica de alta dimensión). Pero en la vida real esto rara vez ocurre. Entonces, en GMM utilizamos una representación de datos más general, que es la distribución gaussiana.

Datos anteriores

En k-medias, asumimos que la probabilidad previa de cada grupo es la misma, pero la cantidad de datos en cada grupo puede ser desigual. Por ejemplo, el grupo A contiene 10.000 muestras y el grupo B solo contiene 100 muestras. Entonces, para una nueva muestra, la probabilidad de pertenecer al grupo A es definitivamente mayor que la del grupo B, independientemente de su similitud con el grupo A B. En GMM, los datos anteriores también se modelan.

Medición de similitud

En k-medias, generalmente usamos la distancia euclidiana para medir la similitud entre la muestra y cada grupo. En realidad, esta distancia supone que cada dimensión de los datos tiene el mismo efecto al medir la similitud. Pero en GMM, la similitud se mide mediante probabilidad posterior.

Al introducir la matriz de covarianza, podemos modelar la diferente importancia de cada dimensión de los datos.

Distribución de datos

En k-means, cada punto de muestra solo pertenece al grupo con mayor similitud, lo que en realidad es una especie de agrupamiento duro. En GMM, las probabilidades posteriores se utilizan para asignar cada grupo proporcionalmente, lo cual es una especie de agrupación difusa.

La agrupación jerárquica no es lo mismo que los algoritmos de agrupación de K-Means y GMM:

K-Means y GMM se parecen más a ideas de arriba hacia abajo. El primer problema a resolver. es determinar el número de grupos, es decir, el valor de k. Después de determinar k, agrupe los datos.

La agrupación jerárquica es una forma ascendente. Los datos primero están disponibles y luego se realiza la agrupación seleccionando continuamente los datos más similares.

Una de las razones por las que K-Means se usa ampliamente en la industria es su rápida convergencia y ahora se puede acelerar mediante computación distribuida. Por otras razones, solo necesita K para el ajuste de parámetros.

Enlace: /p/cc74c124c00b

Fuente: