
Los sistemas clasificadores de aprendizaje , o LCS , son un paradigma de métodos de aprendizaje automático basados en reglas que combinan un componente de descubrimiento (por ejemplo, típicamente un algoritmo genético en computación evolutiva ) con un componente de aprendizaje (que realiza aprendizaje supervisado , aprendizaje por refuerzo o aprendizaje no supervisado ). [ 2 ] Los sistemas clasificadores de aprendizaje buscan identificar un conjunto de reglas dependientes del contexto que almacenan y aplican colectivamente el conocimiento de manera fragmentada para hacer predicciones (por ejemplo, modelado de comportamiento , [ 3 ] clasificación , [ 4 ] [ 5 ] minería de datos , [ 5 ] [ 6 ] [ 7 ] regresión , [ 8 ] aproximación de funciones , [ 9 ] o estrategia de juego ). Este enfoque permite dividir espacios de soluciones complejos en partes más pequeñas y simples para el aprendizaje por refuerzo que se encuentra dentro de la investigación de inteligencia artificial.
Los conceptos fundamentales que sustentan los sistemas de clasificación por aprendizaje surgieron de los intentos de modelar sistemas adaptativos complejos , utilizando agentes basados en reglas para formar un sistema cognitivo artificial (es decir, inteligencia artificial ).
Metodología
La arquitectura y los componentes de un sistema clasificador de aprendizaje dado pueden ser bastante variables. Es útil pensar en un LCS como una máquina que consta de varios componentes que interactúan. Los componentes pueden agregarse o eliminarse, o los componentes existentes pueden modificarse o intercambiarse para adaptarse a las demandas de un dominio de problema dado (como bloques de construcción algorítmicos) o para hacer que el algoritmo sea lo suficientemente flexible como para funcionar en muchos dominios de problemas diferentes. Como resultado, el paradigma LCS puede aplicarse de manera flexible a muchos dominios de problemas que requieren aprendizaje automático . Las divisiones principales entre las implementaciones de LCS son las siguientes: (1) arquitectura estilo Michigan vs. arquitectura estilo Pittsburgh, [ 10 ] (2) aprendizaje por refuerzo vs. aprendizaje supervisado , (3) aprendizaje incremental vs. aprendizaje por lotes, (4) aprendizaje en línea vs. aprendizaje fuera de línea , (5) aptitud basada en fuerza vs. aptitud basada en precisión, y (6) mapeo de acción completo vs. mapeo de mejor acción. Estas divisiones no son necesariamente mutuamente excluyentes. Por ejemplo, XCS, [ 11 ] el algoritmo LCS más conocido y mejor estudiado, es de estilo Michigan, fue diseñado para el aprendizaje por refuerzo pero también puede realizar aprendizaje supervisado, aplica aprendizaje incremental que puede ser en línea o fuera de línea, aplica aptitud basada en la precisión y busca generar un mapeo de acciones completo.
Elementos de un algoritmo LCS genérico

