sistemas clasificadores

24
Sobre Sistemas Clasificadores y XCS José J. Asensio Montiel

Upload: university-of-granada

Post on 04-Jul-2015

1.968 views

Category:

Technology


6 download

DESCRIPTION

Revisión de Learning Classifier Systems y Algoritmo XCS

TRANSCRIPT

Page 1: Sistemas clasificadores

Sobre Sistemas Clasificadores y XCS

José J. Asensio Montiel

Page 2: Sistemas clasificadores

❏ Compuestos por partes cuyas propiedades no explican las propiedades del sistema.

❏ Se ajustan a la experiencia❏ Ejemplos: Sistema nervioso, sistema inmunitario,

ecosistemas, bolsa… etc.

Sistemas Complejos Adaptativos

Page 3: Sistemas clasificadores

Holland → Representación CAS mediante población de clasificadores condición-acción que evolucionan para modelar colectivamente el sistema.

LCS fusiona: ❏ Aprendizaje supervisado❏ Aprendizaje por refuerzo❏ Algoritmos evolutivos.

LCS: Learning Classifier Systems

Page 4: Sistemas clasificadores

Metáforas biológicas:❏ Evolución❏ Aprendizaje

Componentes:❏ Población → conocimiento❏ Rendimiento → acciones❏ Refuerzo → recompensa ❏ Descubrimiento → nuevas y mejores reglas

Generalidades

Page 5: Sistemas clasificadores

Quién dirige?Descubrimiento: GA (fitness en reglas)Aprendizaje: Reparte el fitness.Tipos:❏ Online/Batch (data mining)❏ Online/Incremental (sin final)

Page 6: Sistemas clasificadores

Ejemplo básicoMinimal Classifier System (MCS)Se fija el Nº de reglasCondición: cadena compuesta por : ‘0’, ‘1’, ‘#’Acción: cadena ‘0’ o ‘1’Ejemplo: 011###→1

Page 7: Sistemas clasificadores

Algoritmo MCSInicialización aleatoria❏ Se toman las reglas que coinciden con la entrada (Match Set: [M])❏ Se establecen turnos exploración/explotación❏ Cubrimiento (cuando ninguna casa)❏ En explotación se toma la mejor acción (Action Set: [A])❏ Se realiza la acción y se distribuye la recompensa en [A]. ❏ En exploración se invoca al GA con cierta probabilidad

Page 8: Sistemas clasificadores

HistoriaRamas base:❏ Cognitive systems based on adaptive agents (Holland)❏ ZCS: a zeroth level classifier system (Wilson)❏ XCS: Classifier system based on accuracy (Wilson)❏ A learning system based on genetic adaptive algorithms (Smith)❏ Anticipatory classifier systems (Stolzmann)Diferentes nombres: cognitive system, adaptive agents, genetic-based machine learning systems, production systems, genetic algorithms (sólo una parte).Nombre LCS a finales de los 80 cuando Holland introduce el componente de refuerzo.

Page 9: Sistemas clasificadores

Primeros años78: CS-1 (Holland) fusiona RL+GA en Michigan → tipo Michigan: solución=población

80: LS-1(Smith) GA en poblaciones de != tamaño: solución=una población

Michigan es el estándar: Más problemas con mayor complejidad.82: (Booker) GA a nivel de [M] (subdominios + diversidad)

85: (Wilson) Animat CS, BBA simplificado (implícito), conceptos [A], covering, parámetro de pasos hasta la recompensa y arquitectura sencilla.

86: (Holland) Estándar LCS con BBA y basado en fuerza.

87: (Wilson) BOOLE, para funciones booleanas BBA innecesario.

89: (Booker) GOFER, fitness basado en recompensa y falta de recompensa (fuerza y especificidad) continua GA en nicho.

91: (Valenzuela) Fuzzy Classifier System, reglas != ternario.

