stringtranslate.com

Sistema clasificador de aprendizaje.

Visualización 2D de reglas LCS aprendiendo a aproximar una función 3D. Cada elipse azul representa una regla individual que cubre parte del espacio de solución. (Adaptado de imágenes tomadas de XCSF [1] con autorización de Martin Butz)

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 por partes 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 complejas en partes más pequeñas y simples para el aprendizaje por refuerzo que se encuentra dentro de la investigación en inteligencia artificial.

Los conceptos fundacionales detrás de los sistemas clasificadores de aprendizaje surgieron de 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 determinado pueden ser bastante variables. Es útil pensar en un LCS como una máquina que consta de varios componentes que interactúan. Se pueden agregar o eliminar componentes, o modificar/intercambiar componentes existentes para satisfacer las demandas de un dominio de problema determinado (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 se puede aplicar de manera flexible a muchos dominios de problemas que requieren aprendizaje automático . Las principales divisiones entre las implementaciones de LCS son las siguientes: (1) arquitectura estilo Michigan versus arquitectura estilo Pittsburgh, [10] (2) aprendizaje por refuerzo versus aprendizaje supervisado , (3) aprendizaje incremental versus aprendizaje por lotes, (4) aprendizaje en línea versus aprendizaje fuera de línea , (5) aptitud física basada en la fuerza versus aptitud basada en la precisión, y (6) mapeo de acciones completo versus mapeo de mejores acciones. Estas divisiones no son necesariamente excluyentes entre sí. 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

Un esquema paso a paso que ilustra un ciclo de aprendizaje genérico de un sistema clasificador de aprendizaje estilo Michigan que realiza un aprendizaje supervisado.

Teniendo en cuenta que LCS es un paradigma para el aprendizaje automático basado en genética en lugar de un método específico, a continuación se describen los elementos clave de un algoritmo LCS genérico y moderno (es decir, post-XCS). Para simplificar, centrémonos en la arquitectura de estilo Michigan con aprendizaje supervisado. Vea las ilustraciones de la derecha que muestran los pasos secuenciales involucrados en 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 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 criterio de valoración 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 funciones , por lo tanto, no todas las funciones de los datos de entrenamiento necesitan ser informativas. El conjunto de valores de características de una instancia se denomina comúnmente estado . Para simplificar, supongamos un dominio de problema de ejemplo con características booleanas / binarias y una clase booleana / binaria . Para los sistemas estilo Michigan, se entrena una instancia del entorno en cada ciclo de aprendizaje (es decir, aprendizaje incremental). Los sistemas estilo Pittsburgh realizan aprendizaje por lotes, donde los conjuntos de reglas se evalúan en cada iteración sobre gran parte o todos 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 tomar la forma de una expresión {SI: ENTONCES} (por ejemplo, { SI 'condición' ENTONCES 'acción'}, o como un ejemplo más específico, {SI 'rojo' Y 'octágono' ENTONCES 'señal de pare'} ). Un concepto crítico 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 la regla solo es aplicable cuando se cumple su condición. Piense en una regla como un "modelo local" del espacio de solución.

Las reglas se pueden representar de muchas maneras diferentes para manejar diferentes tipos de datos (por ejemplo, binarios, de valores discretos, ordinales, de valores continuos). Dados datos binarios, LCS tradicionalmente aplica una representación de regla ternaria (es decir, las reglas pueden incluir un 0, 1 o '#' para cada característica de los datos). El símbolo "no importa" (es decir, "#") sirve como comodín dentro de la condición de una regla, lo que permite a las reglas y al sistema en su conjunto generalizar 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 sexta característica 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 instancia cumple la condición de la regla. Esto se conoce más comúnmente como coincidencia. En la LCS al estilo de Michigan, cada regla tiene su propia idoneidad, así como una serie de otros parámetros de regla asociados con ella que pueden describir el número de copias de esa regla que existen (es decir, la numerosidad ), la edad de la regla, su precisión, o la precisión de sus predicciones de recompensa, y otras estadísticas descriptivas o experienciales. 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, los algoritmos evolutivos ), las poblaciones LCS comienzan vacías (es decir, no hay necesidad de inicializar aleatoriamente una población de reglas). En cambio, los clasificadores se presentarán inicialmente a la población con un mecanismo de cobertura.

En cualquier LCS, el modelo entrenado es un conjunto de reglas/clasificadores, en lugar de una sola regla/clasificador. En el LCS estilo Michigan, toda la población de clasificadores entrenados (y opcionalmente, compactados) forma el modelo de predicción.

