II. MARCO TEÓRICO
2.2. Bases Teóricas
2.2.3 Algoritmo de k vecinos más próximos K-NN (Clasificación
2.2.3.1 K-Vecinos más próximos (K-Nearest Neighbour)
En este tema vamos a estudiar un paradigma clasificatorio conocido como K-Vecinos más próximos (K-Nearest Neighbour). La idea básica sobre la que se fundamenta este paradigma es que un nuevo caso se va a clasificar en la clase más frecuente a la que pertenecen sus K vecinos más próximos. El paradigma se fundamenta por tanto en una idea muy intuitiva, lo que unido a su interesante implementación hace que sea un paradigma clasificatorio muy extendido que consiste, primero en definir una medida de distancia entre puntos, habitualmente la distancia de Euclidiana, segundo calcular las distancias del punto a clasificar, x0, a todos los puntos de la muestra,
tercero seleccionar los k puntos muéstrales más próximos al que pretendemos clasificar. Luego calcular la proporción de estos k puntos que pertenece a cada una de las poblaciones, finalmente clasificar el punto x0 en la población con mayor frecuencia de puntos entre los k.
Este método se conoce como k−vecinos próximos. En el caso particular de k = 1 el método consiste en asignarle a la población al
que pertenece el elemento más próximo. Un problema clave de este método es claramente la selección de k. Una práctica habitual es tomar k=√ng donde ng es un tamaño de grupo promedio. Otra
posibilidad es probar con distintos valores de k, aplicárselo a los puntos de la muestra cuya clasificación es conocida y obtener el error de clasificación en función de k. Escoger aquel valor de k que conduzca al menor error observado.
a. Regla K-NN básico.
K-Vecinos más próximos es uno de los métodos de aprendizaje basados en instancias más básicas. La idea en el algoritmo es almacenar el conjunto de entrenamiento, de modo tal que para clasificar una nueva instancia, se busca en los ejemplos almacenados casos similares y se asigna la clase más probable a estos. Un nuevo caso se va a clasificar en la clase más frecuente a la que pertenecen sus k vecinos más próximos. Idea muy simple e intuitiva. Fácil implementación. No hay modelo explícito. Case Based Reasoning (CBR)
Algoritmo K-NN
b. Variantes del algoritmo K-NN básico
Entre las principales variantes tenemos: K-NN con rechazo, K-NN con distancia media, K-NN con distancia mínima, K-NN con pesado de vecinos, K-NN con pesado de variables.
b.1 K- NN con rechazo
Regla k-NN con rechazo. Se toma en cuenta un nivel fijado con anterioridad que sirve como referencia para que cuando una clase tiene un mayor número de votos que ese nivel, entonces la clase podrá ser asignada. Ese nivel puede tomar un valor entre K/M y K, K es el número de vecinos más próximos y M es el total de clases.
K_NN con rechazo, K=5, U=2: Para clasificar un caso exijo ciertas garantías. Si no lo tengo puedo dejar el caso sin clasificar. Umbral prefijado. Mayoría absoluto.
b.2 K_NN con distancia media.
Regla k-NN por distancia media. Un caso es clasificado en una clase si es que el valor de la distancia media es el menor con respecto al de las otras clases. Ejemplo.
b.3 K_NN con distancia mínima
Clasificador de la distancia mínima. Primero se selecciona un representante para cada clase. Luego la tarea consiste en clasificar al nuevo caso en la clase cuyo vecino es el más próximo al nuevo caso. Seleccionar un caso por clase (ej. El más próximo al baricentro de la clase). Reducción de la dimensión del fichero almacenado de N a m. Ejecutar un 1- NN a dicho fichero reducido. Se toma un caso presentante de cada posible valor, luego se mide distancias y se asigna la clase del que tenga distancia más corta.
b.4 K-NN con pesado de vecinos (casos)
Suponiendo que los casos (x1,&1),… (xk,&k) son los k vecinos más próximos a un caso x a clasificar, en un problema de clasificación con M clases al caso x se le asignara la clasificación más vota de entre
estos vecinos, teniendo en cuenta que cada voto viene ponderado por un peso Wi, i = 1,….k que no tiene que ser el mismo para todos.
Para asociar los pesos a los K vecinos se debe tomar en cuenta que. El voto que aporta un caso dado es inversamente proporcional a la distancia que se encuentra de la instancia a clasificar.
Voto fijo según el orden de vecindad. Voto ponderado según las prioridades a priori de las clases a las que pertenece los datos en caso de empate. De este modo, en caso de empate se elige la clase menos probable, ya que es la que menos peso tiene.
b.5 K-NN con pesado de variables
Consideremos un problema de clasificación en el que se ha tenido en cuenta n variables predictores x1,x2,…xn, y que el peso atribuido a
cada una de esta n variable es W1,W2,…,Wn. La distancia entre dos
casos de este problema, x=(x1,x2,…,xn) e y=(y1,y2,…yn) se calcula.
El peso asociado a cada variable X viene determinado por la medida de la información mutua entre ella y la variable a clasificar C. Si una variable determina exactamente la clase, la información mutua entre ambos es proporcional al logaritmo del número de clases, asumiendo que las instancias de cada una de las clases son igualmente frecuentes. El peso a obtener por la variable será proporcional al valor. Determinar un conjunto de pesos fijos l<n, y asociarse a cada una de las variables, algunos de estos pesos según el resultado de algún tipo de test.
c. Selección de casos
La Técnica de selección de casos se suelen clasificar en; Técnicas encaminadas a eliminar casos erróneamente clasificados del conjunto de entrenamiento, y a la vez, eliminar los posibles solapamientos entre regiones de clases distintas en el espacio de representación (técnica de edición). Técnicas que se centran en seleccionar un subconjunto suficientemente representativo del conjunto de casos inicial (técnicas de condensación o condensada).
c.1. Técnicas de Edición:
Lleva a la organización de casos en clúster pertenecientes a la misma clase.
o Edición de Wilson: Utiliza la técnica de validación Leaving-One- Out, que consiste en eliminar todos aquellos casos que resulten mal clasificados utilizando la regla K-NN. El principal inconveniente que tiene este algoritmo es el alto costo computacional.
o Edición repetitiva: Aprovecha los agrupamientos más o menos compactos que proporciona el método de edición de Wilson. No es una mejora significativa ya que aumenta el costo computacional por ser repetitivo.
o Edición con re etiquetado: Se basa en re etiquetar determinados casos en función de la zona de representación en la que se
encuentren. En casos reales esta estrategia no representa buenos resultados.
o Edición con rechazo: Se utiliza no solo en edición sino en clasificación también. M M +1.
o Multiedit: Se aplica repetidamente el proceso de edición por partición pero con: K=1 (1-NN). Los esquemas de edición basados en particiones se usan para conjuntos de muestras amplias.
c.2. Técnicas de Condensado:
Se pretende que la reducción de casos no afecte a la eficiencia del clasificado
o Condensador de Hart: Define la consistencia con respecto al conjunto de entrenamientos es consistente con respecto a otro conjunto D, si al utilizar S como conjunto de entrenamiento, es posible clasificar los casos D correctamente.
o Condensado Reducido: Se pretende eliminar del conjunto
consistente obtenido a partir del condesado de Hart. No asegura la consecución del algoritmo mínima consistente
o Nearest Neighbour selectivo: El sub conjunto que se obtiene es el subconjunto más pequeño que contiene al menos una instancia de cada una de las relaciones de este tipo que aparecen en el conjunto de entrenamiento.
o IB2 E IB3: IB2 guarda sólo los casos mal clasificados utilizando el algoritmo NN. IB3 utiliza instancias aceptables como casos, se selecciona previamente instancias no ruidosas de la BD y luego se reduce el conjunto resultante. Sólo un subconjunto de estas será utilizado en el proceso de clasificación.