¿En qué se diferencia el algoritmo vecino k-más cercano de la agrupación k-means?

La mayoría de las respuestas sugieren que KNN es una técnica de clasificación y K-means es una técnica de agrupamiento. Agregaré una representación gráfica para que entiendas lo que está sucediendo allí.

En un algoritmo KNN, se da una muestra de prueba como la clase de la mayoría de sus vecinos más cercanos. En palabras simples, si eres similar a tus vecinos, entonces eres uno de ellos. O si la manzana se parece más al plátano, la naranja y el melón (frutas) que el mono, el gato y la rata (animales), entonces lo más probable es que la manzana sea una fruta. A continuación se muestra un ejemplo, tenemos tres clases y el objetivo es encontrar una etiqueta de clase para el ejemplo desconocido [math] x_j [/ math]. En este caso usamos la distancia euclidiana y un valor de k = 5 vecinos. De los 5 vecinos más cercanos, 4 pertenecen a [math] \ omega_1 [/ math] y 1 pertenece a [math] \ omega_3 [/ math], por lo que [math] x_j [/ math] se asigna a [math] \ omega_1 [ / matemáticas], la clase predominante.

(Fuente – Técnicas no paramétricas)

La situación con K-means es que, dado algunos datos, los agrupa en grupos K o grupos [1]. K-means pertenece a la familia de algoritmos de centroide en movimiento, es decir, en cada iteración, el centro (o centroide) del clúster se mueve ligeramente para minimizar la función objetivo. En la figura siguiente, comienza con una conjetura inicial de las medias para dos grupos [math] m_1 [/ math] y [math] m_2 [/ math], usa estos medios para agrupar los objetos, luego actualiza estos medios y luego reagrupa y así activado hasta que los medios [matemática] m_1 [/ matemática] y [matemática] m_2 [/ matemática] se detengan para moverse (o cambiar) o se alcance algún umbral (por ejemplo, número de iteraciones).

(Fuente – Agrupación – K-means)

Para comprender la diferencia entre algoritmos supervisados ​​y no supervisados, puede leer aquí: la respuesta de Shehroz Khan a ¿Cuál es la diferencia entre los algoritmos de aprendizaje supervisados ​​y no supervisados?

Notas al pie

[1] La respuesta de Shehroz Khan a ¿Qué es el algoritmo k-Means y cómo funciona?

De buenas a primeras, los dos buscan lograr objetivos diferentes.

Los vecinos más cercanos a K son un algoritmo de clasificación, que es un subconjunto del aprendizaje supervisado.

K-means es un algoritmo de agrupamiento, que es un subconjunto de aprendizaje no supervisado.

Si tengo un conjunto de datos de jugadores de baloncesto, sus posiciones y sus medidas, y quiero asignar posiciones a jugadores de baloncesto en un nuevo conjunto de datos donde tengo medidas pero no posiciones, podría usar k vecinos más cercanos .

Por otro lado, si tengo un conjunto de datos de jugadores de baloncesto que necesitan agruparse en k grupos distintos basados ​​en la similitud, podría usar k-means.

En consecuencia, ¡la K en cada caso también significa cosas diferentes! En k vecinos más cercanos , k representa el número de vecinos que tienen un voto para determinar la posición de un nuevo jugador. Tome el ejemplo donde k = 3. Si tengo un nuevo jugador de baloncesto que necesita un puesto, tomo a los 3 jugadores de baloncesto en mi conjunto de datos con las medidas más cercanas a mi nuevo jugador de baloncesto, y hago que voten sobre el puesto que debo asignar al nuevo jugador.

La k en k significa significa la cantidad de grupos que quiero tener al final. Si k = 5, tendré 5 grupos, o grupos distintos, de jugadores de baloncesto después de ejecutar el algoritmo en mi conjunto de datos.

En resumen, dos algoritmos diferentes con dos resultados finales muy diferentes, ¡pero el hecho de que ambos usan k puede ser muy confuso!

¡Espero que esto ayude!