91: (Riolo) CFCS2, predicción con modelo interno → post ACS primer Q-Learning

96: (Barry) Modelos internos, cadenas y jerarquías.

Page 10: Sistemas clasificadores

Resurgimiento...Compromiso entre complejidad y comprensibilidad85-95: Poco interés, bajo rendimiento y fiabilidad.

El resurgir se atribuye a:

❏ RL Q-Learning❏ Arquitecturas simplificadas ZCS y XCS

RL y LCS evolucionan en paralelo siendo RL parte de LCS.

ZCS ignora elementos complejos (lista de mensajes, las pujas de BBA) y fusiona BBA con Q-Learning → bajo rendimiento, proliferan clasificadores demasiado generales.

95: (Wilson) XCS: X de eXtended, mejor rendimiento y sin reglas demasiado generales.

Características clave de XCS: fitness basado en precisión, GA en nicho y Q-Learning adaptado.

98: (Stolzmann) ACS: A de Anticipatory, Cond/Acc/Efecto.

01: (Butz) ACS2: Biasing exploration in ACS.

Page 11: Sistemas clasificadores

XCS de WilsonTradicionalmente la fuerza del clasificador (predicción de recompensa) se usa como fitness para el GA. ¿Y si hay nichos donde el mejor clasificador tiene poca fuerza?XCS estudia cambiar fitness por error medio de predicción y usando GA en nichos [M]Resultado: mapeo completo y preciso XxA → P

Page 12: Sistemas clasificadores

El Fitness¿Predicción de recompensa? Parece lógico, la búsqueda la dirigen los mejores.

Problemas:

❏ Nichos con diferentes niveles de recompensa, solución: compartir la paga entre los clasificadores activos.

❏ Si se comparte la paga, el clasificador puede estar en varios [M] con lo que no está clara la predicción.

❏ Si se comparte la paga, los clasificadores mejores todavía pueden apoderarse de los recursos. En problemas de un paso no importa mucho pero en los secuenciales, la paga tarda en llegar y las cadenas largas se pierden, solución: GA por nichos, las diferencias entre pagas no afectan las posibilidades de selección.

❏ Incluso con el GA por nichos, este no distingue entre uno específico y otro demasiado general con igual fuerza media (que proliferará).

❏ No hay motivo teórico para evolucionen generalizaciones precisas.

Page 13: Sistemas clasificadores

GA basado en precisiónPoblación mayor pero se eliminan los clasificadores demasiado generales.En RL se hace un mapeo completo. En sistemas clasificadores tradicionales no. Para ello se proponen los parámetros:❏ Predicción (p): Media de la paga recibida al realizar la acción.❏ Error de predicción (e): Media del error en el parámetro anterior.❏ Fitness (F): Inverso al error de predicción. Se usa en [M] por el GA.

Page 14: Sistemas clasificadores

Componente rendimientoAl recibir la entrada se forma [M] y la predicción para cada acción: El vector de predicción V: suma ponderada de las predicciones por el fitness (null si no hay).Selección de acción:❏ Determinista❏ Probabilística (ruleta)❏ Aleatoria (no null)Se forma [A] (subconjunto de [M]), se realiza la acción y se obtiene (o no) la recompensa R (que se usará en el siguiente paso)

Page 15: Sistemas clasificadores

Componente de refuerzoSe actualizan los parámetros de [A]-1 mediante Q-Learning.Primero se recalcula F usando e (como se verá después)Se calcula P: gamma*Max(V) + R (del paso previo)Después se recalcula e usando P y p: e←e + beta(|P-p|-e)Se actualiza la predicción: p← p + beta(P - p) (Regla Widrow-Hoff)En problemas de un paso y en el último paso en problemas multipaso, P es R y se actualiza [A] (porque no hay [A]-1 o se encuentra la comida).Técnica MAM: antes de 1/beta es la media de los valores anteriores (para acelerar acercamiento, insensible en los primeros 1/beta valores)

