Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido...

53
Contenido Introducci ´ on Estrategias de usqueda Evaluaci ´ on de Subconjuntos Algoritmos Construcci ´ on de atributos Selecci ´ on de Atributos Eduardo Morales, Jes´ us Gonz ´ alez INAOE Mayo, 2010 (INAOE) Mayo, 2010 1 / 53

Transcript of Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido...

Page 1: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Seleccion de Atributos

Eduardo Morales, Jesus Gonzalez

INAOE

Mayo, 2010

(INAOE) Mayo, 2010 1 / 53

Page 2: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Contenido

Contenido

1 Contenido

2 Introduccion

3 Estrategias de busqueda

4 Evaluacion de Subconjuntos

5 Algoritmos

6 Construccion de atributos

(INAOE) Mayo, 2010 2 / 53

Page 3: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

• A partir de los atributos originales selecciona unsubconjunto de estos

• Ventajas esperadas:1 Mejorar el desempeno predictivo2 Construir modelos mas eficientemente3 Mejorar entendimiento sobre los modelos generados

(INAOE) Mayo, 2010 3 / 53

Page 4: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

• Aplicaciones recientes en textos o en seleccion degenes ilustran claramente la necesidad de reducir elnumero de atributos

• Aunque muchos atributos pueden traer un mayor poderdiscriminativo, en la practica, una cantidad excesiva deatributos retrasa significativamente el proceso deaprendizaje y puede producir sobre-ajustes

• La meta es seleccionar el subconjunto S mas pequenode todos los atributos F , tal que P(C|S) ≈ P(C|F )

(INAOE) Mayo, 2010 4 / 53

Page 5: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

• Osea, seleccionar el subconjunto mas pequeno deatributos tal que no se afecte significativamente elporcentage de clasificacion y que la distribucion declases resultante sea lo mas parecido posible a laoriginal

• Un atributo es irrelevante si no afecta de ninguna formaal concepto meta

• Un atributo es redundante si no anade nada nuevo alconcepto meta

• Un atributo se considera relevante si no es irrelevante oredundante.

(INAOE) Mayo, 2010 5 / 53

Page 6: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

El proceso de seleccion de atributos involucra 4 pasos:

1 Generacion de candidatos (subconjuntos), lo cualinvolucra una estrategia de busqueda

2 Evaluacion de candidatos (subconjuntos), lo cualrequiere un criterio de evaluacion

3 Criterio de paro: Este puede darse por la estrategia debusqueda, el numero de iteraciones realizadas, elnumero de atributos seleccionados, el que no semejore el criterio de evaluacion al anadir/quitar otroatributo, que el error de clasificacion este por debajo aun umbral, etc.

4 Validacion de resultados: Ya sea contra atributosconocidos como relevantes o comparando el error en laclasificacion con y sin la seleccion de atributos.

(INAOE) Mayo, 2010 6 / 53

Page 7: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

En general, los algoritmos de seleccion de atributos sedistinguen por su forma de evaluar atributos y los podemosclasificar en tres:

1 Filtros (filters): seleccionan/evaluan los atributos enforma independiente del algoritmo de aprendizaje (verfigura 1).

2 Wrappers: usan el desempeno de algun clasificadorpara determinar lo deseable de un subconjunto (verfigura 2).

3 Hıbridos: usan una combinacion de los dos criterios deevaluacion en diferentes etapas del proceso debusqueda.

(INAOE) Mayo, 2010 7 / 53

Page 8: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Esquema de Algoritmos tipo filter .

Figura: Esquema generico de algoritmos tipo filter.

(INAOE) Mayo, 2010 8 / 53

Page 9: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Esquema de Algoritmos tipo wrapper .

Figura: Esquema generico de algoritmos tipo wrapper.

(INAOE) Mayo, 2010 9 / 53

Page 10: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Algoritmo de Selecci on de Atributos

Sea: D datos de entrenamiento, S0

Smejor := S0

Evmejor = eval(Smejor , D, M) {evalua S usando M}while NOT criterio de paro do

Snvo = genera(Smejor , D)Evnvo = eval(Snvo, D, M)if (Evnvo es mejor que Evmejor ) then

Evmejor := Evnvo

Smejor := Snvo

end ifend whileRegresa Smejor

Si M - evalua atributos independientemente del algoritmo deaprendizaje, entonces tenemos un filter y si M es unalgoritmo de aprendizaje, tenemos un wrapper

