K-Nearest Neighbour es una idea muy hermosa y simple para la clasificación y los problemas de regresión.
Aquí está el procedimiento simple que seguimos en KNN.
- A la idea principal detrás de KNN se le da un punto de consulta, veremos los k vecinos y luego nuestro objeto se clasifica por mayoría de votos de sus vecinos, y el objeto se asigna a la clase más común entre sus k vecinos más cercanos. Ejemplo let k-3,
- Cómo resolver este problema DP (http://codeforces.com/gym/101061/problem/F)
- Cómo instalar accesorios de compresión en tubos de plástico
- ¿Cuáles son las diferencias entre algoritmos y pseudocódigo?
- ¿Cuál es el mejor método de clasificación para usar si solo un elemento está fuera de servicio?
- ¿Qué algoritmos pueden ordenar los datos que se dividen en varias máquinas?
- Para encontrar los vecinos K más cercanos, podemos usar diferentes medidas de distancia: Euclidiana, Manhathan, Hamming, Jaccard, Levenshtein.
- Una solución simple es buscar linealmente todos los puntos originales calculando la distancia al punto de consulta, pero a medida que aumenta la dimensionalidad, esto da la peor complejidad de tiempo.
- Si la dimensionalidad no es tan grande, podemos usar alguna estructura de datos útil como kd-tree, r-trees para encontrar los puntos en el tiempo sub-lineal. Pero a medida que d aumenta no. de la región que tenemos que mirar se convirtió en muy alta complejidad es asequible. Para ser franco, Kd-tree está diseñado para gráficos de computadora porque solo tenemos que trabajar en pantallas 2d-3d. Hay algunas extensiones de Kd-tree que funcionan bastante bien para el aprendizaje automático, como ball_tree. Siéntase libre de visitar kd tree – Wikipedia para más detalles.
- Para un conjunto de datos dimensionales más altos, podemos usar la estructura de datos probabilística LSH.LSH (hashing sensible a la localidad) combina elementos de entrada para que los elementos similares se asignen a los mismos “cubos” con alta probabilidad (el número de cubos es mucho más pequeño que el universo de posibles artículos de entrada).
LSH promete dar buena complejidad de tiempo con alta probabilidad.
Entonces, hasta ahora cubrimos cómo funciona el algoritmo K-NN, profundicemos y comprendamos cómo podemos construir un modelo de clasificación simple usando K-NN.
- El primer problema al construir nuestro modelo es cómo encontrar el valor correcto de k.
- Para encontrar K podemos simplemente dividir nuestro conjunto de datos en tres partes, D-Train (60%), D-Cross validate (20%) y D-Test (20%). Podemos entrenar nuestro modelo usando k = 1 a N y podemos hacer una validación cruzada para encontrar el valor correcto de KK que obtendremos es el punto de error más bajo.
- Una vez que tenemos nuestra K, podemos construir fácilmente nuestro modelo y probarlo usando nuestra prueba D.
Espero que esto haya sido útil, pronto subiré el enlace de github de la muestra de código, para que comprenda mejor el concepto.
Gracias.
No olvides presionar el botón de votar.
Fuente: Curso de IA aplicada: es una gran plataforma para los cursos en línea de Machine Learning y Google
Edición 1 : K-NN general se considera un algoritmo vago en Machine Learning, porque memoriza ejemplos de capacitación en lugar de esforzarse por modelar los datos.
Un algoritmo típico de aprendizaje automático (ML), que se considera que no es un estudiante perezoso, pasa por el proceso de descubrir características relevantes y sus niveles relativos de importancia a partir de los datos de entrenamiento.