Es un sistema clasificador reciente que difiere con los anteriores en lo siguiente:
Al igual que otros clasificadores, el ambiente da una entrada
sensorial del tipo
. El sistema responde con
una acción
. Cada acción
recibe una recompensa escalar
asociada.
Los problemas pueden ser de un solo paso (las situaciones sucesivas no están relacionadoas entre si) o de varios pasos (sí están relacionadas).
XCS tiene una población de clasificadores cada uno siendo una regla del tipo condición-acción con la siguiente información:
También se puede guardar, el error en la predicción
(), la aptitud (
) del clasificador, la experiencia
(
), que es el número de veces que ha estado en el conjunto de
acciones, la última vez que se usó, el tamaño promedio de
los conjuntos de acciones a los que ha pertenecido (
), el
número de clasificadores que este clasificador representa (
).
Se consideran cuatro conjuntos en XCS:
La población inicial puede estar vacía o llenarse con
clasificadores generados aleatoriamente. La diferencia entre los dos
enfoques es poca, por lo que en general se empieza con un conjunto
vacío.
Cuando se recibe una señal de entrada se seleccionan todos los
clasificadores que aparean la situación (). Se ve para cada
posible acción cual es su predicción de pago. Se selecciona
una acción
tomando en cuenta esta predicción y se
seleccionan todos los clasificadores que proponen dicha acción
.
La acción ganadora se ejecuta y el conjunto de acciones previo
(en caso de problemas de multiples pasos) se modifica
usando un esquema parecido a Q-learning. El algoritmo viene descrito
en la tabla 9.2.
Al momento de generar el conjunto de clasificadores que aparea la
situación (MATCH SET), si el número de acciones presentes en
(un cierto umbral que se tiene que definir), entonces
se crea un nuevo clasificador que aparea las condiciones del ambiente
(
) y que contiene don't cares (#) con cierta
probabilidad (
). La acción del clasificador se selecciona
aleatoriamente entre las que no están presentes en
.
Para generar el PREDICTION ARRAY (), se suma la multiplicación
de la predicción de cada acción que aparece en
por su
aptitud, y el total se divide entre el total de las aptitudes de las
que tienen esa acción. Osea que todas las predicciones y
aptitud de las acciones iguales que aparecen en
se consideran
para regresar la predicción de cada acción.
Tomando en cuenta , la selección de la acción (
)
puede hacerse con
greedy (aunque puede hacerse de otras formas).
El ACTION SET son todos los clasificadores en cuya acción es
.
El pago de cada clasificador es una combinación de recompensa inmediata y del estimado de la máxima recompensa en el siguiente estado.
La actualización de los parámetros de los clasificadores se hace en
el siguiente orden: experiencia (), estimación de predicción
(
), predicción de error (
), tamaño promedio del
conjunto de acciones al que pertenece el clasificador (
), la
aptitud (
). Esta actualización se hace como se ilustra en la
tabla 9.3.
El algoritmo genético para generar nuevos individuos, se corre si se
rebasa también un cierto umbral, que determina cuándo se uso la
última vez el algoritmo genético. En tal caso, se seleccionan dos
clasificadores tomados de usando ruleta, basados en su
aptitud. Si se cruzan, su predicción, error y aptitud se toman
como el promedio de sus padres.
Cruza sólo se aplica sobre las condiciones de los clasificadores, mientras que mutación se aplica sobre todo el clasificador. Si se muta una condición del clasificador, ésta debe de ser ó # ó un valor que aparea la información del ambiente.
Si se verifica por subsumsión, los hijos subsumidos por sus padres no
se añaden y se aumenta la numerosidad al padre ().
También se eliminan individuos seleccionados por ruleta y revisando
que la numerosidad de los clasificadores sea mayor que (
).
Si el clasificador seleccionado tiene una numerosidad mayor que 1, ésta se decrementa en 1, si es 1, se elimina el clasificador.
El criterio para eliminar clasificadores se hace si el clasificador
tiene suficiente experiencia (
) y si su
aptitud es menor que el promedio de aptitud de los clasificadores.
Debido a su conección con aprendizaje por refuerzo y análisis más teórico, XCS tiende a producir mejores y más compactos clasificadores.