www works means machine learning kmeans how examples datascience data clustering blog cluster-analysis k-means fuzzy-c-means

cluster analysis - works - ¿Cuál es la diferencia entre "k significa" y "fuzzy c significa" funciones objetivo?



k-means model (3)

¿Estoy tratando de ver si el rendimiento de ambos se puede comparar en función de las funciones objetivas en las que trabajan?


La gente ha escrito técnicamente y cada respuesta está bien escrita. Pero lo que quiero decir es lo mismo en lenguaje lego. K significa agrupar en clúster todo el conjunto de datos en K número de clúster donde los datos deben pertenecer a un solo clúster. Fuzzy c-means crea k números de clústeres y luego asigna cada información a cada clúster, pero será un factor que definirá qué tan fuertemente los datos pertenecen a ese clúster.


Por cierto, el algoritmo de agrupamiento Fuzzy-C-Means (FCM) también se conoce como Soft K-Means .

Las funciones objetivo son virtualmente idénticas , la única diferencia es la introducción de un vector que expresa el porcentaje de pertenencia de un punto dado a cada uno de los grupos. Este vector se somete a un exponente de "rigidez" destinado a dar más importancia a las conexiones más fuertes (y, a la inversa, a minimizar el peso de las más débiles); de manera incidental, cuando el factor de rigidez tiende hacia el infinito, el vector resultante se convierte en una matriz binaria, por lo que el modelo FCM es idéntico al de las medias K.

Creo que excepto por un posible problema con los clústeres que no tienen puntos asignados a ellos, es posible emular el algoritmo K-Means con el del FCM, simulando un factor de rigidez infinito (= introduciendo una función que cambia el valor más grande en el vector a 1, y pone a cero los otros valores, en lugar de la exponenciación del vector). Esta es, por supuesto, una forma muy ineficiente de ejecutar un K-Means, porque el algoritmo tiene que realizar tantas operaciones como con un FCM verdadero (aunque solo sea con valores 1 y 0, lo que simplifica la aritmética, pero no la complejidad)

Con respecto al rendimiento , el FCM, por lo tanto, necesita realizar k (es decir, número de agrupaciones) multiplicaciones para cada punto, para cada dimensión (sin contar también la exponenciación para tener en cuenta la rigidez). Esto, más la sobrecarga necesaria para calcular y administrar el vector de proximidad, explica por qué FCM es bastante más lento que los medios K-medios.

Pero FCM / Soft-K-Means es menos "estúpido" que Hard-K-Means cuando se trata, por ejemplo, de agrupaciones alargadas (cuando los puntos que son consistentes en otras dimensiones tienden a dispersarse en una o dos dimensiones en particular), y es por eso que todavía cerca ;-)

De mi respuesta original:

Además, solo pensé en esto, pero no le puse ningún pensamiento "matemático", el FCM puede converger más rápido que los medios K-medios, compensando de alguna manera el requisito computacional más grande del FCM.

Edición de mayo de 2018:

En realidad, no hay ninguna investigación confiable que pueda identificar que respalde mi corazonada anterior sobre la mayor velocidad de convergencia de FCM. Gracias Benjamin Horn por ser honesto ;-)


K-Means clustering y Fuzzy-C-Means son muy similares en los enfoques. La principal diferencia es que, en el agrupamiento de medios Fuzzy-C, cada punto tiene una ponderación asociada con un clúster en particular, por lo que un punto no se encuentra "en un clúster" sino que tiene una asociación débil o fuerte con el clúster, que Está determinada por la distancia inversa al centro del grupo.

Los medios Fuzzy-C tenderán a correr más lentamente que los medios K, ya que en realidad está haciendo más trabajo. Cada punto se evalúa con cada grupo y se involucran más operaciones en cada evaluación. K-Means solo necesita hacer un cálculo de distancia, mientras que fuzzy c significa que debe realizar una ponderación completa de distancia inversa.