Teniendo en cuenta que LCS es un paradigma para el aprendizaje automático basado en genética, más que un método específico, a continuación se describen los elementos clave de un algoritmo LCS genérico y moderno (es decir, posterior a XCS). Para simplificar, nos centraremos en la arquitectura de estilo Michigan con aprendizaje supervisado. Consulte las ilustraciones de la derecha, que muestran los pasos secuenciales de este tipo de LCS genérico.
Ambiente
El entorno es la fuente de datos sobre la que aprende un LCS. Puede ser un conjunto de datos de entrenamiento finito y fuera de línea (característico de un problema de minería de datos , clasificación o regresión), o un flujo secuencial en línea de instancias de entrenamiento en vivo. Se supone que cada instancia de entrenamiento incluye una cierta cantidad de características (también denominadas atributos o variables independientes ) y un único punto final de interés (también denominado clase , acción , fenotipo , predicción o variable dependiente ). Parte del aprendizaje de LCS puede implicar la selección de características , por lo que no todas las características en los datos de entrenamiento necesitan ser informativas. El conjunto de valores de características de una instancia se conoce comúnmente como el estado . Para simplificar, supongamos un dominio de problema de ejemplo con características booleanas / binarias y una clase booleana / binaria . Para los sistemas de estilo Michigan, se entrena una instancia del entorno en cada ciclo de aprendizaje (es decir, aprendizaje incremental). Los sistemas de estilo Pittsburgh realizan aprendizaje por lotes, donde los conjuntos de reglas se evalúan en cada iteración sobre gran parte o la totalidad de los datos de entrenamiento.
Regla/clasificador/población
Una regla es una relación dependiente del contexto entre valores de estado y alguna predicción. Las reglas suelen adoptar la forma de una expresión {SI:ENTONCES} (por ejemplo, { SI 'condición' ENTONCES 'acción'}, o como ejemplo más específico, {SI 'rojo' Y 'octágono' ENTONCES 'señal de stop'} ). Un concepto fundamental tanto en LCS como en el aprendizaje automático basado en reglas es que una regla individual no es en sí misma un modelo, ya que solo es aplicable cuando se cumple su condición. Piense en una regla como un "modelo local" del espacio de soluciones.
Las reglas se pueden representar de muchas maneras diferentes para manejar distintos tipos de datos (por ejemplo, binarios, discretos, ordinales, continuos). Dados los datos binarios, LCS tradicionalmente aplica una representación de regla ternaria (es decir, las reglas pueden incluir un 0, un 1 o '#' para cada característica en los datos). El símbolo 'no importa' (es decir, '#') sirve como comodín dentro de la condición de una regla, lo que permite que las reglas, y el sistema en su conjunto, generalicen las relaciones entre las características y el punto final objetivo que se va a predecir. Considere la siguiente regla (#1###0 ~ 1) (es decir, condición ~ acción). Esta regla se puede interpretar como: SI la segunda característica = 1 Y la sexta característica = 0 ENTONCES la predicción de clase = 1. Diríamos que la segunda y la sexta características se especificaron en esta regla, mientras que las demás se generalizaron. Esta regla, y la predicción correspondiente, solo son aplicables a una instancia cuando la condición de la regla se cumple para la instancia. Esto se conoce más comúnmente como coincidencia. En LCS estilo Michigan, cada regla tiene su propia aptitud, así como una serie de otros parámetros asociados que pueden describir el número de copias de esa regla que existen (es decir, la numerosidad ), la antigüedad de la regla, su precisión o la precisión de sus predicciones de recompensa, y otras estadísticas descriptivas o experimentales. Una regla junto con sus parámetros a menudo se denomina clasificador . En los sistemas estilo Michigan, los clasificadores están contenidos dentro de una población [P] que tiene un número máximo de clasificadores definido por el usuario. A diferencia de la mayoría de los algoritmos de búsqueda estocástica (por ejemplo, algoritmos evolutivos ), las poblaciones de LCS comienzan vacías (es decir, no hay necesidad de inicializar aleatoriamente una población de reglas). En cambio, los clasificadores se introducirán inicialmente en la población con un mecanismo de cobertura.
En cualquier sistema de clasificación por lotes (LCS), el modelo entrenado es un conjunto de reglas/clasificadores, en lugar de una sola regla/clasificador. En el LCS de estilo Michigan, toda la población de clasificadores entrenados (y opcionalmente, compactados) conforma el modelo de predicción.
Pareo
Uno de los elementos más críticos y a menudo más laboriosos de un LCS es el proceso de coincidencia. El primer paso en un ciclo de aprendizaje de LCS toma una única instancia de entrenamiento del entorno y la pasa a [P] donde tiene lugar la coincidencia. En el paso dos, cada regla en [P] se compara con la instancia de entrenamiento para ver qué reglas coinciden (es decir, son contextualmente relevantes para la instancia actual). En el paso tres, cualquier regla coincidente se mueve a un conjunto de coincidencia [M]. Una regla coincide con una instancia de entrenamiento si todos los valores de características especificados en la condición de la regla son equivalentes al valor de característica correspondiente en la instancia de entrenamiento. Por ejemplo, suponiendo que la instancia de entrenamiento es (001001 ~ 0), estas reglas coincidirían: (###0## ~ 0), (00###1 ~ 0), (#01001 ~ 1), pero estas reglas no coincidirían: (1##### ~ 0), (000##1 ~ 0), (#0#1#0 ~ 1). Nótese que en la coincidencia, el punto final/acción especificado por la regla no se tiene en cuenta. Como resultado, el conjunto de coincidencias puede contener clasificadores que proponen acciones conflictivas. En el cuarto paso, dado que estamos realizando aprendizaje supervisado, [M] se divide en un conjunto correcto [C] y un conjunto incorrecto [I]. Una regla de coincidencia se incluye en el conjunto correcto si propone la acción correcta (basándose en la acción conocida de la instancia de entrenamiento); de lo contrario, se incluye en [I]. En el aprendizaje por refuerzo LCS, se formaría aquí un conjunto de acciones [A], ya que se desconoce la acción correcta.
Cubierta
En este punto del ciclo de aprendizaje, si ningún clasificador llegó a [M] o [C] (como sucedería cuando la población comienza vacía), se aplica el mecanismo de cobertura (quinto paso). La cobertura es una forma de inicialización inteligente de la población en línea . La cobertura genera aleatoriamente una regla que coincide con la instancia de entrenamiento actual (y en el caso del aprendizaje supervisado, esa regla también se genera con la acción correcta. Suponiendo que la instancia de entrenamiento es (001001 ~ 0), la cobertura podría generar cualquiera de las siguientes reglas: (#0#0## ~ 0), (001001 ~ 0), (#010## ~ 0). La cobertura no solo garantiza que en cada ciclo de aprendizaje haya al menos una regla correcta y coincidente en [C], sino que cualquier regla inicializada en la población coincidirá con al menos una instancia de entrenamiento. Esto evita que LCS explore el espacio de búsqueda de reglas que no coinciden con ninguna instancia de entrenamiento.
Actualizaciones de parámetros/asignación de créditos/aprendizaje
En el sexto paso, los parámetros de cualquier regla en [M] se actualizan para reflejar la nueva experiencia obtenida de la instancia de entrenamiento actual. Dependiendo del algoritmo LCS, pueden tener lugar varias actualizaciones en este paso. Para el aprendizaje supervisado, podemos simplemente actualizar la precisión/error de una regla. La precisión/error de la regla es diferente de la precisión/error del modelo, ya que no se calcula sobre todos los datos de entrenamiento, sino solo sobre todas las instancias con las que coincidió. La precisión de la regla se calcula dividiendo el número de veces que la regla estuvo en un conjunto correcto [C] por el número de veces que estuvo en un conjunto coincidente [M]. La precisión de la regla puede considerarse como una "precisión local". La aptitud de la regla también se actualiza aquí y se suele calcular como una función de la precisión de la regla. El concepto de aptitud se toma directamente de los algoritmos genéticos clásicos . Tenga en cuenta que existen muchas variaciones en cómo LCS actualiza los parámetros para realizar la asignación de crédito y el aprendizaje.
Subsunción
En el séptimo paso, se suele aplicar un mecanismo de subsunción . La subsunción es un mecanismo de generalización explícito que fusiona clasificadores que cubren partes redundantes del espacio del problema. El clasificador subsumidor absorbe efectivamente al clasificador subsumido (y aumenta su número). Esto solo puede ocurrir cuando el clasificador subsumidor es más general, igual de preciso y cubre todo el espacio del problema del clasificador que subsume.
Descubrimiento de reglas/algoritmo genético
En el octavo paso, LCS adopta un algoritmo genético (AG) altamente elitista que seleccionará dos clasificadores padres en función de su aptitud (supervivencia del más apto). Los padres se seleccionan de [C], generalmente mediante selección por torneo . Algunos sistemas han aplicado selección por ruleta o selección determinista, y han seleccionado reglas de padres de forma diferente, ya sea de [P] (selección panmíctica) o de [M]. Ahora se aplican operadores de cruce y mutación para generar dos nuevas reglas de descendencia. En este punto, tanto las reglas de los padres como las de la descendencia se devuelven a [P]. El algoritmo genético LCS es altamente elitista, ya que en cada iteración de aprendizaje se conserva la gran mayoría de la población. El descubrimiento de reglas puede realizarse alternativamente mediante algún otro método, como un algoritmo de estimación de distribución , pero un AG es, con mucho, el enfoque más común. Los algoritmos evolutivos como el AG emplean una búsqueda estocástica, lo que convierte a LCS en un algoritmo estocástico. LCS busca explorar inteligentemente el espacio de búsqueda, pero no realiza una búsqueda exhaustiva de combinaciones de reglas y no se garantiza la convergencia a una solución óptima.
Supresión
El último paso en un ciclo de aprendizaje LCS genérico consiste en mantener el tamaño máximo de la población. El mecanismo de eliminación seleccionará los clasificadores que se eliminarán (generalmente mediante selección por ruleta). La probabilidad de que un clasificador sea seleccionado para su eliminación es inversamente proporcional a su aptitud. Cuando un clasificador es seleccionado para su eliminación, su parámetro de numerosidad se reduce en uno. Cuando la numerosidad de un clasificador se reduce a cero, se elimina por completo de la población.
Capacitación
LCS repetirá estos pasos varias veces durante un número determinado de iteraciones de entrenamiento, o hasta que se cumplan ciertos criterios de finalización. Para el aprendizaje en línea, LCS obtendrá una instancia de entrenamiento completamente nueva del entorno en cada iteración. Para el aprendizaje fuera de línea, LCS recorrerá un conjunto de datos de entrenamiento finito. Una vez que llegue a la última instancia del conjunto de datos, volverá a la primera y repetirá el ciclo.
compactación de reglas
Una vez finalizado el entrenamiento, el conjunto de reglas inevitablemente contendrá algunas reglas deficientes, redundantes e inexpertas. Es común aplicar una heurística de compactación o condensación de reglas como paso posterior al procesamiento. Este conjunto de reglas compactadas resultante está listo para ser aplicado como modelo de predicción (por ejemplo, para realizar predicciones en instancias de prueba) y/o para ser interpretado para el descubrimiento de conocimiento .
Predicción
Independientemente de si se ha aplicado o no la compactación de reglas, la salida de un algoritmo LCS es una población de clasificadores que se puede utilizar para realizar predicciones en instancias previamente desconocidas. El mecanismo de predicción no forma parte del ciclo de aprendizaje supervisado de LCS en sí, pero desempeñaría un papel importante en un ciclo de aprendizaje de LCS por refuerzo. Por ahora, consideramos cómo se puede aplicar el mecanismo de predicción para realizar predicciones en datos de prueba. Al realizar predicciones, los componentes de aprendizaje de LCS se desactivan para que la población no continúe aprendiendo de los datos de prueba entrantes. Una instancia de prueba se pasa a [P], donde se forma un conjunto de coincidencias [M] como de costumbre. En este punto, el conjunto de coincidencias se pasa de forma diferente a una matriz de predicción. Las reglas en el conjunto de coincidencias pueden predecir diferentes acciones, por lo que se aplica un esquema de votación. En un esquema de votación simple, la acción con los "votos" de apoyo más fuertes de las reglas coincidentes gana y se convierte en la predicción seleccionada. No todas las reglas reciben el mismo voto. Más bien, la fuerza del voto para una sola regla suele ser proporcional a su cantidad y aptitud. Este esquema de votación y la naturaleza de cómo los LCS almacenan el conocimiento sugieren que los algoritmos LCS son implícitamente aprendices de conjunto .
Interpretación
Las reglas individuales de LCS suelen ser expresiones IF:THEN legibles para humanos. Las reglas que constituyen el modelo de predicción LCS pueden clasificarse según diferentes parámetros y revisarse manualmente. También se han propuesto estrategias globales para guiar el descubrimiento de conocimiento mediante métodos estadísticos y gráficos. [ 12 ] [ 13 ] Con respecto a otros enfoques avanzados de aprendizaje automático, como redes neuronales artificiales , bosques aleatorios o programación genética , los sistemas de clasificación de aprendizaje son particularmente adecuados para problemas que requieren soluciones interpretables.
Historia
Primeros años
John Henry Holland fue conocido principalmente por su trabajo de popularización de algoritmos genéticos (AG), a través de su innovador libro "Adaptación en sistemas naturales y artificiales" [ 14 ] en 1975 y su formalización del teorema del esquema de Holland . En 1976, Holland conceptualizó una extensión del concepto de AG a lo que llamó un "sistema cognitivo" [ 15 ] , y proporcionó la primera descripción detallada de lo que se conocería como el primer sistema clasificador de aprendizaje en el artículo "Sistemas cognitivos basados en algoritmos adaptativos" [ 16 ] . Este primer sistema, llamado Sistema Cognitivo Uno (CS-1), fue concebido como una herramienta de modelado, diseñada para modelar un sistema real (es decir, un entorno ) con dinámicas subyacentes desconocidas utilizando una población de reglas legibles por humanos. El objetivo era que un conjunto de reglas realizara aprendizaje automático en línea para adaptarse al entorno basándose en recompensas/pagos infrecuentes (es decir, aprendizaje por refuerzo) y aplicar estas reglas para generar un comportamiento que coincidiera con el sistema real. Esta implementación temprana y ambiciosa fue considerada posteriormente como demasiado compleja, lo que produjo resultados inconsistentes. [ 2 ] [ 17 ]
A partir de 1980, Kenneth de Jong y su estudiante Stephen Smith adoptaron un enfoque diferente para el aprendizaje automático basado en reglas con (LS-1) , donde el aprendizaje se consideraba un proceso de optimización fuera de línea en lugar de un proceso de adaptación en línea. [ 18 ] [ 19 ] [ 20 ] Este nuevo enfoque era más similar a un algoritmo genético estándar, pero desarrollaba conjuntos de reglas independientes. Desde entonces, los métodos LCS inspirados en el marco de aprendizaje en línea introducido por Holland en la Universidad de Michigan se han denominado LCS de estilo Michigan , y aquellos inspirados por Smith y De Jong en la Universidad de Pittsburgh se han denominado LCS de estilo Pittsburgh . [ 2 ] [ 17 ] En 1986, Holland desarrolló lo que se consideraría el LCS de estilo Michigan estándar durante la siguiente década. [ 21 ]
Otros conceptos importantes que surgieron en los primeros días de la investigación de LCS incluyeron: (1) la formalización de un algoritmo de brigada de cubos (BBA) para la asignación/aprendizaje de créditos, [ 22 ] (2) la selección de reglas parentales de un 'nicho ambiental' común (es decir, el conjunto de coincidencias [M]) en lugar de toda la población [P], [ 23 ] (3) la cobertura , introducida por primera vez como un operador de creación , [ 24 ] (4) la formalización de un conjunto de acciones [A], [ 24 ] (5) una arquitectura de algoritmo simplificada, [ 24 ] (6) aptitud basada en la fuerza , [ 21 ] (7) la consideración de problemas de aprendizaje de un solo paso o supervisado [ 25 ] y la introducción del conjunto correcto [C], [ 26 ] (8) aptitud basada en la precisión [ 27 ] (9) la combinación de lógica difusa con LCS [ 28 ] (que más tarde generó un linaje de algoritmos LCS difusos ), (10) el fomento de largos cadenas de acciones y jerarquías predeterminadas para mejorar el rendimiento en problemas de varios pasos, [ 29 ] [ 30 ] [ 31 ] (11) examinar el aprendizaje latente (que más tarde inspiró una nueva rama de sistemas clasificadores anticipatorios (ACS) [ 32 ] ), y (12) la introducción de la primera técnica de asignación de crédito similar al Q-learning . [ 33 ] Si bien no todos estos conceptos se aplican en los algoritmos LCS modernos, cada uno fue un hito en el desarrollo del paradigma LCS.
La revolución
El interés en los sistemas de clasificación de aprendizaje se revitalizó a mediados de la década de 1990 debido principalmente a dos eventos: el desarrollo del algoritmo Q-Learning [ 34 ] para el aprendizaje por refuerzo y la introducción de arquitecturas LCS de estilo Michigan significativamente simplificadas por Stewart Wilson. [ 11 ] [ 35 ] El Sistema de Clasificación de Nivel Cero (ZCS) de Wilson [ 35 ] se centró en aumentar la comprensibilidad algorítmica basada en la implementación estándar LCS de Holland. [ 21 ] Esto se logró, en parte, eliminando la puja de reglas y la lista de mensajes interna, esenciales para la asignación de créditos BBA original, y reemplazándola con una estrategia híbrida BBA/ Q-Learning . ZCS demostró que una arquitectura LCS mucho más simple podía funcionar tan bien como las implementaciones originales, más complejas. Sin embargo, ZCS aún sufría de desventajas de rendimiento, incluida la proliferación de clasificadores demasiado generales.
En 1995, Wilson publicó su artículo fundamental, "Aptitud del clasificador basada en la precisión", en el que introdujo el sistema de clasificación XCS . [ 11 ] XCS tomó la arquitectura simplificada de ZCS y agregó una aptitud basada en la precisión, un GA de nicho (que actúa en el conjunto de acciones [A]), un mecanismo de generalización explícito llamado subsunción y una adaptación de la asignación de crédito de Q-Learning . XCS se popularizó por su capacidad de alcanzar un rendimiento óptimo mientras evolucionaba clasificadores precisos y máximamente generales, así como por su impresionante flexibilidad de problemas (capaz de realizar tanto aprendizaje por refuerzo como aprendizaje supervisado ). Posteriormente, XCS se convirtió en el algoritmo LCS más conocido y estudiado y definió una nueva familia de LCS basados en la precisión . ZCS, por su parte, se convirtió en sinónimo de LCS basado en la fuerza . XCS también es importante porque salvó con éxito la brecha entre LCS y el campo del aprendizaje por refuerzo . Tras el éxito de XCS, los LCS se describieron posteriormente como sistemas de aprendizaje por refuerzo dotados de una capacidad de generalización. [ 36 ] El aprendizaje por refuerzo generalmente busca aprender una función de valor que mapee una representación completa del espacio de estado/acción. De manera similar, el diseño de XCS lo impulsa a formar una representación completa y precisa del espacio del problema (es decir, un mapa completo ) en lugar de centrarse en nichos de alta recompensa en el entorno (como era el caso con LCS basado en fuerza). Conceptualmente, los mapas completos no solo capturan lo que se debe hacer, o lo que es correcto, sino también lo que no se debe hacer, o lo que es incorrecto. Por el contrario, la mayoría de los LCS basados en fuerza, o los LCS de aprendizaje exclusivamente supervisado, buscan un conjunto de reglas de generalizaciones eficientes en forma de un mapa de mejor acción (o un mapa parcial ). Desde entonces, se han examinado con mayor detalle las comparaciones entre la aptitud basada en fuerza frente a la basada en precisión y los mapas de acción completos frente a los mejores. [ 37 ] [ 38 ]
Tras el éxito de XCS
XCS inspiró el desarrollo de una nueva generación de algoritmos y aplicaciones LCS. En 1995, Congdon fue el primero en aplicar LCS a investigaciones epidemiológicas reales de enfermedades [ 39 ] seguido de cerca por Holmes, quien desarrolló BOOLE++ , [ 40 ] EpiCS , [ 41 ] y posteriormente EpiXCS [ 42 ] para la clasificación epidemiológica . Estos primeros trabajos inspiraron un interés posterior en la aplicación de algoritmos LCS a tareas de minería de datos complejas y a gran escala, ejemplificadas por las aplicaciones bioinformáticas . En 1998, Stolzmann introdujo los sistemas clasificadores anticipatorios (ACS) que incluían reglas en forma de "condición-acción-efecto", en lugar de la representación clásica de "condición-acción". [ 32 ] ACS fue diseñado para predecir las consecuencias perceptivas de una acción en todas las situaciones posibles en un entorno. En otras palabras, el sistema desarrolla un modelo que especifica no solo qué hacer en una situación dada, sino que también proporciona información sobre lo que sucederá después de que se ejecute una acción específica. Esta familia de algoritmos LCS es la más adecuada para problemas de varios pasos, planificación, aceleración del aprendizaje o desambiguación de alias perceptual (es decir, donde la misma observación se obtiene en estados distintos pero requiere acciones diferentes). Butz continuó más tarde con esta familia anticipatoria de LCS desarrollando una serie de mejoras al método original. [ 43 ] En 2002, Wilson introdujo XCSF , añadiendo una acción calculada para realizar aproximación de función. [ 44 ] En 2003, Bernado-Mansilla introdujo un sistema clasificador supervisado (UCS) , que especializó el algoritmo XCS a la tarea de aprendizaje supervisado , problemas de un solo paso y formación de un conjunto de mejor acción. UCS eliminó la estrategia de aprendizaje por refuerzo en favor de una aptitud de regla simple, basada en precisión, así como las fases de aprendizaje de exploración/explotación, características de muchos aprendices por refuerzo. Bull introdujo un LCS simple basado en precisión (YCS) [ 45 ] y un sistema clasificador mínimo LCS simple basado en fuerza (MCS) [ 46 ] con el fin de desarrollar una mejor comprensión teórica del marco LCS. Bacardit introdujo GAssist [ 47 ] y BioHEL , [ 48]] LCS de estilo Pittsburgh diseñados paraminería de datosyescalabilidada grandes conjuntos de datos enbioinformáticas. En 2008, Drugowitsch publicó el libro titulado "Diseño y análisis de sistemas clasificadores de aprendizaje" que incluye un examen teórico de los algoritmos LCS. [ 49 ] Butz introdujo la primera visualización de aprendizaje de reglas en línea dentro de unaGUIpara XCSF [ 1 ] (ver la imagen en la parte superior de esta página). Urbanowicz extendió el marco UCS e introdujoExSTraCS,diseñado explícitamente parael aprendizaje supervisadoen dominios de problemas ruidosos (por ejemplo, epidemiología y bioinformática). [ 50 ] ExSTraCS integró (1) conocimiento experto para dirigir la cobertura y el algoritmo genético hacia características importantes en los datos, [ 51 ] (2) una forma de memoria a largo plazo denominada seguimiento de atributos, [ 52 ] que permite un aprendizaje más eficiente y la caracterización de patrones de datos heterogéneos, y (3) una representación de reglas flexible similar a la representación de lista de atributos discreta-continua mixta de Bacardit. [ 53 ] Tanto Bacardit como Urbanowicz exploraron estrategias estadísticas y de visualización para interpretar reglas LCS y realizar descubrimiento de conocimiento para minería de datos. [ 12 ] [ 13 ] Browne e Iqbal exploraron el concepto de reutilizar bloques de construcción en forma de fragmentos de código y fueron los primeros en resolver el problema de referencia del multiplexor de 135 bits aprendiendo primero bloques de construcción útiles de problemas de multiplexor más simples. [ 54 ] ExSTraCS 2.0se introdujo más tarde para mejorar la escalabilidad de LCS al estilo Michigan, resolviendo con éxito el problema de referencia del multiplexor de 135 bits por primera vez directamente. [ 5 ] El problema del multiplexor de n bitses altamenteepistáticoyheterogéneode aprendizaje automáticomuy desafiante.
Variantes
Sistema clasificador de aprendizaje al estilo de Michigan
Los sistemas de control de aprendizaje (LCS) de estilo Michigan se caracterizan por un conjunto de reglas donde el algoritmo genético opera a nivel de reglas individuales y la solución está representada por el conjunto completo de reglas. Estos sistemas también aprenden de forma incremental, lo que les permite realizar tanto aprendizaje por refuerzo como aprendizaje supervisado, así como aprendizaje en línea y fuera de línea. Los sistemas de estilo Michigan tienen la ventaja de ser aplicables a un mayor número de dominios de problemas y ofrecen los beneficios únicos del aprendizaje incremental.
Sistema clasificador de aprendizaje al estilo de Pittsburgh
Los sistemas de control de versiones tipo Pittsburgh se caracterizan por una población de conjuntos de reglas de longitud variable, donde cada conjunto representa una posible solución. El algoritmo genético suele operar a nivel de un conjunto de reglas completo. Estos sistemas también pueden generar listas de reglas ordenadas de forma única, además de emplear una regla predeterminada. Su ventaja inherente radica en la capacidad de identificar conjuntos de reglas más pequeños, lo que facilita su interpretación durante la inspección manual de las reglas.
Sistemas híbridos
También se han propuesto sistemas que buscan combinar las principales fortalezas de ambos sistemas.
Ventajas
- Adaptables: Pueden aclimatarse a un entorno cambiante en el caso del aprendizaje en línea.
- Sin modelo: Hacen suposiciones limitadas sobre el entorno o los patrones de asociación dentro de los datos.
- Pueden modelar patrones subyacentes complejos, epistáticos, heterogéneos o distribuidos sin depender de conocimientos previos.
- No hacen suposiciones sobre la cantidad de características predictivas frente a no predictivas en los datos.
- Aprendizaje por conjuntos: No se aplica un único modelo a una instancia determinada que proporcione una predicción universal. En cambio, un conjunto de reglas relevantes y a menudo contradictorias emiten un «voto» que puede interpretarse como una predicción aproximada.
- Aprendizaje estocástico: El aprendizaje no determinista resulta ventajoso en problemas a gran escala o de alta complejidad, donde el aprendizaje determinista o exhaustivo se vuelve intratable.
- Multiobjetivo implícito: Las reglas evolucionan hacia la precisión bajo presiones implícitas y explícitas que fomentan la máxima generalidad/simplicidad. Esta presión de generalización implícita es exclusiva de LCS. En efecto, las reglas más generales aparecerán con mayor frecuencia en los conjuntos de coincidencias. A su vez, tienen una mayor probabilidad de ser seleccionadas como progenitoras y transmitir sus características más generales (genomas) a las reglas descendientes.
- Interpretable: En aras de la minería de datos y el descubrimiento de conocimiento, las reglas LCS individuales son lógicas y pueden convertirse en enunciados IF:THEN interpretables por humanos. También se han introducido estrategias eficaces para permitir el descubrimiento global de conocimiento, identificando características significativas y patrones de asociación en el conjunto de reglas. [ 12 ]
- Aplicación flexible
- Problemas de uno o varios pasos
- Aprendizaje supervisado, por refuerzo o no supervisado
- Clasificación binaria y multiclase
- Regresión
- Características discretas o continuas (o una combinación de ambos tipos)
- Dominios problemáticos limpios o ruidosos
- Conjuntos de datos equilibrados o desequilibrados.
- Admite datos faltantes (es decir, valores de características faltantes en las instancias de entrenamiento).
Desventajas
- Disponibilidad limitada de software: Existe un número limitado de implementaciones de LCS de código abierto y accesibles, y aún menos que estén diseñadas para ser fáciles de usar o accesibles para los profesionales del aprendizaje automático.
- Interpretación: Si bien los algoritmos LCS son sin duda más interpretables que algunos sistemas avanzados de aprendizaje automático, los usuarios deben interpretar un conjunto de reglas (a veces, conjuntos extensos) para comprender el modelo LCS. Los métodos de compactación de reglas y las estrategias de interpretación siguen siendo objeto de intensa investigación.
- Teoría/Pruebas de convergencia: Existe un corpus teórico relativamente pequeño sobre los algoritmos LCS. Esto se debe probablemente a su relativa complejidad algorítmica (que implica la aplicación de varios componentes interactivos), así como a su naturaleza estocástica.
- Sobreajuste: Al igual que cualquier sistema de aprendizaje automático, LCS puede sufrir de sobreajuste a pesar de las presiones de generalización implícitas y explícitas.
- Parámetros de ejecución: Los sistemas de aprendizaje por contrato (LCS) suelen tener muchos parámetros de ejecución que considerar u optimizar. Normalmente, la mayoría de los parámetros pueden dejarse con los valores predeterminados establecidos por la comunidad, con la excepción de dos parámetros críticos: el tamaño máximo de la población de reglas y el número máximo de iteraciones de aprendizaje. La optimización de estos parámetros probablemente dependerá en gran medida del problema en cuestión.
- Reconocimiento: A pesar de su antigüedad, los algoritmos LCS aún no son ampliamente conocidos, ni siquiera en las comunidades de aprendizaje automático. Por consiguiente, rara vez se los compara con otros enfoques de aprendizaje automático ya establecidos. Esto se debe probablemente a los siguientes factores: (1) LCS es un enfoque algorítmico relativamente complejo; (2) LCS, basado en reglas , representa un paradigma de modelado distinto al de casi todos los demás enfoques de aprendizaje automático; (3) Las implementaciones de software LCS no son tan comunes.
- Costoso computacionalmente: Si bien son ciertamente más factibles que algunos enfoques exhaustivos, los algoritmos LCS pueden ser computacionalmente costosos. Para problemas de aprendizaje lineales simples, no es necesario aplicar un LCS. Los algoritmos LCS son más adecuados para espacios de problemas complejos o espacios de problemas en los que existe poco conocimiento previo.
Ámbitos problemáticos
- Control adaptativo
- Minería de datos
- Diseño de ingeniería
- Selección de características
- Aproximación de funciones
- Juego
- Clasificación de imágenes
- Gestión del conocimiento
- Diagnóstico médico
- Modelado
- Navegación
- Mejoramiento
- Predicción
- Consultar
- Robótica
- Enrutamiento
- Inducción de reglas
- Programación
- Estrategia
Terminología
El nombre "Sistema de Clasificación de Aprendizaje (LCS)" resulta algo engañoso, ya que existen muchos algoritmos de aprendizaje automático que "aprenden a clasificar" (por ejemplo, árboles de decisión , redes neuronales artificiales ), pero que no son LCS. El término "aprendizaje automático basado en reglas ( RBML )" es útil, puesto que captura con mayor claridad el componente esencial "basado en reglas" de estos sistemas, pero también se generaliza a métodos que no se consideran LCS (por ejemplo, aprendizaje de reglas de asociación o sistemas inmunitarios artificiales ). Términos más generales como "aprendizaje automático basado en genética" e incluso "algoritmo genético" [ 39 ] también se han aplicado para referirse a lo que se definiría más típicamente como un sistema de clasificación de aprendizaje. Debido a su similitud con los algoritmos genéticos , los sistemas de clasificación de aprendizaje al estilo de Pittsburgh a veces se denominan genéricamente "algoritmos genéticos". Más allá de esto, algunos algoritmos LCS, o métodos estrechamente relacionados, han sido denominados "sistemas cognitivos", [ 16 ] "agentes adaptativos", " sistemas de producción " o genéricamente como un "sistema clasificador". [ 55 ] [ 56 ] Esta variación en la terminología contribuye a cierta confusión en el campo.
Hasta la década de 2000, casi todos los métodos de sistemas de clasificación por aprendizaje se desarrollaron teniendo en cuenta problemas de aprendizaje por refuerzo. En consecuencia, el término «sistema de clasificación por aprendizaje» se definía comúnmente como la combinación del aprendizaje por refuerzo por ensayo y error con la búsqueda global de un algoritmo genético. El interés en las aplicaciones de aprendizaje supervisado, e incluso en el aprendizaje no supervisado, ha ampliado desde entonces el uso y la definición de este término.
Véase también
Referencias
- 1 2 Stalph, Patrick O.; Butz, Martin V. (2010-02-01). "JavaXCSF: El sistema clasificador de aprendizaje XCSF en Java". ACM SIGEVOlution . 4 (3): 16– 19. doi : 10.1145/1731888.1731890 . ISSN 1931-8499 . S2CID 16861908 .
- 1 2 3 Urbanowicz, Ryan J.; Moore, Jason H. (2009-09-22). "Sistemas clasificadores de aprendizaje: una introducción completa, revisión y hoja de ruta" . Journal of Artificial Evolution and Applications . 2009 : 1–25 . doi : 10.1155/2009/736398 . ISSN 1687-6229 .
- ↑ Dorigo, Marco (1995). "Alecsys y el AutonoMouse: Aprendiendo a controlar un robot real mediante sistemas clasificadores distribuidos" . Machine Learning . 19 (3): 209– 240. doi : 10.1007/BF00996270 . ISSN 0885-6125 .
- ↑ Bernadó-Mansilla, Ester; Garrell-Guiu, Josep M. (2003-09-01). "Sistemas clasificadores de aprendizaje basados en la precisión: modelos, análisis y aplicaciones a tareas de clasificación". Evolutionary Computation . 11 (3): 209– 238. doi : 10.1162/106365603322365289 . ISSN 1063-6560 . PMID 14558911 . S2CID 9086149 .
- 1 2 3 Urbanowicz, Ryan J.; Moore, Jason H. (2015-04-03). "ExSTraCS 2.0: descripción y evaluación de un sistema clasificador de aprendizaje escalable" . Evolutionary Intelligence . 8 ( 2–3 ): 89–116 . doi : 10.1007/s12065-015-0128-8 . ISSN 1864-5909 . PMC 4583133. PMID 26417393 .
- ↑ Bernadó, Ester; Llorà, Xavier; Garrell, Josep M. (2001-07-07). "XCS y GALE: Un estudio comparativo de dos sistemas de clasificación de aprendizaje en minería de datos". En Lanzi, Pier Luca; Stolzmann, Wolfgang; Wilson, Stewart W. (eds.). Avances en sistemas de clasificación de aprendizaje . Lecture Notes in Computer Science. Vol. 2321. Springer Berlin Heidelberg. pp. 115–132 . doi : 10.1007/3-540-48104-4_8 . ISBN 9783540437932.
- ↑ Bacardit, Jaume; Butz, Martin V. (2007-01-01). "Minería de datos en sistemas de clasificación de aprendizaje: comparación de XCS con GAssist". En Kovacs, Tim; Llorà, Xavier; Takadama, Keiki; Lanzi, Pier Luca; Stolzmann, Wolfgang; Wilson, Stewart W. (eds.). Sistemas de clasificación de aprendizaje . Lecture Notes in Computer Science. Vol. 4399. Springer Berlin Heidelberg. pp. 282–290 . CiteSeerX 10.1.1.553.4679 . doi : 10.1007/978-3-540-71231-2_19 . ISBN 9783540712305.
- ↑ Urbanowicz, Ryan; Ramanand, Niranjan; Moore, Jason (1 de enero de 2015). "Minería continua de datos de punto final con ExSTraCS". Actas de la publicación complementaria de la Conferencia Anual de Computación Genética y Evolutiva de 2015. GECCO Companion '15. Nueva York, NY, EE. UU.: ACM. págs. 1029–1036 . doi : 10.1145/2739482.2768453 . ISBN 9781450334884. S2CID 11908241 .
- ↑ Butz, MV; Lanzi, PL; Wilson, SW (2008-06-01). "Aproximación de funciones con XCS: condiciones hiperelipsoidales, mínimos cuadrados recursivos y compactación". IEEE Transactions on Evolutionary Computation . 12 (3): 355– 376. Bibcode : 2008ITEC...12..355B . doi : 10.1109/TEVC.2007.903551 . ISSN 1089-778X . S2CID 8861046 .
- ↑ Introducción al aprendizaje automático basado en reglas: una guía práctica , Ryan J. Urbanowicz y Will Browne, véanse las páginas 72-73 para la arquitectura al estilo de Michigan frente a la arquitectura al estilo de Pittsburgh.
- 1 2 3 Wilson, Stewart W. (1995-06-01). "Aptitud del clasificador basada en la precisión". Evol. Comput . 3 (2): 149– 175. CiteSeerX 10.1.1.363.2210 . doi : 10.1162/evco.1995.3.2.149 . ISSN 1063-6560 . S2CID 18341635 .
- 1 2 3 Urbanowicz, RJ; Granizo-Mackenzie, A.; Moore, JH (2012-11-01). "Una canalización de análisis con descubrimiento de conocimiento guiado por estadística y visualización para sistemas clasificadores de aprendizaje estilo Michigan" . IEEE Computational Intelligence Magazine . 7 (4): 35– 45. Bibcode : 2012ICIM....7d..35U . doi : 10.1109/MCI.2012.2215124 . ISSN 1556-603X . PMC 4244006. PMID 25431544 .
- 1 2 Bacardit, Jaume; Llorà, Xavier (2013). "Minería de datos a gran escala mediante aprendizaje automático basado en genética". Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery . 3 (1): 37– 61. doi : 10.1002/widm.1078 . S2CID 43062613 .
- ↑ Holland, John (1975). Adaptación en sistemas naturales y artificiales: un análisis introductorio con aplicaciones a la biología, el control y la inteligencia artificial . Michigan Press. ISBN 9780262581110.
- ↑ Holland JH (1976) Adaptación. En: Rosen R, Snell F (eds) Avances en biología teórica, vol. 4. Academic Press, Nueva York, pp. 263–293
- 1 2 Holland JH, Reitman JS (1978) Sistemas cognitivos basados en algoritmos adaptativos. Reimpreso en: Computación evolutiva. El registro fósil. En: David BF (ed) IEEE Press, Nueva York 1998. ISBN 0-7803-3481-7
- 1 2 Lanzi, Pier Luca (2008-02-08). "Sistemas de clasificación de aprendizaje: antes y ahora". Evolutionary Intelligence . 1 (1): 63– 82. doi : 10.1007/s12065-007-0003-3 . ISSN 1864-5909 . S2CID 27153843 .
- ↑ Smith S (1980) Un sistema de aprendizaje basado en algoritmos adaptativos genéticos. Tesis doctoral, Departamento de Ciencias de la Computación, Universidad de Pittsburgh
- ↑ Smith S (1983) Aprendizaje flexible de heurísticas para la resolución de problemas mediante búsqueda adaptativa . En: Octava conferencia internacional conjunta sobre inteligencia artificial. Morgan Kaufmann, Los Altos, pp. 421–425
- ↑ De Jong KA (1988) Aprendizaje con algoritmos genéticos: una visión general. Mach Learn 3:121–138
- 1 2 3 Holland, John H. "Escapando de la fragilidad: las posibilidades de los algoritmos de aprendizaje de propósito general aplicados a sistemas paralelos basados en reglas." Aprendizaje automático (1986): 593-623.
- ↑ Holland, John H. (1985-01-01). Propiedades de la brigada de cubos . Hillsdale, NJ, EE. UU.: L. Erlbaum Associates Inc. págs. 1–7 . ISBN 978-0805804263.
{{cite book}}:|journal=ignorado ( ayuda ) - ↑ Booker, L (1982-01-01). El comportamiento inteligente como adaptación al entorno de la tarea (Tesis). Universidad de Michigan. Archivado del original el 14 de febrero de 2015.
- 1 2 3 Wilson, SW " Crecimiento del conocimiento en un animal artificial . Actas de la Primera Conferencia Internacional sobre Algoritmos Genéticos y sus Aplicaciones." (1985).
- ↑ Wilson, Stewart W. (1987). "Sistemas clasificadores y el problema de los animats" . Machine Learning . 2 (3): 199– 228. doi : 10.1007/BF00058679 . ISSN 0885-6125 .
- ↑ Bonelli, Pierre; Parodi, Alexandre; Sen, Sandip; Wilson, Stewart (1990-01-01). NEWBOOLE: Un sistema GBML rápido . San Francisco, CA, EE. UU.: Morgan Kaufmann Publishers Inc. págs. 153–159 . ISBN 978-1558601413.
{{cite book}}:|journal=ignorado ( ayuda ) - ↑ Frey, Peter W.; Slate, David J. (1991). "Reconocimiento de letras mediante clasificadores adaptativos al estilo de Holland" . Machine Learning . 6 (2): 161– 182. doi : 10.1007/BF00114162 . ISSN 0885-6125 .
- ↑ Valenzuela-Rendón, Manuel. " El sistema clasificador difuso: un sistema clasificador para variables que varían continuamente ". En ICGA , págs. 346-353. 1991.
- ↑ Riolo, Rick L. (1988-01-01). Estudios empíricos de jerarquías y secuencias de reglas predeterminadas en sistemas de clasificación de aprendizaje (Tesis). Ann Arbor, MI, EE. UU.: Universidad de Michigan.
- ↑ RL, Riolo (1987-01-01). "Rendimiento de la brigada de cubos. I. Secuencias largas de clasificadores" . Algoritmos genéticos y sus aplicaciones: Actas de la Segunda Conferencia Internacional sobre Algoritmos Genéticos: 28-31 de julio de 1987 en el Instituto Tecnológico de Massachusetts, Cambridge, MA .
- ↑ RL, Riolo (1987-01-01). "Rendimiento de la brigada de cubos. II. Jerarquías predeterminadas" . Algoritmos genéticos y sus aplicaciones: Actas de la Segunda Conferencia Internacional sobre Algoritmos Genéticos: 28-31 de julio de 1987 en el Instituto Tecnológico de Massachusetts, Cambridge, MA .
- 1 2 W. Stolzmann, "Sistemas clasificadores anticipatorios", en Actas de la 3ª Conferencia Anual de Programación Genética, págs. 658–664, 1998.
- ↑ Riolo, Rick L. (1990-01-01). Planificación anticipada y aprendizaje latente en un sistema clasificador . Cambridge, MA, EE. UU.: MIT Press. págs. 316–326 . ISBN 978-0262631389.
{{cite book}}:|journal=ignorado ( ayuda ) - ↑ Watkins, Christopher John Cornish Hellaby. "Aprender de las recompensas postergadas". Tesis doctoral, Universidad de Cambridge, 1989.
- 1 2 Wilson, Stewart W. (1994-03-01). "ZCS: Un sistema clasificador de nivel cero". Evolutionary Computation . 2 (1): 1– 18. CiteSeerX 10.1.1.363.798 . doi : 10.1162/evco.1994.2.1.1 . ISSN 1063-6560 . S2CID 17680778 .
- ↑ Lanzi, PL (2002). "Aprendizaje de sistemas clasificadores desde una perspectiva de aprendizaje por refuerzo". Soft Computing . 6 ( 3–4 ): 162–170 . doi : 10.1007/s005000100113 . ISSN 1432-7643 . S2CID 39103390 .
- ↑ Kovacs, Timothy Michael Douglas. Una comparación de la aptitud basada en la fuerza y la precisión en sistemas de aprendizaje y clasificación . 2002.
- ↑ Kovacs, Tim (2002). "Dos perspectivas sobre los sistemas clasificadores" . Avances en el aprendizaje de sistemas clasificadores . Lecture Notes in Computer Science. Vol. 2321. pp. 74–87 . doi : 10.1007/3-540-48104-4_6 . ISBN 978-3-540-43793-2.
- 1 2 Congdon, Clare Bates. "Una comparación de algoritmos genéticos y otros sistemas de aprendizaje automático en una tarea de clasificación compleja de la investigación de enfermedades comunes." Tesis doctoral, Universidad de Michigan, 1995.
- ↑ Holmes, John H. (1996-01-01). "Un enfoque de aprendizaje automático basado en la genética para el descubrimiento de conocimiento en datos clínicos" . Actas del Simposio Anual de Otoño de la AMIA : 883. ISSN 1091-8280 . PMC 2233061 .
- ↑ Holmes, John H. " Descubriendo el riesgo de enfermedad con un sistema clasificador de aprendizaje ". En ICGA , págs. 426-433. 1997.
- ↑ Holmes, John H., y Jennifer A. Sager. « Descubrimiento de reglas en datos de vigilancia epidemiológica mediante EpiXCS: un enfoque de computación evolutiva ». En Conferencia sobre Inteligencia Artificial en Medicina en Europa , págs. 444-452. Springer Berlin Heidelberg, 2005.
- ↑ Butz, Martin V. " Sesgo en la exploración en un sistema clasificador de aprendizaje anticipatorio ". En Taller Internacional sobre Sistemas Clasificadores de Aprendizaje , págs. 3-22. Springer Berlin Heidelberg, 2001.
- ↑ Wilson, Stewart W. (2002). "Clasificadores que aproximan funciones". Natural Computing . 1 ( 2– 3): 211– 234. doi : 10.1023/A:1016535925043 . ISSN 1567-7818 . S2CID 23032802 .
- ↑ Bull, Larry. " Un sistema clasificador de aprendizaje simple basado en la precisión ". Informe técnico del Grupo de Sistemas de Clasificación de Aprendizaje UWELCSG03-005, Universidad del Oeste de Inglaterra, Bristol, Reino Unido (2003).
- ↑ Bull, Larry. " Un sistema clasificador de aprendizaje simple basado en recompensas ". En Conferencia Internacional sobre Resolución de Problemas Paralelos inspirada en la Naturaleza , págs. 1032-1041. Springer Berlin Heidelberg, 2004.
- ↑ Peñarroya, Jaume Bacardit. "Aprendizaje automático basado en genética de Pittsburgh en la era de la minería de datos: representaciones, generalización y tiempo de ejecución". Tesis doctoral, Universitat Ramon Llull, 2004.
- ↑ Bacardit, Jaume; Burke, Edmund K.; Krasnogor, Natalio (12 de diciembre de 2008). "Mejorando la escalabilidad del aprendizaje evolutivo basado en reglas". Memetic Computing . 1 (1): 55– 67. doi : 10.1007/s12293-008-0005-4 . ISSN 1865-9284 . S2CID 775199 .
- ↑ Drugowitsch, Jan (2008). Diseño y análisis de sistemas clasificadores de aprendizaje - Springer . Estudios en inteligencia computacional. Vol. 139. doi : 10.1007/978-3-540-79866-8 . ISBN 978-3-540-79865-1.
- ↑ Urbanowicz, Ryan J., Gediminas Bertasius y Jason H. Moore. « Un sistema de clasificación de aprendizaje de estilo Michigan extendido para aprendizaje supervisado flexible, clasificación y minería de datos. Archivado el 29/08/2017 en Wayback Machine ». En Conferencia Internacional sobre Resolución de Problemas Paralelos inspirada en la Naturaleza , págs. 211-221. Springer International Publishing, 2014.
- ↑ Urbanowicz, Ryan J., Delaney Granizo-Mackenzie y Jason H. Moore. « Uso del conocimiento experto para guiar la cobertura y la mutación en un sistema clasificador de aprendizaje estilo Michigan para detectar epistasis y heterogeneidad ». En Conferencia Internacional sobre Resolución de Problemas Paralelos inspirada en la Naturaleza , págs. 266-275. Springer Berlin Heidelberg, 2012.
- ↑ Urbanowicz, Ryan; Granizo-Mackenzie, Ambrose; Moore, Jason (1 de enero de 2012). «Seguimiento de atributos vinculados a instancias y retroalimentación para sistemas clasificadores de aprendizaje supervisado al estilo Michigan». Actas de la 14.ª conferencia anual sobre computación genética y evolutiva . GECCO '12. Nueva York, NY, EE. UU.: ACM. págs. 927–934 . doi : 10.1145/2330163.2330291 . ISBN 9781450311779. S2CID 142534 .
- ↑ Bacardit, Jaume; Krasnogor, Natalio (1 de enero de 2009). "Una representación mixta de lista de atributos discretos-continuos para dominios de clasificación a gran escala". Actas de la 11.ª Conferencia Anual sobre Computación Genética y Evolutiva . GECCO '09. Nueva York, NY, EE. UU.: ACM. págs. 1155–1162 . CiteSeerX 10.1.1.158.7314 . doi : 10.1145/1569901.1570057 . ISBN 9781605583259. S2CID 10906515 .
- ↑ Iqbal, Muhammad; Browne, Will N.; Zhang, Mengjie (2014-08-01). "Reutilización de bloques de construcción de conocimiento extraído para resolver problemas booleanos complejos a gran escala". IEEE Transactions on Evolutionary Computation . 18 (4): 465– 480. Bibcode : 2014ITEC...18..465I . doi : 10.1109/tevc.2013.2281537 . S2CID 525358 .
- ↑ Booker, LB; Goldberg, DE; Holland, JH (1989-09-01). "Sistemas clasificadores y algoritmos genéticos" (PDF) . Inteligencia Artificial . 40 (1): 235– 282. doi : 10.1016/0004-3702(89)90050-7 . hdl : 2027.42/27777 .
- ↑ Wilson, Stewart W., y David E. Goldberg. «Una revisión crítica de los sistemas de clasificación». En Actas de la tercera conferencia internacional sobre algoritmos genéticos , págs. 244-255. Morgan Kaufmann Publishers Inc., 1989.
Enlaces externos
Tutorial en vídeo
- Sistemas de clasificación de aprendizaje en pocas palabras - (2016) Adéntrate en un algoritmo LCS básico para aprender sus componentes y cómo funcionan.
Páginas web
- LCS y GBML Central
- Grupo de investigación sobre clasificadores de aprendizaje de la UWE
- Dinámica de predicción
- Algoritmos evolutivos