ia2 algoritmos clasificacion vecindad

50
Se dispone de un conjunto N de prototipos (muestras clasificadas) llamadas Conjunto de Entrenamiento. Tenemos que clasificar un nuevo caso X, no perteneciente al conjunto de entrenamiento. Existe una métrica entre los distintos objetos del espacio de representación. No se utiliza ninguna otra información acerca de las distribución de los parámetros estadísticos asociados al conjunto de entrenamiento.

Upload: carlos-roman

Post on 05-Jul-2015

4.403 views

Category:

Technology


1 download

DESCRIPTION

Algortimos de Clasificación por Vecindad

TRANSCRIPT

Page 1: Ia2 Algoritmos Clasificacion Vecindad

Se dispone de un conjunto N de prototipos (muestras clasificadas) llamadas Conjunto de Entrenamiento.Tenemos que clasificar un nuevo caso X, no perteneciente al conjunto de entrenamiento.Existe una métrica entre los distintos objetos del espacio de representación.No se utiliza ninguna otra información acerca de las distribución de los parámetros estadísticos asociados al conjunto de entrenamiento.

Page 2: Ia2 Algoritmos Clasificacion Vecindad

Algoritmos de clasificación por vecindad

Page 3: Ia2 Algoritmos Clasificacion Vecindad

Una técnica de clasificación supervisada.Precisan de la definición de una métrica que ayude a comprar las distancias entre los distintos objetos.Gozan de Simplicidad Conceptual: la clasificación de un nuevo espacio de representación se calcula en función de las clases, conocidas de antemano, de los puntos más próximos a él. Así las muestras pertenecientes a una clase se encontrarán próximas en el espacio de representación.

Page 4: Ia2 Algoritmos Clasificacion Vecindad

Las reglas de clasificación por vecindad están basadas en la búsqueda de un conjunto de los k prototipos más cercanos al patrón a clasificar. Se realiza una transducción: Hallándose implícito el modelo en los datos, y no realizándose una inducción + deducción como en otros algoritmos de clasificación.La regla de clasificación por los k vecinos más cercanos o simplemente k-NN (k nearest neighbors) establece que un nuevo caso será clasificado en la clase donde sus vecinos a quienes representa son los más cercanos.

Page 5: Ia2 Algoritmos Clasificacion Vecindad

Regla del vecino más próximo . Considerando un espacio de representación, el caso a ser clasificado tomará la clase que esté más cerca dentro de ese espacio.Regla de los K vecinos más próximos (K-NN) . El nuevo caso a ser clasificado se ubicará en la clase con más votos en el contexto de los K vecinos más cerca del conjunto de entrenamiento.

Page 6: Ia2 Algoritmos Clasificacion Vecindad
Page 7: Ia2 Algoritmos Clasificacion Vecindad

k–Vecinos más cercanos es uno de los métodos de aprendizaje basados en instancias más básicos, pero con resultados aceptables en tareas que involucran el análisis de texto. En resumen, este algoritmo no tiene una fase de entrenamiento fuera de línea, por lo tanto, el principal cálculo se da en línea cuando se localizan los vecinos más cercanos. 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 en éstos.

Page 8: Ia2 Algoritmos Clasificacion Vecindad

• Un nuevo caso se va a clasificar en la clase más frecuente a la que pertenecen sus K vecinos más cercanos• Idea muy simple

e intuitiva• Fácil implementación• No hay modelo

explícito• Case Based Reasoning(CBR)

Page 9: Ia2 Algoritmos Clasificacion Vecindad

COMIENZOEntrada: D = {(x1, c1), . . . , (xN, cN)} x = (x1, . . . , xn) nuevo caso a clasificarPARA todo objeto ya clasificado (xi, ci)

calcular di = d(xi, x)Ordenar di(i = 1, . . . ,N) en orden ascendenteQuedarnos con los K casos DKX ya clasificados

más cercanos a xAsignar a x la clase más frecuente en DKX

FIN

Page 10: Ia2 Algoritmos Clasificacion Vecindad
Page 11: Ia2 Algoritmos Clasificacion Vecindad
Page 12: Ia2 Algoritmos Clasificacion Vecindad

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. En resumen:

Page 13: Ia2 Algoritmos Clasificacion Vecindad
Page 14: Ia2 Algoritmos Clasificacion Vecindad

Para clasificar un caso exijo ciertas garantías• Si no las tengo puedo dejar el caso sin clasificar• Umbral

prefijado• Mayoría

absoluta

Page 15: Ia2 Algoritmos Clasificacion Vecindad

Para clasificar un caso exijo ciertas garantías• Si no las tengo puedo dejar el caso sin clasificar• Umbral

