K-Nearest Neighbor es un algoritmo de aprendizaje supervisado que clasifica nuevos casos basados en la distancia a los casos de entrenamiento más cercanos. Se utiliza en sistemas de recomendación, búsqueda semántica y detección de anomalías. KNN no aprende un modelo explícito sino que clasifica nuevos casos basados en la similitud de características a los k casos más cercanos.
1. Tópicos administrativos I
Algoritmos Supervisados-K-Nearest-
Neighbor
Msc- MST - Especialista en sistemas de información- ALFREDO A. DIAZ CLARO
Universidad Autónoma de Bucaramanga
3. K-
Nearest-
Neighbor
• K-Nearest-Neighbor es un algoritmo de clasificación (valores
discretos) o para predecir (regresión, valores continuos).
basado en instancia de tipo supervisado de Machine Learning.
• Usado en sistemas de recomendación, búsqueda semántica
y detección de anomalías.
4. k-Nearest Neighbor ?
• Basado en Instancia: No aprende
explícitamente un modelo (como en
Regresión Logística o árboles de
decisión).
• No paramétrico: No opera sobre el
patrón de distribución de datos
subyacente.
• Algoritmo perezoso (LAZY) KNN no
tiene un paso de entrenamiento
(aunque veremos algo parecido). Todos
los puntos de datos se usarán solo en el
momento de la predicción. el paso de
predicción es costoso.
• Utiliza la similitud de
características para predecir el clúster
en el que caerá el nuevo punto.
5. Campo
de
aplicación
• Se utiliza en la resolución de multitud de problemas, como en sistemas de
recomendación, búsqueda semántica y detección de anomalías.
• “Te mudaste a un nuevo barrio y quieres ser amigo de tus
vecinos. Empiezas a socializar con tus vecinos. Decide elegir vecinos que
coincidan con su pensamiento, intereses y pasatiempos. Aquí el
pensamiento, el interés y el hobby son características. Usted decide el
círculo de amigos de tu barrio en función de intereses, pasatiempos y
similitudes de pensamiento. Esto es análogo a cómo funciona KNN”
6. Ventajas y desventajas
• Es sencillo de aprender e
implementar.
• Utiliza todo el
dataset para entrenar
«cada punto» y por eso
requiere de uso de mucha
memoria y recursos de
procesamiento (CPU).
• kNN puedes funcionar
mejor en datasets
pequeños y sin una
cantidad enorme de
features (las columnas).
• Para reducir la cantidad
de dimensiones (features)
podemos aplicar PCA
7. Algoritmo • Calcula la distancia entre el item
a clasificar y el resto de items del
dataset de entrenamiento.
• Seleccionar los «k» elementos
más cercanos (con menor
distancia, según la función que se
use)
• Realizar una «votación de
mayoría» entre los k puntos: los
de una clase/etiqueta que
<<dominen>> decidirán su
clasificación final.
8. Decisión del cluster
• Para decidir la clase
de un punto es
importante el valor
de k, para definir a
qué grupo
pertenecerán los
puntos, en las
«fronteras» entre
grupos.
9. Las formas distancia en datos
contínuos son: distancia
Euclidiana, Mahattan,
Minkowski , Distancia
Hammingo la Cosine
Similarity (mide el ángulo
de los vectores, cuanto
menores, serán similares).