2. Sistemas Complejos Adaptativos
❏ Compuestos por partes cuyas propiedades no explican
las propiedades del sistema.
❏ Se ajustan a la experiencia
❏ Ejemplos: Sistema nervioso, sistema inmunitario,
ecosistemas, bolsa… etc.
3. LCS: Learning Classifier Systems
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.
5. Quién dirige?
Descubrimiento: GA (fitness en reglas)
Aprendizaje: Reparte el fitness.
Tipos:
❏ Online/Batch (data mining)
❏ Online/Incremental (sin final)
6. Ejemplo básico
Minimal Classifier System (MCS)
Se fija el Nº de reglas
Condición: cadena compuesta por : ‘0’, ‘1’, ‘#’
Acción: cadena ‘0’ o ‘1’
Ejemplo: 011###→1
7. Algoritmo MCS
Inicializació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
8. Historia
Ramas 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.
9. Primeros años
78: 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.
10. Resurgimiento...
Compromiso entre complejidad y comprensibilidad
85-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.
11. XCS de Wilson
Tradicionalmente 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
12. 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.
13. GA basado en precisión
Població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.
14. Componente rendimiento
Al 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)
15. Componente de refuerzo
Se 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)
16. Componente descubrimiento
El 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).
17. El cálculo del fitness
Se 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.
18. 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].
19. Multiplexor-6
6 = L = k + 2^k, k = 2
Los 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 + x0x1x5
Para 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.
22. Multiplexor-11
3x 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.
23. Woods2
Códigos:
000: .
001: - no usado
010: O
011: Q
100: - no usado
101: - no usado
110: F
111: G
1.
2.
3.
El bit 3, no distingue entre
comida o muro, ni entre
espacio y objeto.
El bit 1, identifica la comida.
El bit 2, identifica espacio.
(Espacio toroidal)
24. Wood2
Mapeo completo y preciso (los mismo valores
que con Q-learning: 1000, 1000*gamma^n)
Necesario enfriar la tasa de cruce
y mutación.