prefijado• Mayoría

absoluta

Page 16: Ia2 Algoritmos Clasificacion Vecindad

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:

Page 17: Ia2 Algoritmos Clasificacion Vecindad
Page 18: Ia2 Algoritmos Clasificacion Vecindad

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 cercano al nuevo caso. Seleccionar un caso por clase (ej. el más cercano 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

Page 19: Ia2 Algoritmos Clasificacion Vecindad

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

Page 20: Ia2 Algoritmos Clasificacion Vecindad

Basado en el hecho de que la vecindad de un caso se halla sujeta a dos restricciones:Debido a la utilización del criterio de distancia, los k vecinos de un caso X dado deben estar lo más cerca posible.Debido al criterio de simetría, su centroide debe estar lo más cerca posible al caso X.

Se enfoca básicamente en hallar los K vecinos con centroide más cercano a X

Page 21: Ia2 Algoritmos Clasificacion Vecindad
Page 22: Ia2 Algoritmos Clasificacion Vecindad

Al inicio no se tomaba en cuenta que no todas las variables inflluyen de la misma manera en la predicción de la clase, ni todos los casos aportan la misma información.

Page 23: Ia2 Algoritmos Clasificacion Vecindad

Suponiendo que los casos (x1, &1).......(xK.&k) son los k vecinos mas cercanos 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,1= 1,......,K que no tiene que ser el mismo para todos.

Page 24: Ia2 Algoritmos Clasificacion Vecindad

Para asocias los pesos a los K casos vecinos se deberia toma en cuenta que:

El voto que aporta un caso dado es inversamente proporcional a la distancia que se encuentra de la instancia a clasificar

Page 25: Ia2 Algoritmos Clasificacion Vecindad

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.

Page 26: Ia2 Algoritmos Clasificacion Vecindad

Consideromos un problema de clasificación en el que se han tenido en cuenta n varibles predictoras X1,X2,……,Xn, y que el peso atribuido a cada una de estas n variables es W1,W2,……,Wn. La distancia entre dos casos de este problema, x=(x1, x2,…,xn) e y=(y1, y2,…,yn) se calcula:

Page 27: Ia2 Algoritmos Clasificacion Vecindad

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 ambas es proporcional al logaritmo del número de clases, asuminedo que las instancias de cada una de las clases son iguelmente frecuentes.

El peso a obtener por la variable será proporcional al valor obtenido.

Page 28: Ia2 Algoritmos Clasificacion Vecindad

Determinar un conjunto de l pesos fijos, l<n, y asociarse a cad una de las variables algunos de estos pesos según el resultado de algún tipo de test.

l = 2l = 3 l = m

Page 29: Ia2 Algoritmos Clasificacion Vecindad

El costo computacional asociado a los algoritmos de clasificación por vecindad viene influenciado de froma cuadrática por el tamaño de la base de datos de entrenamiento.

A los casos que forman el subconjunto resultante de la reducción se los denomina "prototipos"

Page 30: Ia2 Algoritmos Clasificacion Vecindad

Problemas de selección de referencias y se los resuelve con algortimos de edición o reglas de edición

Algoritmos de Edición:

Reconocimiento de Patrones

Aprendizaje Automático

Page 31: Ia2 Algoritmos Clasificacion Vecindad

Como objetivos de los algoritmos de edición tenemos:

Reducir el costo computacional asociado a la aplicación de las reglas de vecindad

Incrementar el poder clasificatorio

Existen 3 aproximaciones cuando se emplea algoritmos de selección de prototipos

Filtrado de casos

Búsqueda estócastica

Ponderación de casos

Page 32: Ia2 Algoritmos Clasificacion Vecindad

La Técnica de selección de prototipos se suelen clasificar en:

Page 33: Ia2 Algoritmos Clasificacion Vecindad

Técnicas encaminadas a eliminar prototipos 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écnicas de edición)

Técnicas que se centran en seleccionar un subconjunto suficientemente representativo del conjunto de prototipos inicial (técnicas de condensación o condesado)

Page 34: Ia2 Algoritmos Clasificacion Vecindad

Lleva a la organización de prototipos en clusters pertenecientes a la misma clase.

Page 35: Ia2 Algoritmos Clasificacion Vecindad

Edición de Wilson :

Utiliza la técnica de validación Leaving-One-Out, que conssite en eliminar todos aquellos prototipos que resulten mal clasificados utilizando la regla K-NN. El principal inconveniente que tiene este algoritmo s el alto costo computacional.

Page 36: Ia2 Algoritmos Clasificacion Vecindad

ENN(Training set T): object set S1. S=T2. For each object Oi in S doa) Find the k nearest neighbors of Oi in S – {Oi}b) Remove Oi from S if its label disagrees with the classassociated with the largest number of k nearest neighbors3. Return S

