Вы находитесь на странице: 1из 4

KNN

Miguel Crdenas-Montes
K-Nearest Neighbors es una de las tcnicas ms populares para la clasificacin de objetos. Su baja complejidad matemtica lo hacer muy til
como ejemplo de iniciacin a los algoritmos supervisados.

Objetivos:
Conocer el uso prctico de la tcnica de clasificacin denominada
KNN, sus fortalezas y debilidades, as como sus variantes.

KNN

Este documento puede contener imprecisiones o errores. Por favor no lo utilice


para citarlo como una fuente fiable.

La tcnica denominada K-Nearest Neighbors (K-vecinos ms prximos), KNN, es una tcnica de clasificacin supervisada que se utiliza
principalemente para clasificacin, pero tambin se puede utilizar para
regresin.
La idea que fundamenta este algoritmo es que el nuevo objeto se
clasificar en la clase ms frecuente de sus K vecinos ms prximos.
Una representacin grfica se presenta en la figura 1. Para resolver
los casos de empate, se puede aadir alguna regla heurstica como
puede ser el vecino ms prximo. En caso de empate, ser el vecino ms
prximo el que marque la clase del nuevo objeto.
Figura 1: Ejemplo visual de clasificacin
para dos valores de K diferentes. Si K =
3, el crculo verde ser clasificado como
tringulo rojo. Por el contrario si K = 5,
entonces el crculo verde ser clasificado
como cuadrado azul.

Tal y como se ha expresado en la figura 1, la mayora de de clases


en los vecinos marcar la clase del objeto que est siendo clasificado.
Si la eleccin es K = 1, la asignacin ser por el vecino ms prximo.
Esta eleccin hace que el algoritmo de clasificacin sea muy sensible a
los puntos ruidosos. Por ello se debe elegir un valor de K > 1. Por otro
lado, un valor pequeo de K har que el algoritmo sea muy rpido.
Por el contrario, si el valor de K es muy grande, entonces se considerarn puntos muy alejados del objeto a clasificar. Por lo tanto se

La complejidad computacional de KNN


cuando es usado tal y como se ha presentado es de O[ D N ]; siendo N el nmero de tuplas y D su dimensionalidad
(nmero de caratersticas).

incluir informacin no relevante o errnea para el objeto que se est


clasificando. En este caso, el algoritmo tendr un sesgo hacia las clases
ms frecuentes o populares.
Otra regla bsica es escojer un valor del parmetro K impar de forma que se evite tanto como sea posible los empates.
Otros algoritmos clasificatorios basan la clasificacin de cada nuevo
caso en dos tareas. Primero se induce el modelo clasificatorio (induccin),
y posteriormente, se deduce la clase del nuevo caso (deduccin). Sin
embargo, en KNN ambas tareas estn unidas (transduccin).

Figura 2: Ejemplo de datos (150 objetos)


perteniences a tres clases.

4.5

4.0

3.5

3.0

2.5

2.0
4.5

Figura 3: El conjunto de datos de la figura 2 se utiliza para estudiar la variacin


del nmero de clasificaciones correctas.
Consecutivamente se quita un objeto del
conjunto, se entrena KNN con el conjunto restante y se predice la clase del elemento sustrado. Realizando esta operacin para todos los puntos con diferentes valores de K se puede apreciar que el
nmero de clasificaciones correctas depende del valor de K. Se observa como
un valor par de K produce menos clasificaciones correctas que sus vecinos impares. Adems se observa un rango de
valores de K donde se producen los valores ptimos.

5.0

5.5

6.0

6.5

7.5

7.0

8.0

122
120
118
116
114
112
110
108
106
0

10

K vecinos

15

20

25

Figura 4: Variacin del nmero de clasificaciones incorrectas en funcin del valor de K para los datos de la figura 2. De
nuevo el mayor nmero de errores en la
clasificacin se obtiene para valores pares de K. Esta figura es la complementaria de la figura 3.

44
42
40
38
36
34
32
30
28
0

10

K vecinos

15

20

25

Variantes de KNN

2.1 KNN con Rechazo


La idea de esta modificacin es asegurar la clasificacin con ciertas
garantas. De esta forma se aaden criterios para la clasificacin. Por
ejemplo, si se tienen m clases, entonces para clasificar cualquier objeto,
se require que haya una mayora robusta de la clase ganadora.
Por ejemplo, si hay 3 clases y se utiliza K = 9, se establece un umbral
mnimo para la clase ganadora de 5 votos.

2.2 KNN con Distancia Media


En esta variacin se aplica idea de la ms baja distancia media entre
los K puntos utilizados en la clasificacin. Por ejemplo, si se aplica
esta variacin al ejemplo de la figura 1 con K = 5, entonces el objeto se
clasificar como tringulo rojo, a pesar de ser esta la clase minoritaria.

2.3 KNN con Distancia Mnima


En esta variante se comienza por la seleccin de un caso por clase,
siendo este el ms cercano al baricentro de los elementos de dicha
clase. Con este procedimiento, se produce una reduccin del tamao
del problema desde el nmero de objetos al nmero de clases.
Una vez que se tienen los baricentros de cada clase, se asigna el
nuevo objeto a clasificar a la clase del baricentro ms cercano.

2.4 KNN con Pesado de Casos Seleccionados


En esta variante los K vecinos ms prximos no se contabilizan en
igualdad de conciones, sino que se tiene en cuenta la distancia de cada
uno de estos elementos al nuevo objeto a clasificar.

En KNN con rechazo los objetos pueden


quedar sin clasificar sino tienen las garantas de una clasificacin robusta.

Un peso posible en esta variante es el inverso de la distancia desde


el nuevo objeto a cada K vecino.

2.5 KNN con Pesado de Variables


En este caso, a algunas variables se les dan una mayor importancia
respecto a las otras variables. Por ejemplo, el peso de cada variable
se puede hacer a partir de la informacin mnima I ( Xi , C ) entre dicha
variable Xi y la variable clase C.

3 Reduccin de los Casos Iniciales


El algoritmo KNN tiene en su complejidad algortmica una elevada
dependencia del tamao del fichero de entrada. Para tratar de paliar
esta dependencia se han propuestos mtodos de reduccin del fichero
de entrada. Estas tcnicas se pueden clasificar en tcnicas de edicin y
en tcnicas de clasificacin.
En las tcnicas de edicin, a partir del conjunto inicial de datos se
produce un subconjunto reducido mediante la eliminacin de algunos
casos. Por el contrario, en las tcnicas de condesacin se obtiene un
conjunto reducido de datos mediante una seleccin adecuada de los
datos iniciales.

3.1 Edicin de Wilson


En esta tcnica se entrena un algoritmo KNN con los datos resultantes de eliminar un solo objeto. Si la prediccin de la clase del objeto
extrado coincide con su clase verdadera, el objeto es conservado para
el subconjunto final. Por el contrario, si no coincide la prediccin con
la clase verdadera, entonces el objeto es eliminado.

3.2 Condensacin de Hart


El mtodo de condensacin de Hart es
dependiente del orden en que se hayan
los objetos en el fichero de entrada.

En esta tcnica se promueve la seleccin de los casos ms atpicos.


As siguiendo el orden en que se encuentra almacenados los objetos
se construye un clasificador con los casos que se encuentran hasta ese
punto del fichero de entrada. Con el clasificador se predice la clase del
siguiente objeto. Si no coinciden ambas clases, entonces el objeto es
conservado.

Вам также может понравиться