Pareo

Uno de los elementos más críticos y que a menudo requiere más tiempo de una LCS es el proceso de emparejamiento. El primer paso en un ciclo de aprendizaje LCS toma una única instancia de entrenamiento del entorno y la pasa a [P] donde se lleva a cabo la coincidencia. En el paso dos, cada regla en [P] ahora 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, las reglas coincidentes se mueven a un conjunto coincidente [M]. Una regla coincide con una instancia de entrenamiento si todos los valores de característica 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 sea (001001 ~ 0), estas reglas coincidirían: (###0## ~ 0), (00###1 ~ 0), (#01001 ~ 1), pero estas reglas no sería (1##### ~ 0), (000##1 ~ 0), (#0#1#0 ~ 1). Tenga en cuenta que al comparar, el punto final/acción especificado por la regla no se tiene en cuenta. Como resultado, el conjunto de coincidencias puede contener clasificadores que propongan acciones contradictorias. 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 entra en el conjunto correcto si propone la acción correcta (basada en la acción conocida de la instancia de entrenamiento); de lo contrario, entra en [I]. En el aprendizaje por refuerzo LCS, aquí se formaría un conjunto de acciones [A], ya que no se conoce la acción correcta.

Cubierta

En este punto del ciclo de aprendizaje, si ningún clasificador llegó a [M] o [C] (como sería el caso cuando la población comienza vacía), se aplica el mecanismo de cobertura (quinto paso). La cobertura es una forma de inicialización de población inteligente en línea . La cobertura genera aleatoriamente una regla que coincide con la instancia de capacitación actual (y en el caso del aprendizaje supervisado, esa regla también se genera con la acción correcta. Suponiendo que la instancia de capacitación 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 coincidente correcta en [C], sino que también. 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 coincidan 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 adquirida en la instancia de capacitación actual. Dependiendo del algoritmo LCS, se pueden realizar varias actualizaciones en este paso. Para el aprendizaje supervisado, simplemente podemos 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 las reglas puede considerarse como una "precisión local". La idoneidad de las reglas también se actualiza aquí y comúnmente se calcula en función de la precisión de las reglas. El concepto de aptitud está tomado directamente de los algoritmos genéticos clásicos . Tenga en cuenta que existen muchas variaciones sobre cómo LCS actualiza los parámetros para realizar la asignación de créditos y el aprendizaje.

Subsunción

En el séptimo paso, normalmente se aplica 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 numerosidad). Esto sólo puede suceder 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 (GA) altamente elitista que seleccionará dos clasificadores principales en función de la aptitud (supervivencia del más apto). Los padres se seleccionan de [C] normalmente mediante la selección de torneo . Algunos sistemas han aplicado la selección de la rueda de la ruleta o la selección determinista, y han seleccionado de manera diferente las reglas principales 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 padres como de hijos se devuelven a [P]. El algoritmo genético LCS es altamente elitista ya que en cada iteración de aprendizaje se preserva a la gran mayoría de la población. Alternativamente, el descubrimiento de reglas se puede realizar mediante algún otro método, como un algoritmo de estimación de distribución , pero un AG es, con diferencia, el enfoque más común. Los algoritmos evolutivos como el GA 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 garantiza que converja en una solución óptima.

Supresión

El último paso en un ciclo de aprendizaje genérico de LCS es mantener el tamaño máximo de la población. El mecanismo de eliminación seleccionará clasificadores para su eliminación (comúnmente usando la selección de la ruleta). La probabilidad de que se seleccione un clasificador para su eliminación es inversamente proporcional a su idoneidad. Cuando se selecciona un clasificador 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 recorrerá estos pasos repetidamente durante un número de iteraciones de entrenamiento definido por el usuario, o hasta que se hayan cumplido algunos criterios de finalización definidos por el usuario. Para el aprendizaje en línea, LCS obtendrá una instancia de capacitación completamente nueva en cada iteración del entorno. Para el aprendizaje fuera de línea, LCS iterará a través de un conjunto de datos de entrenamiento finito. Una vez que llegue a la última instancia del conjunto de datos, volverá a la primera instancia y recorrerá el conjunto de datos nuevamente.

Compactación de reglas

Una vez que se completa la capacitación, la población de reglas contendrá inevitablemente algunas reglas deficientes, redundantes e inexpertas. Es común aplicar una regla de compactación o heurística de condensación como paso de posprocesamiento. Esta población de reglas compactada resultante está lista para aplicarse como modelo de predicción (por ejemplo, hacer predicciones en instancias de prueba) y/o interpretarse para el descubrimiento de conocimientos .

Predicción

Ya sea que se haya aplicado o no la compactación de reglas, el resultado de un algoritmo LCS es una población de clasificadores que se pueden aplicar para hacer predicciones en instancias nunca antes vistas. El mecanismo de predicción no es parte del ciclo de aprendizaje LCS supervisado en sí; sin embargo, jugaría un papel importante en un ciclo de aprendizaje LCS de aprendizaje por refuerzo. Por ahora consideraremos cómo se puede aplicar el mecanismo de predicción para hacer predicciones para probar datos. Al realizar predicciones, los componentes de aprendizaje de LCS se desactivan para que la población no siga aprendiendo de los datos de prueba entrantes. Se pasa una instancia de prueba a [P] donde se forma un conjunto de coincidencias [M] como de costumbre. En este punto, el conjunto de coincidencias se pasa de manera diferente a una matriz de predicción. Las reglas del conjunto de partidos 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 de coincidencia gana y se convierte en la predicción seleccionada. No todas las reglas obtienen el mismo voto. Más bien, la fuerza del voto a favor de una norma única suele ser proporcional a su numerosidad y adecuación. Este esquema de votación y la naturaleza de cómo LCS almacena el conocimiento sugiere que los algoritmos de LCS son implícitamente aprendices de conjunto .

Interpretación

Las reglas individuales de LCS suelen ser expresiones IF:THEN legibles por humanos. Las reglas que constituyen el modelo de predicción LCS pueden clasificarse según diferentes parámetros de reglas e inspeccionarse manualmente. También se han propuesto estrategias globales para guiar el descubrimiento de conocimientos mediante estadísticas y gráficos. [12] [13] Con respecto a otros enfoques avanzados de aprendizaje automático, como las redes neuronales artificiales , los bosques aleatorios o la 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 mejor conocido por su trabajo de popularización de los algoritmos genéticos (GA), 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 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 "Cognitive Systems based on Adaptive Algoritmos". [16] Este primer sistema, denominado Cognitive System One (CS-1), fue concebido como una herramienta de modelado, diseñada para modelar un sistema real (es decir, el entorno ) con una dinámica subyacente desconocida utilizando una población de reglas legibles por humanos. El objetivo era crear un conjunto de reglas para realizar aprendizaje automático en línea para adaptarse al entorno basándose en pagos/recompensas poco frecuentes (es decir, aprendizaje reforzado) y aplicar estas reglas para generar un comportamiento que coincidiera con el sistema real. Esta implementación temprana y ambiciosa se consideró más tarde demasiado compleja y produjo resultados inconsistentes. [2] [17]

A partir de 1980, Kenneth de Jong y su alumno 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 desarrolló 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 al estilo de Michigan , y los inspirados por Smith y De Jong en la Universidad de Pittsburgh se han denominado LCS al estilo de Pittsburgh. LCS . [2] [17] En 1986, Holland desarrolló lo que se consideraría el LCS estándar estilo Michigan para la próxima 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 principales de un 'nicho ambiental' común ( es decir, el conjunto de coincidencias [M]) en lugar de toda la población [P], [23] (3) que cubre , introducido 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) consideración de problemas de aprendizaje supervisados ​​o de un solo paso [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 luego generó un linaje de algoritmos LCS difusos ), (10) fomentar largas cadenas de acción 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 los sistemas clasificadores anticipatorios (ACS) [32] ), y (12) la introducción del Primera técnica de asignación de créditos tipo Q-learning . [33] Si bien no todos estos conceptos se aplican en los algoritmos LCS modernos, cada uno de ellos fue un hito en el desarrollo del paradigma LCS.