(INAOE) Mayo, 2010 10 / 53

Page 11: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Selecci on de Atributos

• Cambiando la forma de generar nuevos candidatos(estrategia de busqueda) y el criterio de paro, podemosgenerar diferentes versiones

• Diferentes criterios de evaluacion (independientes delalgoritmo de aprendizaje) nos generan diferentesalgoritmos filter. Vamos a ver varias medidas deevaluacion comunmente utilizadas.

• Diferentes algoritmos de aprendizaje nos generandiferentes algoritmos wrapper.

(INAOE) Mayo, 2010 11 / 53

Page 12: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Introduccion

Algoritmo Hıbrido

La idea general del algoritmo hıbrido es la siguiente:

• Empieza con un subconjunto S0 (por ejemplo vacıo sise usa forward-selection)

• Aumenta la cardinalidad (1 atributo) y evalua todos loselementos de esa cardinalidad con una medidaindependiente del algoritmo de aprendizaje

• El mejor subconjunto se evalua con un algoritmo deaprendizaje y se queda con el mejor (de todas lascardinalidades vistas) hasta el momento

• Continua con la siguiente cardinalidad

La no mejora en la calidad del algoritmo de aprendizajepuede usarse como criterio de paro.

(INAOE) Mayo, 2010 12 / 53

Page 13: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Estrategias de busqueda

Estrategias de Busqueda

• La generacion de subconjuntos involucra una estrategiade busqueda. Para N atributos existen 2N

subconjuntos, por lo que se requiere de una buenaestrategia de busqueda.

• Para esto se requiere especificar el punto inicial debusqueda. Si se empieza con un conjunto de atributosvacıo y se van anadiendo (forward selection), si seempiezan con todos los atributos y se van eliminando(backward elimination) o si se anaden y quitan atributos(bi-direccional).

• El punto inicial tambien puede ser un conjunto deatributos aleatorio.

(INAOE) Mayo, 2010 13 / 53

Page 14: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Estrategias de busqueda

Estrategias de Busqueda

• Dado un criterio de evaluacion, se pueden realizar unagran cantidad de estrategias de busqueda. Por ejemplo,best-first, A∗, beam-search, hill climbing, etc.

• Dentro de estas estrategias existen metodos basadosen branch-&-bound para no considerar todos lossubconjuntos. Sin embargo, en general requiere que seespecifique de entrada un numero de atributos aseleccionar.

• En general, y dada la gran cantidad de posiblessubconjuntos, se prefiere usar una estrategia greedy ohill-climbing.

(INAOE) Mayo, 2010 14 / 53

Page 15: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Estrategias de busqueda

Estrategias de Busqueda

En general se tienen tres estrategias de busqueda:

• forward selection: se van incorporandoprogresivamente las variables. Es computacionalmentemas eficiente, pero tiende a producir peoressubconjuntos, ya que se toman decisiones locales.

• backward selection: se van eliminando progresivamentelas variables. Es computacionalmente mas caro peropuede considerar variables debiles individualmente,pero fuertes cuando se consideran en conjunto.

• Bi-directional selection: Se pueden anadir o eliminaratributos partiendo de un subconjunto inicial. Unaalternativa es anadir (o quitar) p atributos en cada pasoy eliminar (anadir) q atributos en el siguiente paso(p > q).

(INAOE) Mayo, 2010 15 / 53

Page 16: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Estrategias de busqueda

Estrategias de Busqueda

• Tambien se puede realizar busqueda aleatoria, con unpunto inicial generado aleatoriamente y continuandodesde ahı con una estrategia greedy repitiendo elproceso varias veces (random restart hill-climbing), sepuede introducir aleatoriedad a la busqueda (e.g.,simulated annealing), etc.

• Se puede usar diversas variantes de busqueda yoptimizacion como local search, tabu search, ant colonyoptimization, algoritmos geneticos, swarm optimization,etc.

• En general, podemos dividir a las estrategias degeneracion de candidatos en: (i) completas (completano necesariamente implica que sea exhaustiva), (ii)heurısticas, y (iii) aleatorias.

(INAOE) Mayo, 2010 16 / 53

Page 17: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Evaluaci on de Subconjuntos

• A grandes rasgos depende de si se usa un criterioindependiente o no de un algoritmo de aprendizaje.

