134 votos

¿Cuáles son las principales diferencias entre K-means y K-nearest neighbours?

Sé que k-means es no supervisado y se utiliza para la agrupación, etc. y que k-NN es supervisado. Pero quería saber las diferencias concretas entre los dos?

1 votos

2 votos

@FranckDernoncourt El enlace de tu comentario a baoqiang.org estaba roto, así que lo he sustituido por un enlace de Wayback Machine.

151voto

Bitwise Puntos 3141

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 agrupación que trata de dividir un conjunto de puntos en K conjuntos (clusters) de manera que los puntos de cada cluster tiendan a estar cerca unos de otros. No está supervisado porque los puntos no tienen una 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. Es supervisado porque trata de clasificar un punto basándose en la clasificación conocida de otros puntos.

0 votos

¡@Bitwise derecho me olvidé de ese punto! Y curiosamente, ¡KNN no tiene fase de entrenamiento! sólo la etiqueta de los nodos se utilizan en la fase de prueba. Sin embargo, si uno no tiene datos de entrenamiento, tal vez k-means para la agrupación se encuentra útil.

31 votos

Creo que hay más similitudes de las que este tipo está dando. Ambos utilizan métodos de distancia para agrupar y clasificar las entradas, respectivamente. Por eso suelen enseñarse juntos, y por eso se discuten los problemas de dimensionalidad en relación con ellos. Se pueden aplicar varios métodos de distancia a ambos. De hecho, hay muchas similitudes.

1 votos

@eljusticiero67 por supuesto que se usan para clasificar entradas, esto lo menciona el OP. Y la mayoría de los métodos clásicos de aprendizaje se basan en la distancia, así que esto tampoco es sorprendente. Ten en cuenta que el OP estaba interesado en las diferencias. Además entendí que el OP daba a entender que podría haber similitud por la K en ambos nombres.

15voto

Colin Gravill Puntos 2100

Como señala Bitwise en su respuesta k-means es un algoritmo de agrupación. Si se trata de k-nearest neighbours (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ñala en la respuesta mencionada

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

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

Se trata de dos cosas diferentes, pero quizá le interese saber que el algoritmo k-means es 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 con configuración automática del algoritmo" , en la Conferencia Internacional sobre Teoría y Aplicaciones de la Visión por Computador (VISAPP'09), 2009 PDF )

0voto

Philippe Puntos 1

Puedes tener un k-means supervisado. Puedes construir centroides (como en k-means) basados en tus datos etiquetados. Nada te lo impide. Si quieres mejorar esto, el espacio euclidiano y la distancia euclidiana podrían no proporcionarte los mejores resultados. Tendrás que elegir tu 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 tengas.

-1voto

Sir Jony Puntos 48

K-means puede crear la información de cluster para los nodos vecinos mientras que KNN no puede encontrar el cluster para un nodo vecino dado.

-1voto

mohatef Puntos 1

K Means puede utilizarse como fase de entrenamiento antes de que knn se implemente en la etapa de clasificación real. K means crea las clases representadas por el centroide y la etiqueta de clase de las muestras que pertenecen a cada clase. knn utiliza estos parámetros así como el número k para clasificar una nueva muestra no vista y asignarla a una de las k clases creadas por el algoritmo K means

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X