La mayoría de los puntos se han incluido en respuestas anteriores. Agregaré solo una imagen aquí, y veré la diferencia en la práctica:

  • en Kmeans, los datos de color rojo en la parte inferior derecha se clasificarán como azules o verdes (porque están más cerca del centro de los puntos azules / verdes). Son atípicos para Kmeans . Kmeans se preocupa por lo global.
  • en KNN, K = 5, en el área inferior derecha, si prueba un punto de datos, KNN dirá que es un dato rojo, porque de sus 5 puntos de datos circundantes, la mayoría son rojos. KNN no se preocupa por el centro global de datos rojos en este ejemplo. KNN se preocupa por lo local (cuando K no es demasiado grande)

Puede calcular una aproximación de kNN y ahorrar mucho tiempo utilizando hashing sensible a la localidad. Los bosques LSH permiten calcular k-vecinos más cercanos de manera muy eficiente sin calcular muchas distancias. Esto es realmente genial para uso en producción.

En caso de agrupación, debe asignar un grupo a todos los puntos, por lo que no es tan fácil. Una razón para eso es que la agrupación es un problema NP-difícil. Si bien puede calcular los centroides aproximados al muestrear los puntos, aún necesita reasignar clústeres después de cada iteración. En ese sentido, es más difícil lograr aceleraciones similares debido a la naturaleza misma de esos algoritmos.

Tengo N cosas, por ejemplo, {x_i} _i ^ N, x_i \ in {0,1} o R ^ p … Quiero los “k puntos más cercanos” a cada una de las N cosas = k-NN

k-means es k, k << N grupos donde cada una de las N cosas pertenecen exclusivamente

No están realmente relacionados, no. Quiero decir, supongo que se podría decir que están relacionados porque ambos están encontrando formas de etiquetar las cosas. Pero no el mismo tipo de cosas. Es una coincidencia que ambos tengan “k” en sus nombres, esos k se refieren a cosas completamente diferentes.

El algoritmo k-means es un algoritmo de agrupamiento , y no está supervisado : toma un montón de puntos sin etiquetar e intenta agruparlos en grupos (la “k” es el número de grupos).

El algoritmo k-vecinos más cercanos es un algoritmo de clasificación , y está supervisado : toma un montón de puntos etiquetados y los usa para aprender a etiquetar otros puntos. Para etiquetar un nuevo punto, mira los puntos etiquetados más cercanos a ese nuevo punto (esos son sus vecinos más cercanos), y hace que esos vecinos voten, por lo que la etiqueta que tenga la mayoría de los vecinos es la etiqueta para el nuevo punto (el ” k “es el número de vecinos que verifica).

Diferencia entre k-medias y algoritmo KNN

**************************************************

KNN: Básicamente es un algoritmo de clasificación. En el que tratamos de predecir nuestros datos de prueba usando K vecinos más cercanos por promedio o regla de voto mayoritario. La otra forma de ver KNN como un algoritmo de agrupamiento en el que en nuestro grupo tenemos un número fijo de puntos K. Y como máximo podemos tener ‘ m ‘cluster para’ m ‘puntos de datos. Se pueden usar diferentes funciones de distancia como coseno, euclidiana, etc. También se utilizan para la tarea de recuperación en la búsqueda del objeto más similar

K-significa: Básicamente es un algoritmo de agrupamiento y una técnica descriptiva. Aquí tenemos un número fijo de grupos y un número variable de puntos de datos dentro de cada grupo. Utiliza explícitamente Euclidiana como distancia. El concepto de centroide es el resultado de la medida euclidiana.

Si bien las respuestas dadas ya indican correctamente que k-means y k-vecinos más cercanos son diferentes en que k-means es un algoritmo de aprendizaje / agrupamiento no supervisado y k-NN es un algoritmo de aprendizaje supervisado, hay un aspecto común para ambos. Son algoritmos basados ​​en la distancia que se basan en una métrica, en el caso de k-medias, el Euclidiano. Las generalizaciones de cualquiera de ellas podrían estar en la dirección de emplear funciones del núcleo (kernel k-means), aprendizaje métrico supervisado (vecinos más cercanos de gran margen).

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 agrupación que intenta dividir un conjunto de puntos en K conjuntos (agrupaciones) de modo que los puntos en cada agrupación tienden a acercarse entre sí. 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.

En el aprendizaje automático, las personas a menudo se confunden con k-means (agrupación de k-means) y KNN (k-Nearest Neighbours).