• Los independientes son los filtros. Aquı se puede usaruna medida de distancia, basada en informacion, endependencia o en consistencia.

• Los dependientes son los wrappers y usan eldesempeno de un algoritmo de aprendizaje paraevaluar un subconjunto de atributos.

• En el caso de clustering, se trata de evaluar la calidadde los clusters, por ejemplo, en base a que tancompactos son los grupos o que tan separados estan.

(INAOE) Mayo, 2010 17 / 53

Page 18: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Evaluaci on de Subconjuntos

• Por consideraciones de eficiencia, escalabilidad,simplicidad y buenos resultados empıricos, muchas delas medidas utilizadas independientemente delalgoritmo de aprendizaje se aplican a un solo atributo ala vez.

• Estos metodos no pueden capturar combinaciones quepodrıan dar buenos resultados. Por lo que una variableque aparentemente no sirve por sı sola, puede darresultados muy buenos en combinacion con otras.

• Inclusive dos variables que no aportan nada porseparado pueden ser utiles juntas.

(INAOE) Mayo, 2010 18 / 53

Page 19: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Evaluaci on de Subconjuntos

• Los que evaluan un atributo a la vez pueden eliminaratributos irrelevantes, pero no los redundantes, ya quetienen una evaluacion parecida a otros

• Son rapidos y producen una lista ordenada de atributosde acuerdo a su medida de evaluacion o ranking

• Una vez producida la lista, se tiene que especificardonde cortar (o hasta que atributo considerar) y paraesto existen diferentes opciones

(INAOE) Mayo, 2010 19 / 53

Page 20: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Selecci on de Atributos Rankeados

• Especificar un numero N y quedarse con los primerosN atributos

• Especificar un umbral y si la medida de desempeno esmenor que el umbral, entonces descartar, por ejemplo,que los que estan alejados dos varianzas de la mediade la medida de desempeno.

• Introducir variables aleatorias (1-3) y eliminar losatributos que reciban valores por debajo de la(s)variable(s) aleatoria(s)

(INAOE) Mayo, 2010 20 / 53

Page 21: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Efecto de Introducir variables Aleatorias

(INAOE) Mayo, 2010 21 / 53

Page 22: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Selecci on de Atributos por Subconjuntos

• En lugar de evaluar atributos individuales y ordenarlos,en general es deseable considerar subconjuntos deatributos. Esto elimina la suposicion generica en laevaluacion individual de que los atributos sonindependientes entre si dada la clase.

• Estos algoritmos en general pueden eliminar tantoatributos irrelevantes como redundantes, sin embargo,son en general poco eficientes.

(INAOE) Mayo, 2010 22 / 53

Page 23: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

• Existe una gran cantidad de medidas de evaluacion deatributos (e.g., Euclideana, distancia Matusita,Kullback-Leibler 1 y 2, basada en entropıa,Bhattacharyya, Relief, OneR, Chi-Square, etc.) perosolo vamos a revisar algunas de ellas.

• Se usan para evaluar atributos individuales, aunquemuchas de ellas se pueden extender para evaluarsobconjuntos, aunque implica mas calculos y a vecesmas datos para obtener mejores estimaciones

• Esto de nuevo puede crear una lista ordenada, peroahora de subconjuntos. La idea es quedarse con elmejor subconjunto.

(INAOE) Mayo, 2010 23 / 53

Page 24: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

Podemos clasificar las medidas en los siguientes tipos:

• Medidas de distancia: para un problema de dos clases,un atributo X es mejor que uno Y si X genera masdiferencia entre las probabilidades condicionales de lasclases que Y . Aquı podemos incluir muchas de lasmedidas propuestas, como la Euclideana, entre otras.

• Medidas de informacion: La ganancia de informaciondel atributo X la podemos definir como la diferenciaentre la incertidumbre previa y la posterior al usar X . Elatributo X es mejor que el Y si X tiene mas gananciade informacion que Y .

(INAOE) Mayo, 2010 24 / 53

Page 25: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

• Kullback-Leibler o entropıa cruzada estima lainformacion mutua entre cada variable y la clase

I(i) =

xi

yp(xi , y)log

p(xi , y)

p(xi)p(y)dxdy

Que para variables discretas se escribe como:

I(i) =∑

xi

y

P(X = xi , Y = y)logP(X = xi , Y = y)

P(X = xi)P(Y = y)