La Revolución

El interés en el aprendizaje de sistemas clasificadores se revitalizó a mediados de la década de 1990, en gran parte debido a dos acontecimientos; el desarrollo del algoritmo Q-Learning [34] para el aprendizaje por refuerzo y la introducción de arquitecturas LCS estilo Michigan significativamente simplificadas por Stewart Wilson. [11] [35] El sistema clasificador de nivel cero (ZCS) de Wilson [35] se centró en aumentar la comprensibilidad algorítmica basada en la implementación LCS estándar de Holland. [21] Esto se hizo, en parte, eliminando la licitación de reglas y la lista de mensajes internos, esenciales para la asignación de créditos BBA original, y reemplazándolos con una estrategia híbrida BBA/ Q-Learning . ZCS demostró que una arquitectura LCS mucho más simple podría funcionar tan bien como las implementaciones originales, más complejas. Sin embargo, ZCS todavía sufría inconvenientes de rendimiento, incluida la proliferación de clasificadores demasiado generales.

En 1995, Wilson publicó su artículo histórico, "Aptitud del clasificador basado 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éditos de Q-Learning . XCS se popularizó por su capacidad para alcanzar un rendimiento óptimo al tiempo que desarrollaba clasificadores precisos y de máxima generalidad, así como por su impresionante flexibilidad de problemas (capaz de realizar tanto aprendizaje por refuerzo como aprendizaje supervisado ). Más tarde, XCS se convirtió en el algoritmo LCS más conocido y estudiado y definió una nueva familia de LCS basados ​​en la precisión . Alternativamente, ZCS se convirtió en sinónimo de LCS basado en la fuerza . XCS también es importante porque cerró con éxito la brecha entre LCS y el campo del aprendizaje por refuerzo . Tras el éxito de XCS, los LCS se describieron más tarde como sistemas de aprendizaje por refuerzo dotados de una capacidad de generalización. [36] El aprendizaje por refuerzo normalmente busca aprender una función de valor que traza 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 alto rendimiento en el entorno (como fue el caso con LCS basado en fortalezas). Conceptualmente, los mapas completos no solo capturan lo que debes hacer o lo que es correcto, sino también lo que no debes hacer o lo que es incorrecto. De manera diferente, la mayoría de las LCS basadas en fortalezas, o LCS de aprendizaje exclusivamente supervisado, buscan un conjunto de reglas de generalizaciones eficientes en forma de un mapa de mejores acciones (o un mapa parcial ). Desde entonces, se han examinado con mayor detalle las comparaciones entre la fuerza y ​​la aptitud basada en la precisión y los mapas de acción completos y mejores. [37] [38]

