sistemas clasificadores

Post on 04-Jul-2015

1.968 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Revisión de Learning Classifier Systems y Algoritmo XCS

TRANSCRIPT

Sobre Sistemas Clasificadores y XCS

José J. Asensio Montiel

❏ 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

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

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

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

Generalidades

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

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

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

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.

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.

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.

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

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.

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.

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)

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)

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).

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.

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].

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.

Multiplexor-6 Clasificadores Máx. Generales:

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

Multiplexor-6Resultados:

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

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

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.

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)

Wood2Mapeo completo y preciso (los mismo valores

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

Necesario enfriar la tasa de cruce

y mutación.

top related