Page 37: Ia2 Algoritmos Clasificacion Vecindad

Edición repetitiva:

Aprovecha los agrupamientos mas 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.

Page 38: Ia2 Algoritmos Clasificacion Vecindad

Edición con reetiquetado:

Se basa en reetiquetar determinados prototipos en función de la zona de representación en la que se encuentren.

En casos reales está estrategía no representa buenos resultados.

Page 39: Ia2 Algoritmos Clasificacion Vecindad

Edición con rechazo:

Se lo utiliza no solo en edición sino en clasificación también.

M M + 1

Page 40: Ia2 Algoritmos Clasificacion Vecindad

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 cojuntos de muestras amplios.

Page 41: Ia2 Algoritmos Clasificacion Vecindad

1. Inicialización: t ←02. Repetir hasta que en las últimas t iteraciones (t>f) no se produzcan ninguna eliminación de prototipos del conjunto X.2.1. Asignar a S el resultado de aplicar la Edición por Partición sobre X utilizando la regla NN2.2. Si no se ha producido ninguna nueva eliminación en el paso 2.1(�X�=�S�), hacer t ← t+1 e ir al paso 2.2.3. Asignar a X el contenido de S y hacer t ←0

Page 42: Ia2 Algoritmos Clasificacion Vecindad

Se pretende que la reducción de casos no afecte a la eficacia del clasificador

Condensado de HartCondensado ReducidoNearest Neighbour selectivoIB2 e IB3

Page 43: Ia2 Algoritmos Clasificacion Vecindad

Condensado de Hart:

Define la consistencia con respecto al conjunto de entrenamiento.

S es consistente con respecto a otro conjunto D, si al utilizar S como conjunto de entrenamiento, es posible clasificar los casos de D correctamente.

Page 44: Ia2 Algoritmos Clasificacion Vecindad

COMIENZOComo entrada disponemosLa base de entrenamientos D, conteniendo N casosInicializar al vacio el subconjunto S de prototiposPARA cada caso de D, HACERCOMIENZOSI la clase que le asigna al algoritmo NNtomando por modelo los prototipos de S es correctaENTONCESNo añadir el caso actual SSINOIncluir el caso actual en SFINComo salida, se obtiene el subconjunto de prototipos seleccionados, S FIN

Page 45: Ia2 Algoritmos Clasificacion Vecindad

Condensado Reducido

Se pretende eliminar del conjunto consistente obtenido a partir del condesado de Hart.

No asegura la consecusión del algoritmo minimal consistente.

Page 46: Ia2 Algoritmos Clasificacion Vecindad
Page 47: Ia2 Algoritmos Clasificacion Vecindad

COMIENZOComo entrada disponemos de:La base de entrenamientos D, conteniendo N casosInicializar al vacio el subconjunto S de prototiposInicializar el subconjunto auxiliar T a XMIENTRAS T sea diferente de S HACERCOMIENZOObtener el subconjunto S de prototipo mediante el condensado de Hart sobre TAux = SPARA cada caso de D, HACERCOMIENZOSI la clase que le asigna al algoritmo NN a todos los casos de Ttomando por modelo los prototipos de S/Xi es correctaENTONCESEliminar caso actual SSINOMantener el caso actual en SFINT = AuxFINComo salida, se obtiene el subconjunto de prototipos seleccionados, S FIN FIN

Page 48: Ia2 Algoritmos Clasificacion Vecindad

Nearest Neighbour selectivo

El subconjunto 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.

Page 49: Ia2 Algoritmos Clasificacion Vecindad

IB2 e IB3:

IB2 guarda sólo los casos mal clasificados utilizando el algoritmo NN.

IB3 utiliza instancias aceptables como prototipos, se selecciona previamente instancias no ruidosas de la BD y luego se reduce el conjunto resultante. Sólo un subconjunto de éstas será utilizado en el proceso de clasificación.

Page 50: Ia2 Algoritmos Clasificacion Vecindad

[1]http://iie.fing.edu.uy/ense/asign/recpat/material/tema3_00-01/node6.html[2] Aprendizaje Automático: conceptos básicos y avanzados (2006), Basilio Sierra Araujo. T. Joachims. Text categorization with support vector machines: Learning with many relevant features. In Proceedings of the Tenth European Conference on Machine Learning (ECML’98) , Lecture Notes in Computer Science, Number 1398, pp. 137-142, 1998. [3] www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9s.pdf[4] www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t9knn.pdf[5] www.nebrija.es/~cmalagon/inco/ejercicios%20y%20practicas/Ejercicios_knn.pdf