A raíz de XCS

XCS inspiró el desarrollo de una generación completamente nueva de algoritmos y aplicaciones LCS. En 1995, Congdon fue el primero en aplicar LCS a investigaciones epidemiológicas de enfermedades en el mundo real [39], seguido de cerca por Holmes, quien desarrolló BOOLE++ , [40] EpiCS , [41] y más tarde 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 personificadas en aplicaciones bioinformáticas . En 1998, Stolzmann introdujo sistemas clasificadores anticipados (SCA) 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 sólo qué hacer en una situación determinada, sino que también proporciona información de lo que sucederá después de que se ejecute una acción específica. Esta familia de algoritmos LCS es más adecuada para problemas de varios pasos, planificación, aceleración del aprendizaje o eliminación de alias de percepción (es decir, cuando la misma observación se obtiene en distintos estados pero requiere diferentes acciones). Más tarde, Butz persiguió 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 la aproximación de funciones. [44] En 2003, Bernado-Mansilla introdujo un Sistema Clasificador Supervisado (UCS) , que especializó el algoritmo XCS en la tarea de aprendizaje supervisado , problemas de un solo paso y formación de un conjunto de mejores acciones. UCS eliminó la estrategia de aprendizaje por refuerzo en favor de una regla simple y basada en la precisión, así como las fases de aprendizaje de exploración/explotación, características de muchos estudiantes por refuerzo. Bull introdujo un LCS (YCS) simple basado en la precisión [45] y un sistema clasificador mínimo (MCS) LCS simple basado en la fuerza [46] para desarrollar una mejor comprensión teórica del marco LCS. Bacardit presentó GAssist [47] y BioHEL , [48] LCS estilo Pittsburgh diseñados para minería de datos y escalabilidad a grandes conjuntos de datos en bioinformática.aplicaciones. 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 regla de visualización de aprendizaje en línea dentro de una GUI para XCSF [1] (consulte la imagen en la parte superior de esta página). Urbanowicz amplió el marco UCS e introdujo ExSTraCS, diseñado explícitamente para el aprendizaje supervisado en dominios problemáticos ruidosos (por ejemplo, epidemiología y bioinformática). [50] ExSTraCS integró (1) conocimiento experto para impulsar el algoritmo genético y de cobertura 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 mixtos discretos-continuos de Bacardit. [53] Tanto Bacardit como Urbanowicz exploraron estrategias estadísticas y de visualización para interpretar las reglas LCS y realizar el descubrimiento de conocimientos para la extracción 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 a partir de problemas de multiplexor más simples. [54] ExSTraCS 2.0 se introdujo más tarde para mejorar la escalabilidad LCS 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 bits es altamente epistático y heterogéneo , lo que lo convierte en una tarea de aprendizaje automático muy desafiante .

