¡He estado aprendiendo sobre esto recientemente!
El algoritmo de vecinos más cercanos a K se utiliza en la agrupación.
La agrupación es la práctica de tomar puntos de datos en un gráfico (mucho más fácil en 1D o 2D) y asignarlos lógicamente a grupos.
- En programación, ¿un generador de números aleatorios es realmente aleatorio? ¿O son los números aleatorios generados por un algoritmo oculto?
- ¿Hay algoritmos con complejidad [math] \ mathcal {O} [/ math] [math] (\ sqrt {\ log (n)}) [/ math]?
- ¿Cuál es la diferencia entre las funciones recursivas estáticas y las funciones recursivas no estáticas C / C ++?
- ¿Qué institutos mejor C o estructuras de datos o facultad en Hyderabad?
- ¿Debería un desarrollador autodidacta centrarse en algoritmos o proyectos paralelos para conseguir un trabajo?
En este gráfico, podemos ver tres grupos bastante obvios. A cada uno se le asigna un grupo. Por ejemplo, podrían ser tres grupos diferentes en un ensayo de drogas.
La inteligencia artificial no es buena para reconocer grupos como nosotros, por lo que uno de los algoritmos que utilizamos para ayudarlos es K-Nearest Neighbours.
Cuando agregamos un nuevo punto al gráfico, observamos sus K vecinos más cercanos donde K es un número entero (extraño, para evitar sorteos). Cada uno de esos puntos ya debe tener una clasificación (de usos anteriores), y asignamos el nuevo punto al grupo que ocupa la mayoría de sus vecinos.
Por ejemplo, si asigno un punto alrededor de (-4,6) (en ese grupo superior derecho), sus vecinos más cercanos están todos en ese grupo (Digamos A), por lo que decimos que también pertenece a A.
Sin embargo, si asignara un punto para estar en (1,5), estaría mucho más cerca y de un vistazo, no podemos decir que obviamente es parte de cualquier grupo.
Podemos modificar esto en KNN ponderado a distancia (bastante autoexplicativo), y el algoritmo K-means es similar (el centro de cada grupo se mueve de acuerdo con los valores medios de las cosas en su grupo. KNN determina la pertenencia al grupo) .