Miguel Cárdenas-Montes 1 KNN

Anuncio
KNN
Miguel Cárdenas-Montes
K-Nearest Neighbors es una de las técnicas más populares para la clasificación de objetos. Su baja complejidad matemática lo hacer muy útil
como ejemplo de iniciación a los algoritmos supervisados.
Objetivos:
Conocer el uso práctico de la técnica de clasificación denominada
KNN, sus fortalezas y debilidades, así como sus variantes.
1
KNN
Este documento puede contener imprecisiones o errores. Por favor no lo utilice
para citarlo como una fuente fiable.
La técnica denominada K-Nearest Neighbors (K-vecinos más próximos), KNN, es una técnica de clasificación supervisada que se utiliza
principalemente para clasificación, pero también se puede utilizar para
regresión.
La idea que fundamenta este algoritmo es que el nuevo objeto se
clasificará en la clase más frecuente de sus K vecinos más próximos.
Una representación gráfica se presenta en la figura 1. Para resolver
los casos de empate, se puede añadir alguna regla heurística como
puede ser el vecino más próximo. En caso de empate, será el vecino más
próximo el que marque la clase del nuevo objeto.
Figura 1: Ejemplo visual de clasificación
para dos valores de K diferentes. Si K =
3, el círculo verde será clasificado como
triángulo rojo. Por el contrario si K = 5,
entonces el círculo verde será clasificado
como cuadrado azul.
Tal y como se ha expresado en la figura 1, la mayoría de de clases
en los vecinos marcará la clase del objeto que está siendo clasificado.
Si la elección es K = 1, la asignación será por el vecino más próximo.
Esta elección hace que el algoritmo de clasificación sea muy sensible a
los puntos ruidosos. Por ello se debe elegir un valor de K > 1. Por otro
lado, un valor pequeño de K hará que el algoritmo sea muy rápido.
Por el contrario, si el valor de K es muy grande, entonces se considerarán 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 número de tuplas y D su dimensionalidad
(número de caraterísticas).
2
m
m
incluirá información no relevante o errónea para el objeto que se está
clasificando. En este caso, el algoritmo tendrá un sesgo hacia las clases
más frecuentes o populares.
Otra regla básica es escojer un valor del parámetro K impar de forma que se evite tanto como sea posible los empates.
Otros algoritmos clasificatorios basan la clasificación de cada nuevo
caso en dos tareas. Primero se induce el modelo clasificatorio (inducción),
y posteriormente, se deduce la clase del nuevo caso (deducción). Sin
embargo, en KNN ambas tareas están unidas (transducción).
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 variación
del número de clasificaciones correctas.
Consecutivamente se quita un objeto del
conjunto, se entrena KNN con el conjunto restante y se predice la clase del elemento sustraído. Realizando esta operación para todos los puntos con diferentes valores de K se puede apreciar que el
número de clasificaciones correctas depende del valor de K. Se observa como
un valor par de K produce menos clasificaciones correctas que sus vecinos impares. Además 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
5
10
K vecinos
15
20
25
k
n
n
3
Figura 4: Variación del número de clasificaciones incorrectas en función del valor de K para los datos de la figura 2. De
nuevo el mayor número de errores en la
clasificación 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
2
5
10
K vecinos
15
20
25
Variantes de KNN
2.1 KNN con Rechazo
La idea de esta modificación es asegurar la clasificación con ciertas
garantías. De esta forma se añaden criterios para la clasificación. Por
ejemplo, si se tienen m clases, entonces para clasificar cualquier objeto,
se require que haya una mayoría robusta de la clase ganadora.
Por ejemplo, si hay 3 clases y se utiliza K = 9, se establece un umbral
mínimo para la clase ganadora de 5 votos.
2.2 KNN con Distancia Media
En esta variación se aplica idea de la más baja distancia media entre
los K puntos utilizados en la clasificación. Por ejemplo, si se aplica
esta variación al ejemplo de la figura 1 con K = 5, entonces el objeto se
clasificará como triángulo rojo, a pesar de ser esta la clase minoritaria.
2.3 KNN con Distancia Mínima
En esta variante se comienza por la selección de un caso por clase,
siendo este el más cercano al baricentro de los elementos de dicha
clase. Con este procedimiento, se produce una reducción del tamaño
del problema desde el número de objetos al número de clases.
Una vez que se tienen los baricentros de cada clase, se asigna el
nuevo objeto a clasificar a la clase del baricentro más cercano.
2.4 KNN con Pesado de Casos Seleccionados
En esta variante los K vecinos más próximos 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 garantías de una clasificación robusta.
4
m
m
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 información mínima I ( Xi , C ) entre dicha
variable Xi y la variable clase C.
3 Reducción de los Casos Iniciales
El algoritmo KNN tiene en su complejidad algorítmica una elevada
dependencia del tamaño del fichero de entrada. Para tratar de paliar
esta dependencia se han propuestos métodos de reducción del fichero
de entrada. Estas técnicas se pueden clasificar en técnicas de edición y
en técnicas de clasificación.
En las técnicas de edición, a partir del conjunto inicial de datos se
produce un subconjunto reducido mediante la eliminación de algunos
casos. Por el contrario, en las técnicas de condesación se obtiene un
conjunto reducido de datos mediante una selección adecuada de los
datos iniciales.
3.1 Edición de Wilson
En esta técnica se entrena un algoritmo KNN con los datos resultantes de eliminar un solo objeto. Si la predicción de la clase del objeto
extraído coincide con su clase verdadera, el objeto es conservado para
el subconjunto final. Por el contrario, si no coincide la predicción con
la clase verdadera, entonces el objeto es eliminado.
3.2 Condensación de Hart
El método de condensación de Hart es
dependiente del orden en que se hayan
los objetos en el fichero de entrada.
En esta técnica se promueve la selección de los casos más atípicos.
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.
Descargar