y estimar las probabilidades en base a frecuencia delos datos, lo cual se complica con muchas variables yclases.

(INAOE) Mayo, 2010 25 / 53

Page 26: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

• Medidas de dependencia: miden dependencia ocorrelacion entre variables. Si la correlacion del atributoX con la clase C es mayor que la del atributo Y con laclase C, entonces X es mejor que Y

• Una variante es determinar que tan correlacionadoesta un atributo con otros para determinar redundancia.La idea es ver que atributos estan correlacionadosfuertemente con la clase. El coeficiente de correlacionesta dado por:

R(i) =cov(Xi , Y )

var(Xi)var(Y )

(INAOE) Mayo, 2010 26 / 53

Page 27: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

• Esto se puede estimar como:

R(i) =

∑mk=1(xk ,i − xi)(yk − y)

∑mk+1(xk ,i − xi)2

∑mk+1(yk − y)2

Muchas veces se usa R(i)2 porque representa que tanbien se ajusta linealmente una variable individual conrespecto a la clase (y).

• Esto se puede extender para cualquier numero declases.

• El coeficiente de correlacion solo detecta dependenciaslineales entre una variable y la clase. Una alternativa esusar ajustes no lineales.

(INAOE) Mayo, 2010 27 / 53

Page 28: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Evaluacion de Subconjuntos

Medidas de Evaluaci on

• Medidas de consistencia: miden la consistencia de lashipotesis con respecto a un grupo de atributos,buscando el mınimo conjunto de atributos que generehipotesis consistentes.

• Medidas basadas en error: usan un algoritmo declasificacion como medida de evaluacion (wrapper).

Con estas medidas y diferentes estrategias para generaratribitutos (i.e., completos, heurısticos, y aleatorios),podemos formar una gran cantidad de posibles algoritmos.

(INAOE) Mayo, 2010 28 / 53

Page 29: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• SOAP: opera sobre atributos numericos. No empleadistancias ni calculos estadısticos y tiene un bajo costo.Idea: contar cuantas veces el valor de la clase cambiacon respecto al atributo ordenado en forma ascendente.

• SFS/SBS (Sequential Forward/Backward Selection):empieza con el cojunto vacıo/completo y en cadaiteracion anade/quita un atributo seleccionado con unafuncion de evaluacion.

(INAOE) Mayo, 2010 29 / 53

Page 30: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• SFFS/SFBS (Sequential Floating Forward/BackwardSelection): aplica, despues de cada pasoforward/backward, tantos pasos backward/forwardcomo se pueda, mientras el subconjunto de atributossea mejor que los evaluados previamente en ese nivel.Si empieza con el conjunto vacıo anade mas atributos ysi empieza con el conjunto completo, elimina masatributos.

• Liu (2004) encuentra atributos fuertemente relevantes(si se eliminan siempre afectan la calidad predictiva),debilmente relevantes (pueden o no afectar la calidad alser eliminados), los cuales pueden ser o noredundantes, y los irrelevantes. Los redundantes loseliminan calculando la cobija de Markov

(INAOE) Mayo, 2010 30 / 53

Page 31: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Un Esquema para Eliminar AtributosRedundantes

(INAOE) Mayo, 2010 31 / 53

Page 32: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• Branch & Bound (Narendra): Busqueda completa yevaluacion basada en distancia. Define un tamano deprofundidad (i.e., numero de atributos) y usa unamedida sobre los atributos para definir criterios decorte. Sigue un proceso de backward elimination

• Requiere que la medida de evaluacion sea monotonicay en principio requiere saber el numero de atributosmeta.

• Se han hecho extensiones (e.g., Somol) usandoestimaciones

(INAOE) Mayo, 2010 32 / 53

Page 33: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Ejemplo de Branch & Bound

(INAOE) Mayo, 2010 33 / 53

Page 34: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Ejemplo de Branch & Bound conEstimaciones

(INAOE) Mayo, 2010 34 / 53

Page 35: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• Clasificadores con una sola variable: Una posibilidad esusar una sola variable para tratar de clasificar (decisionstump) y ordenar las variables dependiendo de que tanbien clasifican. Se puede medir el error con varioscriterios, basada en falsos positivos, falsos negativos,curvas ROC, etc.

• Basados en seleccion y estrategias de algoritmosexistentes. Una posibilidad es usar un algoritmo dearboles (e.g., C4.5) y quedarse con los atributos queaparecen en un arbol podado.

