¿Cuáles son las principales diferencias entre K-medias y K-vecinos más cercanos?

Respuestas:

106

Estos son métodos completamente diferentes. El hecho de que ambos tengan la letra K en su nombre es una coincidencia.

K-means es un algoritmo de agrupamiento que intenta dividir un conjunto de puntos en K conjuntos (grupos) de modo que los puntos en cada grupo tienden a estar cerca uno del otro. No está supervisado porque los puntos no tienen clasificación externa.

K-vecinos más cercanos es un algoritmo de clasificación (o regresión) que, para determinar la clasificación de un punto, combina la clasificación de los K puntos más cercanos. Se supervisa porque está intentando clasificar un punto en función de la clasificación conocida de otros puntos.

Bitwise
fuente
66
Creo que hay más similitud de lo que este tipo está dando crédito. Ambos usan métodos de distancia para agrupar y clasificar entradas respectivamente. Esto es a menudo por qué se les enseña juntos, y por qué los temas de dimensionalidad se discuten en relación con ellos. Se pueden aplicar varios métodos de distancia a ambos. De hecho, hay muchas similitudes.
eljusticiero67
@ eljusticiero67, por supuesto, se usan para clasificar entradas, esto es mencionado por OP. Y la mayoría de los métodos de aprendizaje clásicos se basan en la distancia, por lo que tampoco es sorprendente. Tenga en cuenta que el OP estaba interesado en las diferencias. También lo entendí como si OP implicara que podría haber similitud debido a la K en ambos nombres.
Bitwise
12

Como señaló Bitwise en su respuesta , k-means es un algoritmo de agrupamiento. Si se trata de k vecinos más cercanos (k-NN), la terminología es un poco confusa:

  • en el contexto de la clasificación, es un algoritmo de clasificación, como también se señaló en la respuesta antes mencionada

  • en general es un problema , para el cual existen varias soluciones (algoritmos)

Entonces, en el primer contexto, decir "clasificador k-NN" en realidad puede significar varios algoritmos concretos subyacentes que resuelven el problema k-NN, y su resultado se interpreta con el propósito de clasificación.

Estas son dos cosas diferentes, pero puede que le resulte interesante que el algoritmo k-means sea uno de los varios métodos posibles para resolver el problema k-NN (Marius Muja y David G. Lowe, "Vecinos más cercanos rápidos y aproximados con configuración automática de algoritmos" , en Conferencia internacional sobre teoría y aplicaciones de la visión por computadora (VISAPP'09), 2009 PDF )

BartoszKP
fuente
0

Puede tener un k-means supervisado. Puede construir centroides (como en k-means) en función de sus datos etiquetados. Nada te detiene. Si desea mejorar esto, el espacio euclidiano y la distancia euclidiana pueden no proporcionarle los mejores resultados. Deberá elegir su espacio (podría ser el espacio riemanniano, por ejemplo) y definir la distancia entre puntos (e incluso definir un "punto"). Los dos últimos son temas de investigación y también dependen del tipo (propiedades) de datos (señal) que tenga.

Anton Andreev
fuente
-2

K-means puede crear la información del clúster para los nodos vecinos, mientras que KNN no puede encontrar el clúster para un nodo vecino determinado.

Rti
fuente
-2

k Los medios se pueden usar como la fase de entrenamiento antes de que knn se implemente en la etapa de clasificación real. K significa que crea las clases representadas por el centroide y la etiqueta de clase de las muestras que pertenecen a cada clase. knn usa estos parámetros, así como el número k, para clasificar una nueva muestra invisible y asignarla a una de las k clases creadas por el algoritmo K significa

mohatef
fuente