Page 16: Sistemas clasificadores

Componente descubrimientoEl GA actúa en [M], de donde selecciona dos clasificadores, los copia, hace cruce con probabilidad X y mutación con probabilidad Mu.

Borrado:

❏ El clasificador guarda el tamaño medio de los [M] en que sucede. La probabilidad de borrado seŕa proporcional. Hace que los [M] tengan igual tamaño (repartir recursos).

❏ Si su fitness es además, menor que una pequeña fracción de la media total se aumenta esta probabilidad multiplicando por la media total y dividida por su fitness.

Invocación del GA: Para repartir entre los nichos los clasificadores (unos [M] pueden ser más frecuentes que otros), se invoca por antigüedad. Hay un contador global y se estampan los clasificadores al crearse. Se calcula la media en [M] y si la diferencia con el contador supera un umbral se invoca el GA.

Covering: si [M] es null, o si hay bucles raros (al principio).

Page 17: Sistemas clasificadores

El cálculo del fitnessSe calcula la precisión de cada clasificador en [A]-1, k como una función de e:k=exp((ln alfa)*(e-e0)/e0) si e > e0, 1 en otro caso.Se calcula su relación porcentual k’ con respecto al total k’ = k/sum(k)Finalmente F ← F+beta(k’-F)Como los k’ suman 1, el ajuste en [A]-1 es constante, el efecto es que los diferentes [A] en [M] tendrán igual fitness total, igual número de clasificadores → MAPEO COMPLETO de X x A → P.

Page 18: Sistemas clasificadores

Generalización¿Clasificadores precisos y máximamente generales? Sí:Ejemplo: C2 más general e igual de preciso que C1. Cuando coinciden en [A] su fitness se actualizará igual, pero como es más general aparecerá en más [M], aumentando su numerosidad y desplazando a C1 la próxima vez que se encuentren en [A].

Page 19: Sistemas clasificadores

Multiplexor-66 = L = k + 2^k, k = 2Los primeros k bits, indican la posición (de izquierda a derecha) del bit a devolver en los siguientes 2^k bits.F = x0’x1’x2 + x0’x1x3 + x0x1’x4 + x0x1x5Para el ejemplo 100010:1 hay exactamente 8 clasificadores correctos desde el más específico (100010:1) hasta el más general (10##1#:1). Los seis restantes se obtienen sustituyendo los # por uno o más ceros. El más general es máximamente general, es decir no hay otro más general que sea correcto.

Page 20: Sistemas clasificadores

Multiplexor-6 Clasificadores Máx. Generales:

00 0###:000 1###:101 #0##:001 #1##:110 ##0#:010 ##1#:111 ###0:011 ###1:1

Page 21: Sistemas clasificadores

Multiplexor-6Resultados:

❏ entradas aleatorias❏ 50% Explora/Explota❏ Rendimiento: % aciertos cada 50 en explot.❏ Error de sistema:

(|predicho - obtenido)|/total medio cada 50 expl.❏ Macroclasificadores.

Page 22: Sistemas clasificadores

Multiplexor-113x dificultad (viendo la gráfica)

Espacio de entrada 32x (2^11/2^6)

Espacio de clasificadores es 243x (2*3^11/2*3^6)

Generalizaciones máximas 2x

Escala más por conceptos (generalizaciones)

que por dimensionalidad.

Page 23: Sistemas clasificadores

Woods2Códigos:000: .001: - no usado010: O011: Q100: - no usado101: - no usado110: F111: G

1. El bit 3, no distingue entre comida o muro, ni entre espacio y objeto.

2. El bit 1, identifica la comida.3. El bit 2, identifica espacio.

(Espacio toroidal)

Page 24: Sistemas clasificadores

Wood2Mapeo completo y preciso (los mismo valores

que con Q-learning: 1000, 1000*gamma^n)

Necesario enfriar la tasa de cruce

y mutación.