スキップしてメイン コンテンツに移動

Entendiendo a los Vecinos Más Cercanos (k-NN) desde Cero

En el mundo del análisis de datos, los k Vecinos Más Cercanos (k-NN) tienen la reputación de ser fáciles de probar pero sorprendentemente profundos. Tienen muy pocos parámetros difíciles y son intuitivamente fáciles de entender, pero existen trucos inesperados para dominarlos en la práctica.

1. ¿Qué son los k Vecinos Más Cercanos?


Para una muestra desconocida dada, k-NN encuentra los k puntos (vecinos) más cercanos dentro del espacio de datos de aprendizaje. Luego utiliza un método simple: votación por mayoría de las etiquetas (para clasificación) o el promedio de los valores (para regresión) para predecir la respuesta. Puedes cambiar entre la distancia euclidiana, la distancia de Manhattan, la similitud del coseno y otras, dependiendo de las características del problema.

- Un k Demasiado Pequeño

Se vuelve sensible al ruido y propenso al sobreajuste (por ejemplo, k=1 es el más inestable).

- Un k Demasiado Grande

Crea límites demasiado suaves, arriesgándose a ignorar las diferencias sutiles entre las categorías (subajuste).

- Ajuste Empírico

El enfoque estándar es encontrar el k óptimo utilizando la validación cruzada.

- Peso del Escaneo Lineal

Si calculas la distancia a cada muestra cada vez, el tiempo de respuesta se vuelve severo cuando el número de puntos de datos supera los diez mil.

- Técnicas de Búsqueda Rápida

Puedes asegurar la escalabilidad utilizando KD-Tree, Ball-Tree, Vecinos Más Cercanos Aproximados (Annoy, Faiss), etc.

2. ¿Para Qué se Utiliza k-NN?


Las fortalezas de k-NN radican en su naturaleza libre de modelos, comportamiento intuitivo y versatilidad.

(1). Recomendación
   Puede utilizarse para el filtrado colaborativo basado en el cálculo de la similitud entre usuarios o elementos.

(2). Detección de Anomalías
   Aprende la distribución de las distancias a los vecinos cercanos de las muestras normales y detecta valores atípicos como puntos disimilares.

(3). Reconocimiento de Dígitos Escritos a Mano
   Calcula las distancias sobre la base de píxel por píxel y los clasifica en "dígitos familiares".

(4). Apoyo al Diagnóstico Médico
   Busca datos de pacientes similares y ayuda en el juicio basándose en los resultados del tratamiento de casos anteriores.

(5). Motor de Búsqueda de Imágenes
   Extrae "imágenes similares" calculando la distancia entre las imágenes vectorizadas por características.

De hecho, puede utilizarse tanto para la clasificación como para la regresión, y su rango de aplicación se expande dramáticamente al combinar definiciones de distancia y técnicas avanzadas de indexación.

3. Beneficios de Aprender a los Vecinos Más Cercanos


- La idea de cuantificar la similitud entre los puntos de datos es aplicable a la agrupación en clústeres, la detección de anomalías basada en la distancia e incluso los métodos kernel.

- Puedes confirmar su funcionamiento con solo unas pocas líneas de código, lo que te permite aprender fácilmente el flujo de preprocesamiento y evaluación del modelo.

- Puedes comprender intuitivamente los cambios en la precisión debido al ajuste de hiperparámetros (k y métrica de distancia).

- Puedes dominar las estructuras de datos espaciales, que son esenciales cuando se trabaja con datos a gran escala.

- Acelerar con bibliotecas de búsqueda aproximada es valioso en la recomendación y el análisis de big data.

- Si puedes entender k-NN simple, puedes pasar sin problemas a aplicar el aprendizaje de la distancia y los modelos lineales locales.

Si quieres aprender a los Vecinos Más Cercanos (Método del Vecino Más Cercano), recomendamos este libro (acceso aquí).

 

コメント

このブログの人気の投稿

Understanding the Modified Euler Method (Heun's Method) from Scratch

This article explains the basic concepts, applications, and benefits of learning the Modified Euler Method (Heun's Method). This method, a step forward from the simple Euler method, plays a very important role in the world of numerical analysis. 1. What is the Modified Euler Method (Heun's Method)? The Modified Euler Method, also known as Heun’s Method, is a numerical method for obtaining approximate solutions to initial value problems: dy/dt = f(t, y), y(t_0) = y_0 The traditional Euler method determines the next value, y_{n+1}, using only the slope of the tangent line at time t_n, namely f(t_n, y_n).  However, when the step size is large or the problem exhibits strong non-linearity, this can lead to significant errors. A key feature of Heun’s Method is its ability to achieve higher accuracy (local error of second order) through a two-stage evaluation process, improving upon the Euler method. 2. In What Scenarios is it Applied? Due to its simplicity and improved accuracy, Heun...

Lista de publicaciones del Dr. Mint (en inglés)

   Mint Publishing ha publicado los siguientes libros. Todos ellos son fáciles de entender y están cuidadosamente explicados para que puedas comprenderlos desde cero. Las siguientes series ya están disponibles.   Serie Inteligencia Artificial   Serie Matemáticas   Serie Física   Serie Procesamiento de Imágenes   Serie Cálculo y Análisis Numérico   Serie Python   Serie R Las series están organizadas de tal manera que puedes aprender de la que más te interese, o puedes empezar con el primer volumen de la serie en orden. Al ir y venir entre las series, el contenido es altamente sinérgico entre sí. A continuación se enumeran los libros. (Para más información sobre cada libro, visite la página del libro correspondiente).   Serie Inteligencia Artificial   [1]. Entendiendo los perceptrones : Una base para el aprendizaje profundo  (próximamente) [2]. Understanding the Improved Perceptron (El...

Understanding Reciprocal Functions from Scratch

The reciprocal function is one of the fundamental functions in mathematics, and despite its simplicity, it’s a powerful tool with applications in many fields thanks to its unique characteristics. This article will provide a detailed explanation of the definition and properties of reciprocal functions, explore the contexts in which they are used, and outline the benefits of learning about them. 1. What is a Reciprocal Function? A reciprocal function returns the reciprocal of a given real number.  - Graph Shape The graph of a reciprocal function forms a hyperbola, with values increasing or decreasing rapidly as it approaches the origin. It takes the shape of a hyperbola spanning the first and third quadrants, and has asymptotes at x = 0 and y = 0. Behind this simple equation lies the concept of a multiplicative inverse, which forms the foundation of basic algebra. 2. Where are Reciprocal Functions Used? Due to their fundamental nature and simplicity, reciprocal functions are used in ...