Parte 1 de una serie sobre algoritmos introductorios de aprendizaje automático
Si está familiarizado con el aprendizaje automático y los algoritmos básicos utilizado en el campo, entonces probablemente haya oído hablar del algoritmo de los k vecinos más cercanos, o KNN. Este algoritmo es una de las técnicas más simples que se utilizan en el aprendizaje automático. Es un método preferido por muchos en la industria debido a su facilidad de uso y bajo tiempo de cálculo.
¿Qué es KNN? KNN es un modelo que clasifica los puntos de datos en función de los puntos que más se le parecen. Utiliza datos de prueba para hacer una «suposición fundamentada» sobre cómo se debe clasificar un punto no clasificado.
Ventajas:
- Fácil de usar.
- Tiempo de cálculo rápido.
- No hace suposiciones sobre los datos.
Contras:
- La precisión depende de la calidad de la datos.
- Debe encontrar un valor k óptimo (número de vecinos más cercanos).
- Deficiente en la clasificación de puntos de datos en un límite donde pueden clasificarse de una forma u otra.
KNN es un algoritmo que se considera no paramétrico y un ejemplo de perezoso aprendizaje. ¿Qué significan exactamente estos dos términos?
- No paramétrico significa que no hace suposiciones. El modelo se compone enteramente de los datos que se le dan en lugar de asumir que su estructura es normal.
- El aprendizaje perezoso significa que el algoritmo no hace neralizaciones. Esto significa que hay poca capacitación involucrada al usar este método. Debido a esto, todos los datos de entrenamiento también se usan en las pruebas cuando se usa KNN.
Dónde usar KNN
KNN se usa a menudo en sistemas de recomendación simples, image tecnología de reconocimiento y modelos de toma de decisiones. Es el algoritmo que utilizan compañías como Netflix o Amazon para recomendar diferentes películas para ver o libros para comprar. Netflix incluso lanzó la competencia del Premio Netflix, otorgando $ 1 millón al equipo que creó el algoritmo de recomendación más preciso.
Es posible que se pregunte, «¿Pero cómo hacen esto estas empresas?» Bueno, estas empresas aplicarán KNN en un conjunto de datos recopilados sobre las películas que ha visto o los libros que compró en su sitio web. Estas empresas ingresarán los datos de sus clientes disponibles y los compararán con otros clientes que hayan visto películas similares. o compraron libros similares. Este punto de datos se clasificará como un perfil determinado según su pasado utilizando KNN. Las películas y los libros recomendados dependerán de cómo el algoritmo clasifique ese punto de datos.
La imagen de arriba muestra cómo funciona KNN cuando se trata de clasificar un punto de datos basado en un conjunto de datos dado. Se compara con sus puntos más cercanos. y se clasifica según los puntos más cercanos y similares. Aquí puede ver que el punto Xj se clasificará como W1 (rojo) o W3 (verde) en función de su distancia desde cada grupo de puntos.
La Ma thematics Behind KNN
Al igual que casi todo lo demás, KNN funciona gracias a las teorías matemáticas profundamente arraigadas que utiliza. Al implementar KNN, el primer paso es transformar los puntos de datos en vectores de características o su valor matemático. Luego, el algoritmo funciona encontrando la distancia entre los valores matemáticos de estos puntos. La forma más común de encontrar esta distancia es la distancia euclidiana, como se muestra a continuación.
KNN ejecuta esta fórmula para calcular la distancia entre cada punto de datos y los datos de prueba. Luego, encuentra la probabilidad de que estos puntos sean similares a los datos de la prueba y la clasifica según los puntos que comparten las probabilidades más altas.
Para visualizar esta fórmula, se vería así:
Conclusión
Ahora conoce los fundamentos de uno de los algoritmos de aprendizaje automático más básicos .Es un gran lugar para comenzar cuando se aprende a crear modelos basados en diferentes conjuntos de datos. Si tiene un conjunto de datos con muchos puntos diferentes e información precisa, este es un gran lugar para comenzar a explorar el aprendizaje automático con KNN.
Cuando desee comenzar a usar este algoritmo, tenga en cuenta estos tres puntos:
- Primero, busque un conjunto de datos con el que sea fácil trabajar, idealmente uno con muchos puntos diferentes y datos etiquetados.
- En segundo lugar, averigüe qué idioma será más fácil de usar para resolver el problema. Estoy más familiarizado con el uso de KNN en R, pero Python también es un lenguaje popular entre los profesionales del aprendizaje automático.
- En tercer lugar, investigue. Es importante aprender las prácticas correctas para usar este algoritmo para que pueda encontrar los resultados más precisos de su conjunto de datos.
Se han realizado varios estudios sobre cómo se puede mejorar este algoritmo. Estos estudios tienen como objetivo que pueda ponderar las categorías de manera diferente para hacer una clasificación más precisa. La ponderación de estas categorías varía según cómo se calcule la distancia.
En conclusión, este es un algoritmo fundamental de aprendizaje automático que es confiable por muchas razones, como facilidad de uso y tiempo de cálculo rápido. Es un buen algoritmo para usar al comenzar a explorar el mundo del aprendizaje automático, pero aún tiene margen de mejora y modificación.