(INAOE) Mayo, 2010 35 / 53

Page 36: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• Heurısticos basados en distancia, por ejemplo,Relief/Relieff: Dado un ejemplo, Relief busca a sus dosvecinos mas cercanos, uno de la misma clase y otro deuna clase diferente, y actualiza los pesos de losatributos involucrados dependiendo de si sus valoresson iguales o no a estos ejemplos

(INAOE) Mayo, 2010 36 / 53

Page 37: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algotitmo de Relief

for i = 1 to n doSelecciona aleatoriamente un ejemplo E de una claseEncuentra el ejemplo de la misma clase mas cercano Py el ejemplo de otra clase mas cercano Nfor A := 1 to Num. de atributos do

W [A] := W [A] − diff(A, E , P)/n + diff(A, E , N)/nend for

end for

(INAOE) Mayo, 2010 37 / 53

Page 38: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Relief

• diff(Atr , Inst1, Inst2) calcula la diferencia entre losvalores del atributo Atr de dos ejemplos. Para valoresdiscretos la diferencia es 1 si son diferentes y 0 si soniguales. Para atributos continuos se puede normalizar ytomar un valor continuo entre 0 y 1

• La idea es favorecer atributos que tengan valoresdiferentes en ejemplos parecidos de diferente clase yvalores iguales en ejemplos parecidos de la mismaclase, que se puede interpretar como:

W [A] = P(dif. valor de A | instancia de clase dif.)−P(dif. valor de A | instancia de misma clase)

(INAOE) Mayo, 2010 38 / 53

Page 39: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Extensiones a Relief (Relieff)

1 En Relieff, el proceso se repite un numero de vecesigual al numero total de ejemplos

2 En lugar de tomar el ejemplo positivo y negativo mascercano, se toman los k ejemplos positivos y negativosmas cercanos y se promedia el resultado (e.g., k = 10).

3 Para N clases, busca los k ejemplos mas cercanospara cada una de las clases multiplicado por laprobabilidad de ocurrencia de cada clase.

(INAOE) Mayo, 2010 39 / 53

Page 40: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Extensiones a Relief (Relieff)

• Para actualizar los pesos se usan probabilidadesP(X |Y ) calculadas usando un estimador Laplaciano.

P(X |Y ) =N(X ∧ Y ) + mPa(X )

N(Y ) + m

Donde:• N(Z ) = numero de ejemplos con resultado Z ,• Pa(X ) = N(X)+1

N+Num.posiblesresultados• m es un parametro relacionado a la cantidad de ruido(m = 2 en las publicaciones originales)

(INAOE) Mayo, 2010 40 / 53

Page 41: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• Basados en dependencias entre variables: Otraposibilidad es usar filtros basados en cobijas deMarkov. Una cobija de Markov de una variable xi es unconjunto de variables, sin incluir a xi que hacen a lavariable “innecesaria”. Una vez que se encuentra lacobija de Markov se puede eliminar esa variable.

• Basados en informacion completos: usando el principiode descripcion mınima (MDL), en donde se utiliza unaexpresion que se interpreta como el numero de bitsnecesarios para transmitir la clase de las instancias, losparametros optimos, los atributos relevantes y losirrelevantes.

(INAOE) Mayo, 2010 41 / 53

Page 42: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Algoritmos

• Combinando con progressive sampling: se usa unconjunto pequeno de datos y se corre C4.5. Seincremente el numero de datos y se repite el proceso.Se comparan los atributos seleccionados y se evaluansi los atributos diferentes son relevantes o no.

• Combinado con active learning: la idea es seleccionarinstancias que pueden ser relevantes para realizar laseleccion de atributos. Las instancias se agrupanusando kd-trees y luego se seleccionan n instancias decada grupo y se alimenta a relieff

(INAOE) Mayo, 2010 42 / 53

Page 43: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Combinando con active sampling

(INAOE) Mayo, 2010 43 / 53

Page 44: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Interacci on entre Atributos

• Interaccion entre atributos: Por ejemplo, si queremosver la interaccion entre 4 atributos usando medidas deinformacion (Jakulin):I(X ; Y ; Z ; C) = I(X , Y , Z ; C) − I(X , Y ; C) − I(Y , Z ; C) −I(X , Z ; C) + I(X ; C) + I(Y ; C) + I(Z ; C) y variantes(nwG)