K-means es un algoritmo de aprendizaje no supervisado utilizado para agrupar problemas, mientras que KNN es un algoritmo de aprendizaje supervisado utilizado para problemas de clasificación y regresión. Esta es la diferencia básica entre K-means y el algoritmo KNN.

¿Cómo funciona el algoritmo K-means?

En el aprendizaje no supervisado, los datos no están etiquetados, así que considere los datos no etiquetados. Nuestra tarea es agrupar los datos en dos grupos.

Estos son nuestros datos, lo primero que podemos hacer es inicializar aleatoriamente dos puntos, llamados centroides de conglomerados.

En k-means hacemos dos cosas. El primero es un paso de asignación de clúster y el segundo es un paso de centroide de movimiento.

En el primer paso, el algoritmo va a cada uno de los puntos de datos y divide los puntos en clases respectivas, dependiendo de si está más cerca del centroide del grupo rojo o del centroide verde del grupo.

En el segundo paso, movemos el paso centroide. Calculamos la media de todos los puntos rojos y movemos el centroide del grupo rojo allí. Hacemos lo mismo para el clúster verde.

Este es un paso iterativo, por lo que hacemos el paso anterior hasta que el centroide del clúster no se mueva más y los colores del punto no cambien más.

Esta es una explicación muy laica de cómo funciona k-means.

Ahora, veamos cómo funciona KNN.

KNN es un algoritmo de aprendizaje supervisado que significa que los datos de entrenamiento están etiquetados. Considere la tarea de clasificar un círculo verde entre la clase 1 y la clase 2.

Si elegimos k = 1, entonces el círculo verde entrará en la clase 1, ya que está más cerca de la clase 1. Si K = 3, entonces hay ‘dos’ objetos de clase 2 y ‘uno’ de clase uno. Entonces KNN clasificará el círculo verde en la clase 2, ya que forma la mayoría.

El algoritmo K – Means es una técnica para agrupar datos sin etiquetar en grupos, esencialmente una técnica de aprendizaje no supervisada

El algoritmo de vecino más cercano K es una técnica para clasificar datos en un grupo conocido que esencialmente predice un valor de salida específico mediante el aprendizaje supervisado.

Ambos algoritmos son diferentes. La k en la K significa es el número de grupos en los que desea que se agrupen sus datos. La k en K Vecinos significa el número de vecinos en el Espacio Euclidiano con el que desea que se comparen sus nuevos datos para poder clasificarlos.

De la misma manera que el auto es diferente de la alfombra 🙂
kmeans no está supervisado y está agrupado. Knnis supervisados ​​y para clasificación.
Esa “k” en k significa no tiene absolutamente nada que ver con la “k” en knn. Mira Wikipedia y lo descubrirás.

More Interesting

¿Hay alguna plataforma que genere automáticamente informes de información para los usuarios a partir de una tabla de estadísticas?

¿Necesito ser un analista de datos para obtener un trabajo en el campo de aprendizaje automático?

¿Cuál es un ejemplo de cómo usaste la ciencia de datos para resolver un problema, tomar una decisión u optimizar algo en tu vida personal?

¿Cuál es el propósito de los servicios de transformación de datos?

¿Puedo convertirme en un científico de datos sin aprender Python, pero solo con conocimientos de programación Java y aprendiendo el lenguaje R?

¿Qué tipo de información puede generar a través de los datos de tema de Facebook entregados a través de Datasift?

¿Es aconsejable doble especialización en matemáticas y ciencia de datos si quiero investigar en inteligencia artificial y neurociencia?

¿Cuál es el mayor problema de big data en el mundo que se ha resuelto?

¿El comercio de alta frecuencia y la ciencia de datos comparten muchas similitudes?

A medida que la tecnología está cambiando tan rápido, ¿una maestría en ciencia de datos será de algún valor en los próximos años?

¿Cómo se usa el SNA (Social Network Analysis) para combatir el fraude o las transacciones fraudulentas?

¿Qué es la curva ROC?

¿Cómo abordaría un nuevo trabajo de TI (software flexible, ciencia de datos) en una empresa muy grande donde se supone que todas las personas son muy hábiles?

Acabo de obtener un trabajo de desarrollador QlikView, ¿puedo considerar que estoy en una carrera de ciencia de datos?

Al entrenar un modelo de ML, ¿debo descartar los datos que tienen características faltantes o debo usar un valor medio para esos valores faltantes?