Variantes

Sistema clasificador de aprendizaje al estilo de Michigan

Los LCS estilo Michigan se caracterizan por una población de reglas donde el algoritmo genético opera al nivel de reglas individuales y la solución está representada por toda la población de reglas. Los sistemas estilo Michigan 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 estilo Michigan tienen la ventaja de ser aplicables a un mayor número de dominios problemáticos y los beneficios únicos del aprendizaje incremental.

Sistema clasificador de aprendizaje estilo Pittsburgh

Las LCS estilo Pittsburgh se caracterizan por una población de conjuntos de reglas de longitud variable donde cada conjunto de reglas es una solución potencial. El algoritmo genético normalmente opera al nivel de un conjunto de reglas completo. Los sistemas estilo Pittsburgh también pueden desarrollar listas de reglas ordenadas de manera única, así como emplear una regla predeterminada. Estos sistemas tienen la ventaja natural de identificar conjuntos de reglas más pequeños, lo que los hace más interpretables con respecto a la inspección manual de reglas.

Sistemas híbridos

También se han propuesto sistemas que buscan combinar las fortalezas clave de ambos sistemas.

Ventajas

Desventajas

Dominios problemáticos

Terminología

El nombre "Sistema clasificador de aprendizaje (LCS)" es un poco 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 no son LCS. El término "aprendizaje automático basado en reglas ( RBML )" es útil, ya que captura más claramente 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 inmunológicos artificiales ). También se han aplicado términos más generales como "aprendizaje automático basado en genética" e incluso "algoritmo genético" [39] para referirse a lo que se definiría más característicamente como un sistema clasificador de aprendizaje. Debido a su similitud con los algoritmos genéticos , los sistemas clasificadores de aprendizaje estilo 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, "sistemas clasificadores". [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 los sistemas clasificadores de aprendizaje se desarrollaron teniendo en mente los problemas de aprendizaje por refuerzo. Como resultado, el término "sistema clasificador de aprendizaje" se definió comúnmente como la combinación de aprendizaje por refuerzo de "ensayo y error" con la búsqueda global de un algoritmo genético. Desde entonces, el interés en las aplicaciones de aprendizaje supervisado, e incluso en el aprendizaje no supervisado, ha ampliado el uso y la definición de este término.

Ver también

Referencias

  1. ^ ab Stalph, Patrick O.; Butz, Martín V. (1 de febrero de 2010). "JavaXCSF: el sistema clasificador de aprendizaje XCSF en Java". SIGEVOlución . 4 (3): 16-19. doi :10.1145/1731888.1731890. ISSN  1931-8499. S2CID  16861908.
  2. ^ abc Urbanowicz, Ryan J.; Moore, Jason H. (22 de septiembre de 2009). "Sistemas de clasificación de aprendizaje: una introducción, revisión y hoja de ruta completas". Revista de Evolución y Aplicaciones Artificiales . 2009 : 1–25. doi : 10.1155/2009/736398 . ISSN  1687-6229.
  3. ^ Dorigo, Marco (1995). "Alecsys y AutonoMouse: aprender a controlar un robot real mediante sistemas clasificadores distribuidos". Aprendizaje automático . 19 (3): 209–240. doi : 10.1007/BF00996270 . ISSN  0885-6125.
  4. ^ Bernadó-Mansilla, Ester; Garrell-Guiu, Josep M. (1 de septiembre de 2003). "Sistemas clasificadores de aprendizaje basados ​​en la precisión: modelos, análisis y aplicaciones a tareas de clasificación". Computación Evolutiva . 11 (3): 209–238. doi :10.1162/106365603322365289. ISSN  1063-6560. PMID  14558911. S2CID  9086149.
  5. ^ abc Urbanowicz, Ryan J.; Moore, Jason H. (3 de abril de 2015). "ExSTraCS 2.0: descripción y evaluación de un sistema clasificador de aprendizaje escalable". Inteligencia Evolutiva . 8 (2–3): 89–116. doi :10.1007/s12065-015-0128-8. ISSN  1864-5909. PMC 4583133 . PMID  26417393. 
  6. ^ Bernadó, Ester; Llorá, Xavier; Garrell, Josep M. (7 de julio de 2001). "XCS y GALE: un estudio comparativo de dos sistemas clasificadores de aprendizaje en minería de datos". En Lanzi, Muelle Luca; Stolzmann, Wolfgang; Wilson, Stewart W. (eds.). Avances en los sistemas clasificadores de aprendizaje . Apuntes de conferencias sobre informática. vol. 2321. Springer Berlín Heidelberg. págs. 115-132. doi :10.1007/3-540-48104-4_8. ISBN 9783540437932.
  7. ^ Bacardit, Jaume; Butz, Martín V. (1 de enero de 2007). "Minería de datos en sistemas clasificadores 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 clasificadores de aprendizaje . Apuntes de conferencias sobre informática. vol. 4399. Springer Berlín Heidelberg. págs. 282-290. CiteSeerX 10.1.1.553.4679 . doi :10.1007/978-3-540-71231-2_19. ISBN  9783540712305.
  8. ^ Urbanowicz, Ryan; Ramanand, Niranjan; Moore, Jason (1 de enero de 2015). "Minería continua de datos de terminales con ExSTraCS". Actas de la publicación complementaria de la Conferencia Anual de 2015 sobre Computación Genética y Evolutiva . Compañero GECCO '15. Nueva York, NY, Estados Unidos: ACM. págs. 1029-1036. doi :10.1145/2739482.2768453. ISBN 9781450334884. S2CID  11908241.
  9. ^ Butz, MV; Lanzi, PL; Wilson, SO (1 de junio de 2008). "Aproximación de funciones con XCS: condiciones hiperelipsoidales, mínimos cuadrados recursivos y compactación". Transacciones IEEE sobre computación evolutiva . 12 (3): 355–376. doi :10.1109/TEVC.2007.903551. ISSN  1089-778X. S2CID  8861046.
  10. ^ Presentación del aprendizaje automático basado en reglas: una guía práctica, Ryan J. Urbanowicz y Will Browne, consulte las páginas 72-73 para conocer la arquitectura de estilo Michigan versus la arquitectura de estilo Pittsburgh.
  11. ^ abc Wilson, Stewart W. (1 de junio de 1995). "Aptitud del clasificador basada en la precisión". Evolución. Computación . 3 (2): 149–175. CiteSeerX 10.1.1.363.2210 . doi :10.1162/evco.1995.3.2.149. ISSN  1063-6560. S2CID  18341635. 
  12. ^ abc Urbanowicz, RJ; Granizo-Mackenzie, A.; Moore, JH (1 de noviembre de 2012). "Un canal de análisis con descubrimiento de conocimientos estadísticos y guiados por visualización para sistemas clasificadores de aprendizaje al estilo de Michigan". Revista de Inteligencia Computacional IEEE . 7 (4): 35–45. doi :10.1109/MCI.2012.2215124. ISSN  1556-603X. PMC 4244006 . PMID  25431544. 
  13. ^ ab Bacardit, Jaume; Llorá, Xavier (2013). "Minería de datos a gran escala mediante aprendizaje automático basado en genética". Revisiones interdisciplinarias de Wiley: minería de datos y descubrimiento de conocimientos . 3 (1): 37–61. doi : 10.1002/widm.1078. S2CID  43062613.
  14. ^ Holanda, 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. Prensa de Michigan. ISBN 9780262581110.
  15. ^ Holanda JH (1976) Adaptación. En: Rosen R, Snell F (eds) Progreso en biología teórica, vol 4. Academic Press, Nueva York, págs. 263–293
  16. ^ ab 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 
  17. ^ ab Lanzi, Pier Luca (8 de febrero de 2008). "Sistemas clasificadores de aprendizaje: antes y ahora". Inteligencia Evolutiva . 1 (1): 63–82. doi :10.1007/s12065-007-0003-3. ISSN  1864-5909. S2CID  27153843.
  18. ^ Smith S (1980) Un sistema de aprendizaje basado en algoritmos genéticos adaptativos. Doctor. tesis, Departamento de Ciencias de la Computación, Universidad de Pittsburgh
  19. ^ Smith S (1983) Aprendizaje flexible de heurísticas de resolución de problemas mediante búsqueda adaptativa. En: Octava conferencia conjunta internacional sobre inteligencia artificial. Morgan Kaufmann, Los Altos, págs. 421–425
  20. ^ De Jong KA (1988) Aprendizaje con algoritmos genéticos: una descripción general. Aprendizaje Mach 3:121–138
  21. ^ abc Holland, John H. "Escapar de la fragilidad: las posibilidades de los algoritmos de aprendizaje de propósito general aplicados a un sistema paralelo basado en reglas". Aprendizaje automático (1986): 593-623.
  22. ^ Holanda, John H. (1 de enero de 1985). Propiedades de la Brigada del Balde. Hillsdale, Nueva Jersey, EE. UU.: L. Erlbaum Associates Inc. págs. 1–7. ISBN 978-0805804263. {{cite book}}: |journal=ignorado ( ayuda )
  23. ^ Booker, L (1 de enero de 1982). Comportamiento inteligente como adaptación al entorno de tareas (Tesis). Universidad de Michigan.
  24. ^ abc Wilson, SW "Crecimiento del conocimiento en un animal artificial. Actas de la Primera Conferencia Internacional sobre Algoritmos Genéticos y sus Aplicaciones". (1985).
  25. ^ Wilson, Stewart W. (1987). "Los sistemas clasificadores y el problema del animat". Aprendizaje automático . 2 (3): 199–228. doi : 10.1007/BF00058679 . ISSN  0885-6125.
  26. ^ Bonelli, Pedro; Parodi, Alejandro; Sen, Sandip; Wilson, Stewart (1 de enero de 1990). NEWBOOLE: un sistema GBML rápido . San Francisco, CA, EE. UU.: Morgan Kaufmann Publishers Inc. págs. ISBN 978-1558601413. {{cite book}}: |journal=ignorado ( ayuda )
  27. ^ Frey, Peter W.; Pizarra, David J. (1991). "Reconocimiento de letras mediante clasificadores adaptativos estilo holandés". Aprendizaje automático . 6 (2): 161–182. doi : 10.1007/BF00114162 . ISSN  0885-6125.
  28. ^ Valenzuela-Rendón, Manuel. "El sistema clasificador difuso: un sistema clasificador para variables que varían continuamente". En ICGA , págs. 346-353. 1991.
  29. ^ Riolo, Rick L. (1 de enero de 1988). Estudios empíricos de jerarquías predeterminadas y secuencias de reglas en sistemas clasificadores de aprendizaje (Tesis). Ann Arbor, MI, EE.UU.: Universidad de Michigan.
  30. ^ RL, Riolo (1 de enero de 1987). "Actuación 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 al 31 de julio de 1987 en el Instituto de Tecnología de Massachusetts, Cambridge, MA .
  31. ^ RL, Riolo (1 de enero de 1987). "Desempeño 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 al 31 de julio de 1987 en el Instituto de Tecnología de Massachusetts, Cambridge, MA .
  32. ^ ab W. Stolzmann, "Sistemas clasificadores anticipatorios", en Actas de la tercera conferencia anual de programación genética, págs. 658–664, 1998.
  33. ^ Riolo, Rick L. (1 de enero de 1990). 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 )
  34. ^ Watkins, Christopher John Cornish Hellaby. "Aprender de las recompensas retrasadas". Tesis doctoral, Universidad de Cambridge, 1989.
  35. ^ ab Wilson, Stewart W. (1 de marzo de 1994). "ZCS: un sistema clasificador de nivel cero". Computación Evolutiva . 2 (1): 1–18. CiteSeerX 10.1.1.363.798 . doi :10.1162/evco.1994.2.1.1. ISSN  1063-6560. S2CID  17680778. 
  36. ^ Lanzi, PL (2002). "Sistemas clasificadores de aprendizaje desde una perspectiva de aprendizaje por refuerzo". Computación blanda . 6 (3–4): 162–170. doi :10.1007/s005000100113. ISSN  1432-7643. S2CID  39103390.
  37. ^ Kovacs, Timothy Michael Douglas. Una comparación de la fuerza y ​​​​la aptitud física basada en la precisión en los sistemas de aprendizaje y clasificación . 2002.
  38. ^ Kovacs, Tim (2002). "Dos vistas de los sistemas clasificadores". Avances en los sistemas clasificadores de aprendizaje . Apuntes de conferencias sobre informática. vol. 2321, págs. 74–87. doi :10.1007/3-540-48104-4_6. ISBN 978-3-540-43793-2.
  39. ^ ab 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.
  40. ^ Holmes, John H. (1 de enero de 1996). "Un enfoque de aprendizaje automático basado en la genética para el descubrimiento de conocimientos en datos clínicos". Actas del Simposio Anual de Otoño de AMIA : 883. ISSN  1091-8280. PMC 2233061 . 
  41. ^ Holmes, John H. "Descubrimiento del riesgo de enfermedad con un sistema clasificador de aprendizaje". En ICGA , págs. 426-433. 1997.
  42. ^ Holmes, John H. y Jennifer A. Sager. "Descubrimiento de reglas en datos de vigilancia epidemiológica utilizando EpiXCS: un enfoque de cálculo evolutivo". En Conferencia sobre Inteligencia Artificial en Medicina en Europa , págs. 444-452. Springer Berlín Heidelberg, 2005.
  43. ^ Butz, Martin V. "Exploración sesgada en un sistema clasificador de aprendizaje anticipado". En Taller internacional sobre sistemas clasificadores de aprendizaje , págs. Springer Berlín Heidelberg, 2001.
  44. ^ Wilson, Stewart W. (2002). "Clasificadores que aproximan funciones". Computación Natural . 1 (2–3): 211–234. doi :10.1023/A:1016535925043. ISSN  1567-7818. S2CID  23032802.
  45. ^ Toro, Larry. "Un sistema clasificador de aprendizaje simple basado en la precisión". Informe técnico del Grupo de sistemas clasificadores de aprendizaje UWELCSG03-005, Universidad del Oeste de Inglaterra, Bristol, Reino Unido (2003).
  46. ^ Toro, Larry. "Un sencillo sistema clasificador de aprendizaje basado en resultados". En Conferencia internacional sobre resolución de problemas paralelos a partir de la naturaleza , págs. 1032-1041. Springer Berlín Heidelberg, 2004.
  47. ^ 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.
  48. ^ Bacardit, Jaume; Burke, Edmund K.; Krasnogor, Natalio (12 de diciembre de 2008). "Mejora de la escalabilidad del aprendizaje evolutivo basado en reglas". Computación memética . 1 (1): 55–67. doi :10.1007/s12293-008-0005-4. ISSN  1865-9284. S2CID  775199.
  49. ^ Drugowitsch, enero (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.
  50. ^ Urbanowicz, Ryan J., Gediminas Bertasius y Jason H. Moore. "Un sistema clasificador de aprendizaje extendido al estilo de Michigan para aprendizaje, clasificación y extracción de datos flexibles y supervisados". En Conferencia internacional sobre resolución de problemas paralelos a partir de la naturaleza , págs. Publicaciones internacionales Springer, 2014.
  51. ^ Urbanowicz, Ryan J., Delaney Granizo-Mackenzie y Jason H. Moore. "Utilizar el 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 a partir de la naturaleza , págs. Springer Berlín Heidelberg, 2012.
  52. ^ Urbanowicz, Ryan; Granizo-Mackenzie, Ambrose; Moore, Jason (1 de enero de 2012). "Seguimiento y retroalimentación de atributos vinculados a instancias para sistemas clasificadores de aprendizaje supervisados ​​​​al estilo de Michigan". Actas de la 14ª conferencia anual sobre computación genética y evolutiva . GECCO '12. Nueva York, NY, Estados Unidos: ACM. págs. 927–934. doi :10.1145/2330163.2330291. ISBN 9781450311779. S2CID  142534.
  53. ^ Bacardit, Jaume; Krasnogor, Natalio (1 de enero de 2009). "Una representación de lista de atributos mixta discreta-continua para dominios de clasificación a gran escala". Actas de la undécima conferencia anual sobre computación genética y evolutiva . GECCO '09. Nueva York, NY, Estados Unidos: ACM. págs. 1155-1162. CiteSeerX 10.1.1.158.7314 . doi :10.1145/1569901.1570057. ISBN  9781605583259. S2CID  10906515.
  54. ^ Iqbal, Mahoma; Browne, Will N.; Zhang, Mengjie (1 de agosto de 2014). "Reutilización de componentes básicos del conocimiento extraído para resolver problemas booleanos complejos a gran escala". Transacciones IEEE sobre computación evolutiva . 18 (4): 465–480. doi :10.1109/tevc.2013.2281537. S2CID  525358.
  55. ^ Reservador, LB; Goldberg, DE; Holanda, JH (1 de septiembre de 1989). «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 .
  56. ^ Wilson, Stewart W. y David E. Goldberg. "Una revisión crítica de los sistemas clasificadores". En Actas de la tercera conferencia internacional sobre algoritmos genéticos , págs. 244-255. Morgan Kaufmann Publishers Inc., 1989.

enlaces externos

Vídeotutorial

Páginas web