K vecinos más cercanos es uno de los algoritmos de clasificación más básicos y esenciales en Machine Learning. Pertenece al dominio del aprendizaje supervisado y encuentra una aplicación intensa en el reconocimiento de patrones, la minería de datos y la detección de intrusos.

estadísticas en machine learning

Definición

El algoritmo KNN es uno de los algoritmos de clasificación más simples, incluso con tal simplicidad puede dar resultados altamente competitivos. Pertenece al dominio de aprendizaje supervisado y puede ser utilizado para el reconocimiento de patrones, extracción de datos y detección de intrusos.

aprende fácilmente inteligencia artificial - newsletter

Es un clasificador robusto y versátil que a menudo se usa como un punto de referencia para clasificadores más complejos como las redes neuronales artificiales y vectores de soporte (SVM). A pesar de su simplicidad, KNN puede superar a los clasificadores más potentes y se usa en una variedad de aplicaciones tales como pronósticos económicos, compresión de datos y genética.

Este algoritmo consiste en seleccionar un valor de K. Al momento del análisis los K datos más cercanos al valor que se desea predecir será la solución.

Acá lo importante es seleccionar un valor de K acorde a los datos para tener una mayor precisión en la predicción.

knn

El clasificador KNN, por sus siglas en inglés, es también un algoritmo de aprendizaje no paramétrico y basado en instancias:

  • No paramétrico significa que no hace suposiciones explícitas sobre la forma funcional de los datos, evitando modelas mal la distribución subyacente de los datos. Por ejemplo, supongamos que nuestros datos son altamente no gaussianos, pero el modelo de Machine Learning que elegimos asume una forma gaussiana. En este caso, nuestro algoritmo haría predicciones extremadamente pobres.
  • El aprendizaje basado en la instancia significa que nuestro algoritmo no aprende explícitamente un modelo. En lugar de ello, opta por memorizar las instancias de formación que posteriormente se utilizan como “conocimiento” para la fase de predicción. Concretamente, esto significa que solo cuando se realiza una consulta a nuestra base de datos, es decir, cuando le pedimos que predique una etiqueta con una entrada, el algoritmo utilizará las instancias de formación para dar una respuesta.

Cabe señalar que la fase de formación mínima de KNN se realiza tanto a un coste de memoria, ya que debemos almacenar un conjunto de datos potencialmente enorme, como un coste computacional durante el tiempo de prueba, ya que la clasificación de una observación determinada requiere un agotamiento de todo el conjunto de dato. En la práctica, esto no es deseable, ya que normalmente queremos respuestas rápidas.

aprender a programar para machine Learning

Representación matemática de K Vecinos más Cercanos

Supongamos que Z es el punto el cual se necesita predecir. Primero, se encuentra el punto K más cercano a Z y luego se clasifican los puntos para el voto mayoritario de sus vecinos K. Cada objeto vota por su clase y la clase con más votos se toma como la predicción. Para encontrar los puntos similares más cercanos, se encuentra la distancia entre puntos utilizando medidas de distancias.

KNN

Una opción popular es la distancia euclidiana, pero también hay otras medidas que pueden ser más adecuadas para un entorno dado e incluyen la distancia de Mahattan y Minkowski.

KNN2

En resumen, KNN tiene los siguientes pasos básicos:

  • Calcular la distancia
  • Encontrar sus vecinos más cercanos
  • Votar por las etiquetas
historia de machine learning

¿Cómo se decide el número de vecinos en KNN?

Ya que conocemos cómo funciona este algoritmo, es momento de saber cómo se define K. El número de vecinos (K) es un hiperparámetro que se debe elegir en el momento de la construcción del modelo. Puedes pensar en K como una variable de control para el modelo de predicción.

La investigación ha demostrado que no existe un número óptimo de vecinos que se adapte a todo tipo de conjuntos de datos. Cada conjunto de datos tiene sus propios requisitos. Se ha demostrado que una pequeña cantidad de vecinos son los más flexibles, que tendrán un bajo sesgo, pero una alta varianza, y un gran número de vecinos tendrán un límite de decisión más suave, lo que significa una varianza más baja pero un sesgo más alto.

Generalmente, se recomienda elegir un número impar si el número de clases es par. También puede comprobar generando el modelo en diferentes valores de K y comprobar su rendimiento.

algebra lineal en machine learning

Ventajas

Las ventajas que tiene este algoritmo son las siguientes:

No paramétrico. No hace suposiciones explícitas sobre la forma funcional de los datos, evitando los peligros de la distribución subyacente de los datos.

Algoritmo simple. Para explicar, comprender e interpretar.

Alta precisión (relativa). Es bastante alta pero no competitiva en comparación con modelos de aprendizaje mejor supervisados.

Insensible a los valores atípicos. La precisión puede verse afectada por el ruido o las características irrelevantes.

Probabilidad en Machine learning

Desventajas

Las desventajas de este algoritmo son:

Basado en instancia. El algoritmo no aprende explícitamente un modelo, en su lugar, elige memorizar las instancias de capacitación que se utilizan posteriormente como conocimiento para la fase de predicción. Concretamente, esto significa que solo cuando se realiza una consulta a nuestra base de datos, es decir cuando le pedimos que prediga una etiqueta dada una entrada, el algoritmo usará las instancias de entrenamiento para escupir una respuesta.

Computacionalmente costoso. Porque el algoritmo almacena todos los datos de entrenamiento.

Requisito de memoria alta. Almacena todos (o casi todos) los datos de entrenamiento.

pregunta aprendeia

Respuesta a la pregunta del video

Opción 1: Predecir el tipo de flor de acuerdo a las características dadas. Respuesta Correcta. Con este algoritmo se puede predecir el tipo de flor de acuerdo a sus características, este es un algoritmo de clasificación.

Opción 2: Predecir si una acción de la bolsa de valores va a subir o bajar, utilizando los valores histórico. Respuesta Correcta. Con este algoritmo se puede predecir si una acción de la bolsa va a subir o bajar, ya que le predicción será clasificación.

Opción 3: Predecir si una persona puede vivir o morir en el hundimiento del Titanic tomando en cuenta la edad, sexo y ubicación de su cabina. Respuesta Correcta. Con este algoritmo se puede determinar si una persona puede vivir o morir el hundimiento del Titanic.

Si te llamo la atención todo este contenido y te animaste a empezar a estudiar Inteligencia Artificial, he desarrollado un curso que te ayudará, de igual forma a iniciar tu camino dentro de está tecnología. Este curso te sentará las bases y te dará más claridad para poder seleccionar el enfoque o área que más te interese sobre la Inteligencia Artificial, de igual forma te ayudará tener más claridad en muchos conceptos que seguramente en estos momentos te parece confusos. Este curso es ideal si apenas estás empezando. Si quieres más información puedes ingresar a este enlace.

2 comentarios en “K Vecinos más Cercanos – Teoría”

Deja un comentario

Tu dirección de correo electrónico no será publicada.