(INAOE) Mayo, 2010 44 / 53

Page 45: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Esquema de dependencias de informaci onentre atributos

(INAOE) Mayo, 2010 45 / 53

Page 46: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Comentarios

• En general es deseable hacer primeramente un analisispare tratar de eliminar las variables claramenteirrelevantes e identificar las variables redundandantes.

• Al escoger un algoritmo de seleccion de atributos esimportante tomar en cuenta:

1 El proposito: visualizacion, entendimiento de datos,limpieza de datos, eliminacion de redundancia y/oirrelevancia, desempeno

2 El tiempo de procesamiento: si no es crıtico se puedeusar una estrategia de busqueda cara

3 La salida: lista ordenada o subconjunto

(INAOE) Mayo, 2010 46 / 53

Page 47: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Comentarios

Cont...

4 La relacion entre atributos relevantes y el total deatributos: Pocos relevantes - forward selection, pocosirrelevantes - backward elimination

5 Si es clasificacion o clustering la tarea que se tiene

6 El tipo de atributos que se tienen

7 La relacion atributos y el numero de instancias

8 Si se puede usar conocimiento del dominio.

(INAOE) Mayo, 2010 47 / 53

Page 48: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Algoritmos

Algunos Retos

Dentro de los retos actuales:

• Poder lidear exitosamente con una alta dimensionalidady/o alta dimensionalidad y pocas instancias

• Incorporar ideas de active y progressive sampling aseleccion de atributos

• Tomar en cuenta interdependencias entre variasvariables a la vez

• Extender las ideas a otro tipo de atributos (e.g.,secuencias, datos semi-estructurados, texto, etc.).

• Combinarlo con ideas de sobre/sub–muestreo

(INAOE) Mayo, 2010 48 / 53

Page 49: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Construccion de atributos

Construcc on de Atributos

• Aunque hemos mencionado en general las ventajas deeliminar atributos, muchas veces tambien convieneanadir atributos.

• Esto es porque una representacion diferente puedesimplificar la tarea del algoritmo de aprendizaje (e.g.,maquinas de soporte vectorial).

• Una forma de introducir nuevos atributos es creandoatributos derivados de los atributos originales.

• Normalmente se usan combinaciones booleanas paraatributos binarios y combinaciones aritmeticas paraatributos numericos.

(INAOE) Mayo, 2010 49 / 53

Page 50: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Construccion de atributos

Construcci on de Atributos

• Tambien se pueden utilizar aproximaciones lineales deatributos que den una buena prediccion de los datosoriginales (singular value decomposition o SVD).

• La idea de Constructive Induction es crear nuevosatributos en base a operadores de construccionpredefinidos e ir seleccionando los mejores atributos(originales o derivados), manteniendo simpre fijo unnumero maximo de atributos, hasta llegar a un criteriode paro.

(INAOE) Mayo, 2010 50 / 53

Page 51: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Construccion de atributos

Algoritmo General de Construcci on deAtributos

AtribActual = atributos originalesOperadores = conjunto de operadores de construccionwhile NOT criterio de terminacion do

• AtribNvos = AtribActual ∪ atributos nuevosconstruidos con Operadores sobre AtribActual• Corre algoritmo de aprendizaje en AtribNvos• AtribActual = Selecciona los mejores atributos deAtribNvos

end while

(INAOE) Mayo, 2010 51 / 53

Page 52: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Construccion de atributos

Ejemplo de Construcci on de Atributos

Construccion de tres atributos, a partir de R,G,B paraclasificar piel:

(INAOE) Mayo, 2010 52 / 53

Page 53: Eduardo Morales, Jesu´s Gonzalez´emorales/Cursos/Aprendizaje2/... · 2010. 6. 22. · Contenido Introducci´on Estrategias de bu´squeda Evaluacion de´ Subconjuntos Algoritmos

Contenido

Introduccion

Estrategias debusqueda

Evaluacion deSubconjuntos

Algoritmos

Construccionde atributos

Construccion de atributos

Construcci on de Atributos

• Una alternativa que se ha usado para la construccionde atributos esta basada en clustering

• La idea es reemplazar un grupo de variables“parecidas” por el centroide del cluster que se vuelve unnuevo atributo.

• En general, el automatizar el cambio de representacionsigue siendo un problema abierto con poco trabajo enML

(INAOE) Mayo, 2010 53 / 53