La programación lógica inductiva para el aprendizaje automatizado de conceptos
Texto completo
(2) RESUMEN. RESUMEN En este trabajo se realiza un estudio de otra área del Aprendizaje Automatizado (Machine Learning) poco utilizada en el contexto de la Ciencia de la Computación en Cuba: la Programación Lógica Inductiva (ILP de sus siglas en inglés). La Programación Lógica Inductiva se inscribe dentro de la disciplina de la Inteligencia Artificial, en el campo del Aprendizaje Automatizado, específicamente en el Aprendizaje Inductivo de Conceptos. Constituye una intersección entre el Aprendizaje Automatizado y la Programación Lógica de primer orden, manteniendo el mismo fin que el primero y aprovechando las potencialidades de la última: a partir del suministro de una serie de ejemplos negativos y positivos se pretende construir una hipótesis como en Aprendizaje Inductivo. La idea básica es cubrir los ejemplos positivos y no los negativos (o solo un número pequeño de estos), utilizando el poder de representación y formalismo de la Lógica de primer orden para poder inducir conceptos representados por programas lógicos. Se hace una descripción de los aspectos teóricos más trascendentales de la Programación Lógica Inductiva: origen, definición, problema que resuelve, clasificación de sistemas, ventajas y desventajas, así como el estudio teórico y práctico de algunos sistemas de ILP más comúnmente utilizados en la comunidad científica. Se incluyen también algunos ejemplos con el fin de que el lector comprenda mejor y de una manera más amena la teoría que se presenta.. ________________________________________________________________________________ II.
(3) ABSTRACT. ABSTRACT In this work is carried out a study of another area of the Machine Learning (ML) little used in the context of the Computer Science in Cuba: the Inductive Logic Programming (ILP of their initials in English). The Inductive Logic Programming registers inside the discipline of the Artificial Intelligence, in the field of the Machine Learning, specifically in the Inductive Learning of Concepts. It constitutes an intersection between the Machine Learning and the Logic Programming of first order, maintaining the same purpose that the first one and taking advantage of the potentialities of the last one: starting from the supply of a series of negative and positive examples it is sought to build a hypothesis like in Inductive Learning. The basic idea is to cover the positive examples and not the negatives (or alone a small number of these), using the representation power and formalism of the Logic of first order to be able to induce concepts represented by logic programs. A description of the most momentous theoretical aspects in the Inductive Logic Programming is made: origin, definition, problem that solves, classification of systems, advantages and disadvantages, as well as the theoretical and practical study of some systems of ILP more commonly used in the scientific community. They are also included some examples with the purpose of that the reader understands better and in a more interesting way the theory that is presented.. ________________________________________________________________________________ III.
(4) ÍNDICE DE CONTENIDO. ÍNDICE DE CONTENIDO INTRODUCCIÓN .............................................................................................................................. 1 CAPÍTULO I- ESTADO DEL ARTE DE LA ILP ........................................................................... 4 1.1. 1.2. 1.3. 1.4. Aprendizaje............................................................................................................................. 4 1.1.1. Tipos de Aprendizaje .................................................................................................. 4. 1.1.2. Aprendizaje Automatizado ......................................................................................... 5 1.1.2.1. Un poco de historia del Aprendizaje Automatizado .................................... 6. 1.1.2.2. Algoritmos de Aprendizaje: supervisado y no supervisado ........................ 6. 1.1.2.3. Formalismos de representación del conocimiento....................................... 7. 1.1.2.4. Métodos representativos del Aprendizaje Automatizado .......................... 10. 1.1.2.5. Ventajas y desventajas del Aprendizaje Automatizado............................. 11. 1.1.2.6. Principales aplicaciones ............................................................................. 12. Programación Lógica............................................................................................................ 13 1.2.1. Un poco de historia de la Programación Lógica ...................................................... 14. 1.2.2. Lógica de primer orden y cláusulas de Horn ............................................................ 14. 1.2.3. Programación Lógica: paradigma declarativo .......................................................... 18. 1.2.4. Ventajas y desventajas del uso de la Programación Lógica ..................................... 18. 1.2.5. Principales Aplicaciones de la Programación Lógica .............................................. 19. Programación Lógica Inductiva (ILP). Definición ............................................................... 19 1.3.1. Un poco de historia de la ILP ................................................................................... 22. 1.3.2. El problema de la ILP ............................................................................................... 23. 1.3.3. Clasificación de los sistemas ILP ............................................................................. 25. 1.3.4. Principales Métodos de la ILP .................................................................................. 26. 1.3.5. Ventajas y desventajas del uso de ILP ..................................................................... 27. 1.3.6. Principales aplicaciones ............................................................................................ 30. Conclusiones parciales ......................................................................................................... 32. CAPÍTULO II- MÉTODOS Y SISTEMAS REPRESENTATIVOS DE ILP ............................... 34 2.1. Métodos Botton-Up .............................................................................................................. 34 2.1.1. Generalización Menos General ................................................................................ 35. 2.1.2. Generalización Menos General Relativa .................................................................. 39. 2.1.3. Resolución Inversa ................................................................................................... 39. 2.1.4. Inverse Entailment .................................................................................................... 44. 2.1.5. Inversión de la Implicación ...................................................................................... 44. ________________________________________________________________________________ IV.
(5) ÍNDICE DE CONTENIDO 2.2. Métodos Top-Down .............................................................................................................. 45 2.2.1. MIS ........................................................................................................................... 46. 2.2.2. Familia FOIL ............................................................................................................ 49. 2.3. Bias ....................................................................................................................................... 51. 2.4. Algunos sistemas representativos ......................................................................................... 53. 2.5. 2.4.1. FOIL ......................................................................................................................... 53. 2.4.2. TILDE....................................................................................................................... 55. 2.4.3. Progol ....................................................................................................................... 61. 2.4.4. ALEPH ..................................................................................................................... 63. Conclusiones parciales ......................................................................................................... 66. CAPÍTULO. III–. FUNCIONAMIENTO. DE. ALGUNOS. DE. LOS. SISTEMAS. REPRESENTATIVOS DE ILP ........................................................................................................ 67 3.1. Ejemplo de Aplicación ......................................................................................................... 67. 3.2. ALEPH ................................................................................................................................. 68. 3.3. 3.2.1. Representación del problema ................................................................................... 68. 3.2.2. Lenguaje Bias ........................................................................................................... 71. 3.2.3. Resultado .................................................................................................................. 72. FOIL ..................................................................................................................................... 73 3.3.1. Representación del problema ................................................................................... 73. 3.3.2. Lenguaje Bias ........................................................................................................... 75. 3.3.3. Resultado .................................................................................................................. 75. 3.4. Apuntes sobre relevancia del conocimiento en un sistema ILP ........................................... 76. 3.5. Conclusiones parciales ......................................................................................................... 80. CONCLUSIONES ............................................................................................................................ 81 RECOMENDACIONES .................................................................................................................. 82 REFERENCIAS ............................................................................................................................... 83 APÉNDICES .................................................................................................................................... 88. ________________________________________________________________________________ V.
(6) ÍNDICE DE FIGURAS. ÍNDICE DE FIGURAS Figura 1.1: Árbol de derivación lineal de primer orden. Tomada de (Luján, 2008). ....................... 17 Figura 1.2: Definición de ILP. Tomada de (Luján, 2008). .............................................................. 20 Figura 1.3: Árbol genealógico en términos de las relaciones: “padre” y “femenino”...................... 20 Figura 1.4: Grafo conectado. Tomada de (Luján, 2008). ................................................................. 21 Figura 1.5a: Referencias Bibliográficas sobre ILP. Tomada de (Gómez, 1998).............................. 22 Figura 1.5b: Referencias Bibliográficas sobre ILP. Tomada de www. AuthorMapper.com ........... 23 Figura 1.6: Completitud y Consistencia del Programa Lógico P. Tomada de (Luján, 2008). ........ 24 Figura 1.7: Inhibidor No.1. Tomado de (Marchand-Geneste et al., 2002) ....................................... 32 Figura 1.8: Inhibidor No.2. Tomado de (Marchand-Geneste et al., 2002) ....................................... 32 Figura 2.1: Generalización Menos General. Tomada de (Luján, 2008). .......................................... 37 Figura 2.2: Árbol simple de derivación proposicional. Tomada de (Muggleton et al., 1988). ........ 41 Figura 2.3: Árbol de derivación inversa. Tomada de (Luján, 2008). ............................................... 43 Figura 2.4: Esquema común de generalización. Tomada de (Luján, 2008). .................................... 43 Figura 2.5: Grafo de Refinamiento. Tomada de (Gómez, 1998)..................................................... 48 Figura 2.6: Árbol de decisión lógico de primer orden. Tomada de (Blockeel, 1998). ..................... 56 Figura 3.1: Aprendizaje inductivo realizado por ALEPH. ............................................................... 92 Figura 3.2: Aprendizaje inductivo realizado por ALEPH con un dato ruidoso en el sistema. ......... 93 Figura 3.3: Aprendizaje inductivo realizado por FOIL. ................................................................... 95 Figura 3.4: Aprendizaje inductivo realizado por FOIL con las modificaciones a genderf.pl. ......... 95. ________________________________________________________________________________ VI.
(7) INTRODUCCIÓN. INTRODUCCIÓN Durante miles de años, el hombre ha tratado de entender cómo piensa y razona a corto o a largo plazo. Esta comprensión ha sido vital y ha marcado la diferencia en el desarrollo de la sociedad tal como se conoce hasta hoy. Este conocimiento también se ha combinado con el poder de las computadoras, tratando de simular o lograr un “aprendizaje” en éstas; se intenta unir de esta manera lo mejor de ambos mundos: la agilidad del cómputo de las máquinas y la inteligencia humana. Es así como nace la Inteligencia Artificial (Artificial Intelligence o IA), una ciencia que tiene como objetivo el estudio de cómo lograr que los computadores realicen tareas que por el momento, los humanos hacen mejor, mediante la construcción de entidades o sistemas “inteligentes” (Norvig, 2004). Los orígenes de la IA se remontan hacia poco después de la Segunda Guerra Mundial.. A través del tiempo la misma se ha visto enriquecida con los aportes de Sistemas Basados en el Conocimiento (1969-1979) en el desarrollo de mecanismos de búsquedas de propósito general, para encontrar soluciones completas y, posteriormente, convertida en una Ciencia (desde 1987 hasta el presente) dando surgimiento a los modelos conexionistas conocidos como Redes Neuronales Artificiales que aplican un algoritmo de aprendizaje de retroalimentación aplicados en los campos de la informática y la psicología.. La Programación Lógica Inductiva (Inductive Logic Programming o ILP) es una rama de esta disciplina, que ha venido desarrollando un auge cada vez mayor en su utilización y una también mayor aceptación entre los científicos de las Ciencias de la Computación desde finales del siglo XX hasta hoy en día. La motivación que surgió para realizar el presente trabajo está enmarcada en las ventajas que representa el uso de la ILP; además por lo que la IA es capaz de hacer en muchas actividades dirigidas a varios subcampos; por citar dos ejemplos: •. La creación de programas inteligentes usados como diagnósticos médicos basados en el. análisis probabilista que han llegado a alcanzar niveles similares a los de médicos expertos en algunas áreas de la medicina. •. Desarrollo de nuevas drogas o medicamentos con comportamientos biológicos. semejantes, cuando se involucran en el proceso de descubrimiento y desarrollo de fármacos en la industria farmacéutica.. _______________________________________________________________________________ 1.
(8) INTRODUCCIÓN Es cada vez más medular dentro de la industria competente actual priorizar el "cómo" -o conocimiento descriptivo o declarativo- sobre el "qué" -o conocimiento procedural-. El utilizar técnicas computacionales, y más específicamente, de Aprendizaje Automatizado dentro del campo de la Inteligencia Artificial, a menudo se puede traducir en ahorros en cuestión de tiempo y costos para el desarrollo de estos nuevos productos.. En este contexto, el objetivo general del presente trabajo consiste en la recopilación de información trascendental y en el desarrollo de un estudio sobre la teoría, métodos y sistemas que justifican a la ILP.. En la consecución de este objetivo se listan las siguientes preguntas de investigación: •. ¿Cómo se define la ILP y qué problema fundamental resuelve?. •. ¿Existen facilidades de representación del conocimiento en los diferentes sistemas ILP. que repercutan en el resultado del proceso de inducción?. Para dar cumplimiento al objetivo general, se han planteado los siguientes objetivos específicos:. 1. Plantear el problema fundamental que resuelve la ILP para el Aprendizaje Automatizado de conceptos. 2. Describir el fundamento teórico sobre el cual se apoyan las técnicas y/o métodos de la ILP. 3. Revisar el funcionamiento de los sistemas representativos de ILP y los softwares que los implementan, estableciendo un criterio de comparación entre ellos que tome como punto de partida la teoría aprendida en relación a la estructura de representación del conocimiento suministrado al sistema.. Siguiéndose el contexto de los sistemas ILP, es importante resaltar que aún cuando es posible que algunos de estos tengan un desempeño peor en cuanto a exactitud en la clasificación se refiere (por algunas restricciones impuestas en este tipo de sistemas por su método de aprendizaje) frente a sistemas proposicionales, en muchas aplicaciones de la ILP, esta ha demostrado ser, en disímiles ocasiones, igual de precisa o incluso más que sus contrapartes estadísticas o proposicionales clásicas. Incluso, ha sido posible utilizar la ILP en problemas donde otros métodos son poco prácticos o también de encontrar reglas o relaciones nunca antes obtenidas por humanos o por métodos computacionales, siendo luego verificadas en la práctica. _______________________________________________________________________________ 2.
(9) INTRODUCCIÓN Como consecuencia de esto, se plantean las siguientes hipótesis:. 1. La ILP supera dos de las limitaciones de las técnicas clásicas de Aprendizaje Automatizado, la rigidez en la representación del conocimiento y la dificultad para expresar conocimiento básico. 2. Comparada con otros algoritmos clásicos del Aprendizaje Automatizado, permite aprender con una mejor descripción.. Por tanto, el tipo de investigación que se realiza tiene dos matices significativos: •. Exploratoria.. •. Descriptiva.. Este trabajo se ha estructurado en tres capítulos: •. El primero de ellos trata sobre el estado del arte de la ILP, representando de esta manera. el marco teórico para la investigación. En él se exponen y analizan aquellas teorías, enfoques teórico-matemáticos, definiciones, investigaciones y antecedentes en general válidos para el correcto encuadre del estudio. Como resultado se adoptan las herramientas necesarias para la consecución de los objetivos. •. El segundo capítulo está dedicado al estudio de las técnicas y/o métodos que utiliza la. ILP para llevar a cabo su funcionamiento, además de los sistemas representativos que hacen uso de estas para el aprendizaje de conceptos. •. El tercer capítulo se adentra en el uso y posterior comparación de los softwares que. implementan los sistemas de ILP estudiados en el segundo capítulo. De manera general, incluye aplicaciones prácticas de ILP que permite comprobar la validez de los estudios realizados. Al finalizar se proveen las conclusiones del trabajo así como propuestas para trabajos futuros.. _______________________________________________________________________________ 3.
(10) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. CAPÍTULO I- ESTADO DEL ARTE DE LA ILP En este capítulo se hace una presentación de qué se entiende por ILP, cómo se inserta en la IA, así como sus principales características, ventajas, potencialidades, desventajas y aplicaciones reales. Se incluyen algunas definiciones previas para la comprensión de toda la fuerte teoría matemática sobre la que está fundamentada, así como algunos conceptos previos necesarios con los que pudiera el lector no estar totalmente familiarizado. El objetivo del presente capítulo es mostrar los orígenes de la ILP y su estado del arte.. 1.1. Aprendizaje. De acuerdo con (Michalski, 1986), aprender es la habilidad de adquirir nuevo conocimiento, desarrollar habilidades para analizar y evaluar problemas a través de métodos y técnicas, así como también por medio de la experiencia propia; siendo un requisito que el resultado del aprendizaje sea entendible para un hombre. También, el aprendizaje puede definirse como alguno de los siguientes procesos:. •. Adquisición de nuevo conocimiento.. •. Desarrollo de habilidades motoras y cognoscitivas a través de la instrucción o la. práctica.. •. Organización de nuevo conocimiento dentro de representaciones generales y efectivas.. •. Descubrimiento de nuevos factores y teorías a través de la observación y la. experimentación.. De esta forma, el conocimiento humano puede ser expresado a la lógica en conjunción con la notación matemática, para crear máquinas que razonen y propongan un modelo de solución ante un problema dado. Desde el comienzo de la historia humana, el aprender ha sido una característica propia de cada individuo que ha contribuido a fundamentar las bases del desarrollo, ya que cuando se aprende se adquiere el conocimiento por medio del estudio, el ejercicio o la experiencia.. 1.1.1. Tipos de Aprendizaje. El aprendizaje se lleva a cabo de manera automática ya que es un proceso tan sencillo para el hombre que él mismo no percibe cómo se realiza y todo lo que ello implica. En cualquier proceso de aprendizaje, el aprendiz aplica el conocimiento poseído a la información que le llega, procedente de un maestro o del entorno, para obtener nuevo conocimiento, que es almacenado para poder ser usado posteriormente (Gómez, 1998) . _______________________________________________________________________________ 4.
(11) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Dependiendo del esfuerzo requerido por el aprendiz (o número de inferencias que necesita sobre la información que tiene disponible) han sido identificadas varias estrategias. Una clasificación ya "clásica" de los diferentes tipos de aprendizaje más importantes, en orden creciente de esfuerzo inferencial por parte del aprendiz, es (Michalski, 1986): • Aprendizaje por instrucción: El sistema de aprendizaje adquiere el nuevo conocimiento a través de la información proporcionada por un maestro, pero no la copia directamente en memoria, sino que selecciona los datos más relevantes y/o los transforma a una forma de representación más apropiada. • Aprendizaje por deducción: Partiendo del conocimiento suministrado y/o poseído, se deduce el nuevo conocimiento, es decir, se transforma el conocimiento existente mediante una función preservadora de la verdad. • Aprendizaje por inducción: El sistema de aprendizaje aplica la inducción a los hechos u observaciones suministrados, para obtener nuevo conocimiento. La inferencia inductiva no preserva la verdad del conocimiento, sólo su falsedad; es decir, si se parte de hechos falsos, el conocimiento adquirido por inducción será falso, pero si los hechos son verdaderos, el conocimiento inducido será válido con cierta probabilidad (y no con certeza absoluta, como ocurre con la deducción). Hay dos tipos de aprendizaje inductivo y de los cuales se hablará más adelante: Aprendizaje con ejemplos o Supervisado y Aprendizaje por observación y descubrimiento o no Supervisado.. 1.1.2 Aprendizaje Automatizado Un amplio subcampo de la IA, el Aprendizaje Automatizado (Machine Learning o ML), se concentra en el diseño y desarrollo de algoritmos y técnicas que permitan a las computadoras "aprender". De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información no estructurada suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducción del conocimiento. Según (Michie, 1991), ML es un sistema de aprendizaje que usa los datos de una muestra para generar una base con datos actualizados para la clasificación mejorada de datos subsecuentes de la misma fuente y expresa la nueva base en una forma simbólica inteligible. A un nivel general, hay dos tipos fundamentales de aprendizaje: inductivo y deductivo. _______________________________________________________________________________ 5.
(12) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. 1.1.2.1. Un poco de historia del Aprendizaje Automatizado. Dentro de la relativamente corta historia del ML, en esta disciplina, se pueden distinguir tres principales períodos, cada uno centrado sobre un paradigma diferente: 1.. Modelado neuronal y técnicas de decisión teóricas.. 2.. Aprendizaje simbólico orientado a conceptos.. 3.. Sistemas de aprendizaje de conocimiento intensivo que exploran varias tareas de. aprendizaje.. El rasgo que distinguía al primer paradigma era el interés en construir un sistema de aprendizaje de propósito general que comience con una estructura inicial o tarea pequeña o ninguna orientada al conocimiento. El fundamento para este paradigma fue dado en el cuarenta por Rashevsky y sus seguidores que trabajaban en el área de biofísica matemática, y por McCulloch y Pitts que descubrieron la aplicación de la lógica simbólica para modelar actividades del sistema nervioso.. El segundo paradigma mayor empezó a surgir en los años sesenta, proveniente del trabajo de psicólogos e investigadores de IA sobre los modelos de aprendizaje humano. El paradigma utilizó la lógica o representaciones de estructura de gráfico en lugar de los métodos numéricos o estadísticos.. El tercer paradigma representa el período más reciente de investigación, comenzado a mitad de los años setenta. Está caracterizado por la investigación de nuevas tendencias como: acercamientos al conocimiento intensivo, exploración del aprendizaje de métodos alternativos e incorporación de habilidades para generar y seleccionar tareas aprendidas (Michalski et al., 1978).. 1.1.2.2 Algoritmos de Aprendizaje: supervisado y no supervisado Sobre la base de que a las máquinas hay que indicarles cómo aprender, ya que si no se logra que una máquina sea capaz de desarrollar sus habilidades entonces el proceso de aprendizaje no se estará llevando a cabo, sino que solo será una secuencia repetitiva, se ofrecerán dos tipos importantes de ML: Supervisado y no Supervisado. • Aprendizaje Supervisado: El algoritmo produce una función que establece una correspondencia entre las entradas y las salidas deseadas del sistema. Constituye un algoritmo de aprendizaje basado en ejemplos donde el nuevo conocimiento es inducido a partir de una serie de ejemplos y contraejemplos. _______________________________________________________________________________ 6.
(13) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Un ejemplo de este tipo de algoritmo es el problema de clasificación, donde el sistema de aprendizaje trata de etiquetar (clasificar) una serie de vectores utilizando una entre varias categorías (clases). La base de conocimiento del sistema está formada por ejemplos de etiquetados anteriores. • Aprendizaje no Supervisado: Todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos formado tan sólo por entradas al sistema. No se tiene información sobre las categorías de esos ejemplos. Constituye un tipo de aprendizaje por observación y descubrimiento, donde el sistema de aprendizaje analiza una serie de entidades y determina que algunas tienen características comunes, por lo que pueden ser agrupadas formando un concepto.. Un ejemplo de este tipo de algoritmo es el problema de clasificación que desempeñan les redes neuronales artificiales (de éstas se hablarán más adelante). La red se adapta a los ejemplos de entrada, tomando de ellos varias características para clasificarlos; en este caso, el conjunto de clases no está definido de antemano.. 1.1.2.3 Formalismos de representación del conocimiento Los tradicionales sistemas de aprendizaje han utilizado con gran asiduidad, para representar el conocimiento, una extensión de la lógica de proposiciones, denominada lógica "0+" o representación objeto-atributo-valor. Entre los formalismos de representación del conocimiento más destacado, se encuentran: redes semánticas, marcos o frames, ontologías, mapas conceptuales y las redes neuronales. • Redes Semánticas: Las redes semánticas, según (Mira et al., 1995), están incluidas dentro de las redes asociativas (conjunto de nodos unidos entre sí por enlaces) y están destinadas a representar y comprender el lenguaje natural. En las redes semánticas, los nodos se utilizan principalmente para la representación de conceptos sobre entidades, atributos, eventos o estados y los enlaces para representar relaciones entre conceptos.. Las principales ventajas que ofrecen las redes semánticas son: - Un sistema de redes semánticas permite al usuario construir su propio procedimiento de búsqueda. - La significación de representar una red semántica como un grafo etiquetado y dirigido viene dada porque permite realizar inferencias usando simplemente técnicas de búsqueda en grafos. _______________________________________________________________________________ 7.
(14) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP - La representación en forma de grafo permite otras clases de inferencias, como por ejemplo, preguntar cómo están relacionados dos nodos y responder encontrando un camino en el grafo entre ellos.. Sin embargo, poseen algunos problemas y desventajas importantes como: - La elección de los nodos y arcos es crucial en la fase de análisis. Una vez decidida una estructura determinada, es muy complicado cambiarla. - Dificultad para expresar cuantificación. Por ejemplo en expresiones tales como “algunos jugadores son zurdos”. - Presentan grandes dificultades para representar la dimensión intencional. Por ejemplo en proposiciones tales como “Pedro cree que Ana sabe conducir”. • Marcos (Frames): Método de representación del conocimiento y de razonamiento, que intenta superar las limitaciones de la lógica a la hora de abordar problemas como la visión artificial, la comprensión del lenguaje o el razonamiento de sentido común (Mira et al., 1995). Un marco es una estructura de datos, formada por un nombre y un conjunto de campos o ranuras (slots), que se rellenan con valores para cada ejemplo concreto.. Los Marcos deben ser usados donde sea necesario tener descripciones estructurales complejas para describir adecuadamente el dominio de la aplicación, pues ofrece una representación estructurada de un objeto o una clase de objetos. Sin embargo, ellos no ofrecen directamente facilidades para describir cómo se usará el conocimiento almacenado. • Ontologías: El sinónimo más usual de ontología es conceptualización 1. Según la definición de (Gruber, 1993), una ontología constituye “una especificación formal y explícita de un conocimiento compartido”.. De manera general, las posibles aplicaciones y usos de las ontologías se resumen en: constituir repositorios para la organización del conocimiento y servir de herramienta para la adquisición de información. Entre sus principales ventajas están el proporcionar una forma de representar y compartir el conocimiento utilizando un vocabulario común y el usar un formato de intercambio de conocimiento.. 1. Conceptualización se refiere a un modelo abstracto de algún fenómeno del mundo real del que se identifican los conceptos que son relevantes.. _______________________________________________________________________________ 8.
(15) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Sin embargo, una de las mayores desventajas radica en la imposibilidad de utilización directa de las ontologías previamente desarrolladas. Es preciso crear programas de interrogación de la ontología, pues las herramientas existentes apenas permiten la visualización de los datos previamente introducidos. • Mapas Conceptuales: Según (Novak, 1988), son una técnica que representa, simultáneamente, una estrategia de aprendizaje, un método para captar lo más significativo de un tema y un recurso esquemático para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones.. La principal aplicación de los Mapas Conceptuales ha sido en la enseñanza. Ellos facilitan la organización lógica y estructurada de los contenidos de aprendizaje, ya que son útiles para seleccionar, extraer y separar la información significativa o importante de la información superficial. Las desventajas del uso de un mapa conceptual radican en la no dominación de la información y los contenidos con los que se va a trabajar. •. Redes neuronales: Las redes neuronales, según (Freeman, 1993) y (Hertz, 1991), están. incluidas dentro de los modelos conexionistas y son sistemas formados por un conjunto de sencillos elementos de computación llamados neuronas artificiales. Estas neuronas están interconectadas a través de unas conexiones con unos pesos asociados, que representan el conocimiento en la red. Cada neurona calcula la suma de sus entradas, ponderadas por los pesos de las conexiones, le resta un valor umbral y le aplica una función no lineal (por ej. una sigmoide); el resultado sirve de entrada a las neuronas de la capa siguiente (en redes como el perceptrón multicapa).. Las redes neuronales han sido utilizadas con éxito en diferentes tipos de problemas como: Auto-Asociación, Clasificación de Patrones y Detección de Regularidades. Entre las principales ventajas de las redes neuronales se destacan:. - Facilidades de aprendizaje: Existen algoritmos potentes para determinar los pesos asociados a partir de ejemplos de entrenamiento. - Facilidades de representación: Ofrece una forma de representación del conocimiento muy apropiada para problemas de reconocimiento o clasificación.. _______________________________________________________________________________ 9.
(16) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP - Dualidad en el trabajo: Existen dos fases bien determinadas. La fase de aprendizaje durante la cual los datos (generalmente pares de vectores con las entradas y sus correspondientes salidas) son tomados desde un conjunto de entrenamiento para "programar" la red, o sea, para ajustar los pesos. Y la fase de ejecución durante la cual la red, a partir de los datos tomados, produce las salidas asociadas.. Las desventajas del uso de las redes neuronales redican en que el conocimiento obtenido por ellas no es representable en forma de reglas fácilmente inteligibles por el usuario, sino sólo en forma de una matriz con los pesos de las conexiones interneuronales; y además es difícil incorporar conocimiento de base o interacción del usuario en el proceso de aprendizaje de una red neuronal. Además, algunos sistemas de redes neuronales no proveen una salida fácil de comprender por un ser humano, o al menos por uno que no sea experto en el área de la Ciencia de la Computación.. El lector puede profundizar en este subtópico si se remite a (Bello, 2002).. 1.1.2.4 Métodos representativos del Aprendizaje Automatizado Dentro del formalismo de representación del conocimiento del ML, pueden englobarse métodos de representación equivalentes como los árboles de decisión, las reglas de producción y las listas de decisión. • Árboles de Decisión: Los árboles de decisión (Decision Trees o DT) son una forma de representación sencilla, muy usada entre los sistemas de Aprendizaje Supervisado, para clasificar ejemplos en un número finito de clases. Se basan en la partición del conjunto de ejemplos según ciertas condiciones que se aplican a los valores de los atributos.. Los sistemas basados en DT forman una familia llamada TDIDT (Top-Down Induction of Decision Trees), cuyo representante más conocido es ID3 2 (Quinlan, 1986). Existen versiones secuenciales de ID3, que el lector puede estudiarse si se remite a (Quinlan, 1993) y (Quinlan, 1986) , como ID5R y C4.5, que permiten clasificar ejemplos con atributos que toman valores continuos.. 2. ID3 (Interactive Dichotomizer) se basa en la reducción de la entropía media para seleccionar el atributo que genera cada partición (cada nodo del árbol), seleccionando aquél con el que la reducción es máxima. Los nodos del árbol están etiquetados con nombres de atributos, las ramas con los posibles valores del atributo, y las hojas con las diferentes clases.. _______________________________________________________________________________ 10.
(17) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP • Reglas de Producción: Una regla de producción es un par (condición, acción) {C → A}, donde C es un conjunto de condiciones y A es una secuencia de acciones. Si todas las condiciones en una regla de producción son satisfechas, entonces la secuencia de acciones es ejecutada.. Debido a su simplicidad y a la fácil interpretación y producción, las reglas forman un conocimiento masivamente utilizado en los sistemas de aprendizaje. Las cuatro operaciones básicas en donde las reglas de producción deben ser adquiridas y refinadas son: creación, generalización, especialización y composición (Quinlan, 1986). • Listas de Decisión: Las listas de decisión son otra forma de representación basada en lógica de proposiciones. Es una generalización de los DT y de representaciones conjuntivas (CNF) y disyuntivas. (DNF).. Una. lista. de. decisión. es. una. lista. de. pares. de. la. forma. (d1, C1), (d2, C2),..., (dn, Cn) donde cada di es una descripción elemental, cada Ci es una clase, y la última descripción Cn es el valor verdadero. La clase de un objeto será Cj cuando dj sea la primera descripción que lo satisface. Por tanto, se puede pensar en una lista de decisión como en una regla de la forma "si d1 entonces C1, sino si d2 entonces C2,..., sino si dn entonces Cn".. 1.1.2.5 Ventajas y desventajas del Aprendizaje Automatizado La construcción y posterior experimentación de sistemas de aplicación con ML le permiten al especialista establecer valores estadísticos que permiten establecer el costo de la efectividad del aprendizaje con respecto a los resultados y las limitaciones de cada enfoque. Las ventajas de ML pueden asociarse por algunas de las formas de representación del conocimiento, por ejemplo: •. Las representaciones estructuradas de conocimiento (redes semánticas y marcos). tienen una gran potencia expresiva (aunque, en teoría, no mayor que la de la lógica de predicados de primer orden) y permiten una fácil interpretación del conocimiento. •. La principal ventaja de las redes semánticas es que toda la información relativa a un. objeto concreto se obtiene fácilmente siguiendo los arcos que parten de él. •. El conocimiento expresado mediante marcos puede traducirse fácilmente a lógica de. predicados de primer orden, aunque perdiendo la ventaja de ser estructurado. •. El conocimiento expresado mediante ontologías proporciona una forma de. representarlo y compartirlo utilizando un vocabulario común. _______________________________________________________________________________ 11.
(18) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Las desventajas del ML, por su parte, también pueden asociarse por sus formas de representación del conocimiento, por ejemplo, las representaciones basadas en lógica de proposiciones, tienen algunas importantes limitaciones (Muggleton, 1992), superadas por la lógica de predicados de primer orden, que restringen su campo de aplicación: • Potencia expresiva: Las representaciones basadas en lógica de proposiciones limitan la forma de los patrones que pueden ser representados, ya que, en general, no pueden expresar relaciones. Así, por ejemplo, no se pueden representar (al menos de un modo sencillo) patrones en los que se cumpla una relación de igualdad entre dos atributos (sólo se permitiría expresar la igualdad entre un atributo y un valor constante) y, análogamente, sucede con la desigualdad entre dos atributos. • Conocimiento de base: Es difícil incorporar conocimiento de base en el proceso de aprendizaje. Una forma sencilla de conocimiento de base la constituyen restricciones impuestas a las descripciones generadas por el sistema, aunque esto puede resultar demasiado restrictivo. • Restricciones en el vocabulario: Las descripciones de los sistemas actuales (como PRISM, AQ11, AQ15, etc.) vienen limitadas por un vocabulario fijo de atributos proposicionales. Podría ser muy útil tener la posibilidad de mejorar la representación mediante la invención de nuevos predicados.. Todas estas limitaciones pueden superarse con una representación del conocimiento más potente: la lógica de predicados de primer orden, sobre la cual se abordará más adelante con mayor nivel de detalle.. 1.1.2.6 Principales aplicaciones Una dimensión útil para clasificar los sistemas de aprendizaje es su área de aplicación. ML puede ser visto como un intento de automatizar algunas partes del Método Científico mediante Métodos Matemáticos. Por su parte, el campo del ML también es parte central de la nueva revolución tecnológica basada en el uso inteligente de la información. Tradicionalmente, los principales problemas que se investigan en esta área son los de Reconocimiento de Patrones o Clasificación, Aproximación de Funciones de Variable Continua o Regresión, y Descubrimiento de Estructuras Ocultas en Datos (Clustering).. _______________________________________________________________________________ 12.
(19) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP La siguiente lista especifica áreas de aplicación para las cuales han sido aplicados varios sistemas existentes: Agricultura, Caracterizaciones de Objetos Físicos, Diagnósticos Médicos, Educación, Física, Juegos (ajedrez, damas, póker), Matemática, Métodos Generales, Modelado Cognoscitivo (simulando procesos de aprendizaje humano), Música, Planeamiento y Solución de Problemas, Predicción de Secuencias, Proceso Natural de Lenguaje, Programación de Computadoras, Química, Reconocimiento de Imágenes, Reconocimiento de Voz, Robótica, Sistemas Expertos (programas de dominio específico de IA).. Es de vital importancia que se resalte la aplicación del ML como ciencia, al intentar comprender el aprendizaje humano para reproducir aspectos en un sistema informático. Mediante la construcción de modelos del aprendizaje humano es probable llegar a construir técnicas educativas más eficaces, de ahí que un desarrollo interesante es que los sistemas de enseñanza por computadora están empezando a incorporar habilidades para inferir modelos de competencia del estudiante a partir del desempeño observado (Bello, 2002).. 1.2 Programación Lógica La Programación Lógica (Logic Programming o LP) constituye el nombre dado a un estilo de programar muy diferente a otros lenguajes convencionales de programación como C++ o Java. El lenguaje de programación PROLOG nació de un proyecto que no estuvo dirigido a producir un lenguaje de programación sino al procesamiento de lenguaje natural; en este caso, idioma francés. El proyecto dio lugar a una versión preliminar del PROLOG a finales de 1971 y a una versión definitiva a finales de 1972.. EL nombre PROLOG es derivado de la expresión “PROgramming in LOGic”. Constituye una implementación de los procesos y procedimientos involucrados en el cálculo de predicados de primer orden, si bien no es exactamente la lógica de predicado en sí misma. Su forma, gramática o sintaxis es de la lógica, pero su semántica o significado es diferente. PROLOG es esencialmente un lenguaje declarativo puesto que la mayoría de los enunciados de un programa PROLOG típico son aserciones o afirmaciones. Un programa PROLOG consta de un conjunto de aserciones, las cuales se consideran que constituyen los axiomas propios de una teoría junto con un conjunto de cláusulas objetivos.. _______________________________________________________________________________ 13.
(20) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. 1.2.1 Un poco de historia de la Programación Lógica El lector debe saber que el PROLOG era descendiente de una unión acertada entre el procesamiento del lenguaje natural y la demostración de teoremas de forma automatizada. La idea de usar una lengua natural como la lengua francesa para razonar y comunicarse directamente con una computadora parecía una idea poco tradicional; ésta era la base del proyecto ideado por Alain Colmerauer en el verano de 1970. Alain tenía cierta experiencia en el procesamiento del lenguaje natural en la computadora y deseó ampliar su investigación.. De esta forma, PROLOG fue creado en Marsella, en 1972. Durante el transcurso de 1972, el primer sistema de PROLOG fue puesto en ejecución en una herramienta conocida como ALGOLW; en paralelo, Alain y Roberto Pasero crearon el sistema de comunicación hombre-máquina en francés. El sistema de comunicación hombre-máquina fue el primer programa grande realizado en PROLOG con 610 cláusulas. El surgimiento del PROLOG y su desarrollo alcanzado hasta la actualidad, han revolucionado en gran medida la Ciencia de la Computación, seguidamente a su surgimiento se desarrollaron varias versiones o dialectos comerciales de PROLOG como: SWI Prolog, Amzi! Prolog, YAP, etc.. 1.2.2 Lógica de primer orden y cláusulas de Horn PROLOG es un lenguaje declarativo e interpretado, en este tipo de lenguajes se representan los conocimientos sobre un determinado dominio y sus relaciones. A partir de ese conocimiento, se deducen las respuestas a las cuestiones planteadas, es decir se obtiene una inferencia. El dominio lo constituye un conjunto de objetos (propiedades y relaciones). El conocimiento se formaliza mediante un conjunto de relaciones (reglas 3 o axiomas) que describen de forma simultánea las propiedades y sus interacciones. La lógica de primer orden considera objetos, propiedades y sus relaciones. Entre la forma de expresar los objetos en un programa lógico están las siguientes: • Constantes - Permiten identificar los objetos del dominio y se denotan mediante cadenas (comienzan en mayúscula) o números, por ejemplo: Juan, María, F1, C8, 27, 524.8.. 3. Las reglas determinan interacciones lógicas del tipo: si ocurre q, r, s y t entonces P.. _______________________________________________________________________________ 14.
(21) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP • Variables - Permite referenciar cualquier objeto del dominio y se denotan mediante cualquier cadena que comience en minúscula, por ejemplo: x, y. • Funciones - Permiten obtener una referencia a un objeto en función de los valores de otros y se denotan mediante un nombre y un conjunto de argumentos, que tienen que ser términos, por ejemplo: Padre (Juan), Suma (5,8, 13). - Las constantes se pueden considerar entonces como funciones de 0 argumentos. Entre las formas de expresar un átomo 4 en un programa lógico, que equivale a la representación de un término, están las siguientes: • Predicado - Permite describir una propiedad de un objeto o una relación entre objetos y se caracteriza por su nombre y su aridad (cantidad de argumentos). El nombre es una cadena que comienza en mayúscula y los argumentos deben ser términos 5. - Un predicado tiene carácter veritativo, es decir, puede ser: verdadero o falso. Un ejemplo de predicado son los siguientes: Fila (f), Celda (F3, F4), Contiene (F6, C8, nro3). • Igualdad o identidad - Permite incorporar la condición de que un término sea igual a otro, por ejemplo: x=y, Padre (Juan)=Pedro, Suma (x, 4)=y. - Se puede considerar como un predicado binario y requiere de un tratamiento especial para la inferencia. Además su utilización supone una extensión de la lógica de primer orden.. Una cláusula de Horn (de acuerdo con la sintaxis de PROLOG) tiene la forma general: p(t1, t2, …, tn) :- p1(….),p2(….),…, pm (….) con. m ≥ 0, donde tanto p como pi son símbolos de. predicados con sus argumentos entre paréntesis. Los argumentos de un predicado son términos. Las cláusulas de Horn son expresiones condicionales, siendo el símbolo “:-” el condicional o símbolo de la implicación. La cláusula anterior podría leerse de la siguiente forma: “ SI p1(….) y p2(….) y … y pm(….) ENTONCES p(t1, t2, …, tn). 4 5. Un átomo es un predicado definido sobre términos, por ejemplo: Suma (x, 4). Un término constituye un dato simple de un programa lógico. Constantes y variables son términos.. _______________________________________________________________________________ 15.
(22) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Cuando m=0, la cláusula no tiene parte derecha, en este caso se trata de un hecho o afirmación: p (t1,t2,…,tn). Cuando la cláusula no tiene parte izquierda (o cabeza), se tiene una cláusula negativa o pregunta; este tipo de cláusulas se utilizan para realizar la entrada/salida del programa: ?- p1 (…), p2 (…), … , pm (…). • Programa Lógico: Un programa lógico está constituido por un conjunto de cláusulas de Horn que definen relaciones entre objetos. Un cálculo de un programa lógico es una deducción de consecuencias del programa. Un programa lógico define un conjunto de consecuencias el cual es su significado (García et al., 2007).. El arte de la programación lógica es construir programas elegantes y concisos que tengan el significado deseado. Los términos y sentencias son los constructores básicos de la Programación Lógica y son inherentes de la lógica (Bravo et al., 2006).. De esta forma, el lector puede apreciar que existen tres sentencias básicas en un programa lógico: Hechos, Reglas y Preguntas. La clase más simple de sentencia es denominada “hecho”. Los hechos son un medio de establecer una relación entre objetos. Se recomienda observar el siguiente ejemplo 6: ∀x. femenino (sharon). (Hecho). ∀ x, y padre (tom, sharon). (Hecho). ∀ x, y ((femenino(x) Λ padre(y, x)) → hija(x, y)). (Regla). O según la sintaxis de PROLOG femenino (sharon).. (Hecho). padre (tom, sharon).. (Hecho). hija(X, Y):- femenino (X), padre (Y, X).. (Regla). Por tanto, dado un programa lógico P. y. una cláusula objetivo G, el problema básico en. Programación Lógica es: P ⊨ ~G. En el ejemplo anterior: ~G = ∃ X, Y hija (sharon, tom). (Objetivo). O en la sintaxis de PROLOG: ?- hija (sharon, tom).. (Objetivo). 6. Cualesquiera sean X, Y: “X es hija de Y” si “X es femenino” e “Y es padre de X”.. _______________________________________________________________________________ 16.
(23) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP De aquí que, P ⊨ ~ G si y solo si P U {G} es instisfacible si y solo si P U {G} ⊢. R. ⊥. En otras. palabras, para probar que ~ G se deduce semánticamente de P se debe construir una deducción por resolución del conjunto P U {G}. Se propone al lector observar las siguientes definiciones: •. Substitución: Una substituciónΘ= {X 1/t1, X2/t2,…, Xk/tk} es una función de variables a. términos. Sea W(X1, X2,…, Xk) un término, un literal, una cláusula o un conjunto de ellas. La expresión que resulta de aplicar la substituciónΘ a W es. WΘ = W(X1/t1, X2/t2,…, Xk/tk), y es. obtenida por el reemplazo de todas las ocurrencias de cada variable Xj en W por el mismo término tj . • Unificador: Sea A = {L1, L2..., Ln} un conjunto de literales con el mismo símbolo relacional. Una substitución e se dice unificador de A si L1 e = L2 e =... = Ln e. • Resolvente: Sean C1 y C2 dos cláusulas que contienen a los literales L1 y L2 respectivamente. Si L1 y ~ L2 tienen un unificador más general 7 (umg) u, llamamos resolvente de C1 y C2 a la cláusula C, tal que C = (C1 u -{L1 u}) U (C2 u -{L2 u}). • Resolución: La resolución es un procedimiento mecánico de deducción de fórmulas a partir de. otras fórmulas. Se basa en la idea que para probar que una fórmula es válida, su negación debe ser contradictoria, o sea que es un método de deducción por refutación. Para realizar resolución es necesario comprobar si dos literales unifican. Vea la siguiente figura:. Figura 1.1: Árbol de derivación lineal de primer orden. Tomada de (Luján, 2008).. 7. Un unificador u se dice unificador más general (umg) para A, si para cada unificador v de A, existe una substitución s tal que v = us. El algoritmo de unificación construye el umg de un conjunto de literales.. _______________________________________________________________________________ 17.
(24) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. 1.2.3 Programación Lógica: paradigma declarativo Hasta el momento, en los ejemplos ofrecidos al lector ha sido posible entender cuáles son los resultados del programa sin saber exactamente cómo el sistema realmente encontró dichos resultados. Por consiguiente, pueden distinguirse dos paradigmas de significado de programas PROLOG; según (Bratko, 1990), éstos son: el paradigma declarativo y el paradigma procedural. • Paradigma Declarativo: Se refiere solamente a las relaciones definidas por el programa. Este paradigma determina entonces cuáles serán las salidas del programa lógico. El significado declarativo de programas en 'el Prolog puro' no está en dependencia del orden de las cláusulas y de los objetivos en las cláusulas. El concepto de paradigma declarativo de los programas lógicos debe tenerse en cuenta desde un principio para poder escribirse estos programas, ya que a partir de esa propiedad, es que se podrá entonces determinar cuáles serán las salidas del mismo.. Por tanto, el programador debe concentrarse. principalmente en el significado declarativo y,. siempre que sea posible, evitar ser distraído por los detalles de ejecución del programa en cuestión, por lo que debe dejar, en parte, al lenguaje responsabilizado con escoger los caminos que debe seguir para resolver una determinada tarea (Bratko, 1990).. 1.2.4. Ventajas y desventajas del uso de la Programación Lógica. De acuerdo con (Bratko, 1990) la habilidad que posee PROLOG de trabajar muchos detalles procedurales sólo es considerada como una de sus ventajas específicas. Anima al programador a considerar el significado declarativo de programas relativamente independiente de su significado procedural. Otros beneficios que se pueden mencionar son: •. Creación de programas de IA con una estructura más fácil de entender y con una. ejecución más rápida. •. Ideal para implementar sistemas expertos y procesamiento del lenguaje natural.. •. Los mecanismos de inferencias y los procedimientos son partes del programa (built-in).. Uno de los problemas que se le señala al lenguaje es la longitud del código generado; aunque existen, en muchas implementaciones, mecanismos que permiten controlar, hasta cierto punto, este problema, el que es además fácilmente comprensible si se tiene en cuenta que un mismo predicado ante llamadas diferentes puede dar respuestas también diferentes, sin que el programador se haya preocupado mucho, o tal vez nada, en programar un caso diferente al que le interesa. Queda claro que para hacer tareas como las mencionadas es necesario que se genere el código pertinente encargado en realizarlas(Bratko, 1990) _______________________________________________________________________________ 18.
(25) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. 1.2.5. Principales Aplicaciones de la Programación Lógica. Entre las principales aplicaciones de Programación Lógica se destacan las siguientes: •. El lenguaje es particularmente útil para tratar problemas que abordan las relaciones. sobre objetos estructurados. •. La forma de programar en PROLOG es, sin duda, muy útil para problemas de. representación de bases de conocimientos en problemas de Ingeniería del Conocimiento en IA. •. En la rama de la Química es muy útil para representar, mediante reglas lógicas, la. reacción que se produce entre dos o varios compuestos químicos y poder así observar el resultado que esto produce (en este caso, la conclusión de la regla). •. El formalismo de representación de las reglas en PROLOG está siendo ampliamente. utilizado en la rama de la Farmacología para, a partir de un estudio minucioso de fármacos, poder combinar varios de ellos, según el análisis de las propiedades de cada uno, y así poder obtener nuevos medicamentos más potentes para el tratamiento de enfermedades letales como el cáncer.. 1.3. Programación Lógica Inductiva (ILP). Definición. La ILP combina los resultados experimentales y métodos inductivos del aprendizaje computacional con la simplicidad de representación y formalismo de la lógica de primer orden para poder inducir conceptos representados por programas lógicos. La. ILP es un área de. investigación que está formada por la intersección entre la Programación Lógica y el Aprendizaje Automatizado (visto en el contexto de los métodos inductivos de aprendizaje) (figura 1.2). La meta de la ILP es producir una tecnología de amplio uso con fundamentos teóricos firmes. Formalmente, la ILP se define, según (Muggleton, 1992), como la intersección entre el Aprendizaje Inductivo y la Programación Lógica ya que utiliza técnicas de ambos campos: • Del Aprendizaje Inductivo en las computadoras hereda su objetivo: Desarrollar herramientas y técnicas para inducir hipótesis a partir de observaciones (ejemplos) y sintetizar nuevo conocimiento a partir de la experiencia. • De la Programación Lógica hereda básicamente el formalismo de representación y su orientación a la semántica: La ILP utiliza la Programación Lógica (un programa lógico P formado por cláusulas de Horn) como mecanismo para representar las hipótesis y las observaciones. _______________________________________________________________________________ 19.
(26) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. Figura 1.2: Definición de ILP. Tomada de (Luján, 2008).. La ILP consiste de sistemas y métodos generales a los cuales se les proporcionan ejemplos para producir programas. Un sistema ILP puede recibir como entrada diferentes tipos de información relacionada con el programa buscado, pero siempre recibirá ejemplos sobre el comportamiento de entrada/salida del programa.. La salida obtenida es un programa lógico que se comporta en base a los ejemplos dados o por lo menos en base a un alto porcentaje de ellos. Aunque los ejemplos siempre están presentes como entrada en cualquier sistema ILP, existe otra fuente de información: el conocimiento básico (background knowledge) referido al programa buscado. Este conocimiento básico o conocimieno de dominio puede venir dado por ejemplos, relaciones, reglas o programas que indican la estructura del programa buscado, etc. Se propone al lector observar los dos ejemplos siguientes:. 1) Considérese. el problema de aprender el concepto “nieta” definida entre dos personas:. nieta (X, Y) es verdadero si Y es nieta de X 8. Se puede definir la relación nieta (X, Y) en términos de las relaciones como padre y femenino (figura 1.3).. Figura 1.3: Árbol genealógico en términos de las relaciones: “padre” y “femenino”. 8. Aquí se asume la notación utilizada en PROLOG, donde los predicados empiezan con minúsculas y las variables con mayúsculas.. _______________________________________________________________________________ 20.
(27) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP En ILP, el problema se plantea de la siguiente forma: Ejemplos positivos (+) y negativos (-): nieta (victor, sharon). (+) nieta (victor, victor). (-) nieta (victor, bob).. (-). nieta (victor, tom).. (-). … Conocimiento de Dominio: padre (bob, victor). padre (sharon, bob). padre (tom, bob). femenino (sharon). Resultado: nieta (X, Y):- femenino (Y), padre (Z, X), padre (Y, Z). Algunos sistemas de ILP pueden introducir nuevos predicados automáticamente durante el aprendizaje, simplificando la representación de los conceptos aprendidos, por ejemplo, al introducirse el predicado progenitor refiriéndose a padre o madre, para simplificar una representación de un concepto que utilice indistintantemente a las relaciones de padre y madre.. 2) Por otra parte, considere el siguiente grafo dirigido que muestra la conexión de 8 nodos:. Figura 1.4: Grafo conectado. Tomada de (Luján, 2008).. En ILP, el problema se plantea de la siguiente forma: Ejemplos positivos (+) y negativos (-): existe_camino (0,1). (+) existe_camino (1, 8). (-) existe_camino (1, 0). (+) existe_camino (2, 4). (-) … _______________________________________________________________________________ 21.
(28) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP Conocimiento de Dominio: conectado (0, 1).conectado (0, 3).conectado (1, 0). conectado (1, 2).conectado (2, 3). conectado (3, 2). conectado (3, 4). conectado (4, 5).conectado (4, 6). conectado (5, 4).conectado (6, 8). conectado (7, 6). conectado (7,8). conectado (8,7).. Resultado: existe_camino(X, Y):- conectado (X, Y). existe_camino(X, Y):- conectado (X, Z), existe_camino (Z, Y).. 1.3.1. Un poco de historia de la ILP. La teoría de lenguajes de primer orden ha sido utilizada desde hace más de 30 años para representar el conocimiento en los sistemas de aprendizaje simbólico. Los sistemas de aprendizaje basado en explicaciones (EBL systems) siempre han requerido de este tipo de lenguajes, aunque sólo se comenzaron a utilizar en el contexto del Aprendizaje Inductivo desde 1983. Sin embargo, el aprendizaje empírico de primer orden, incluyendo lo que ahora se llama ILP no atrajo la atención generalizada hasta los años 90, como puede comprobarse en la figura 1.5a, en la que se representa un histograma de referencias bibliográficas sobre ILP, publicadas desde 1930 (de un total de 325 títulos).. Figura 1.5a: Referencias Bibliográficas sobre ILP. Tomada de (Gómez, 1998).. La ILP comenzó a desarrollarse con mayor fuerza a principios de la última década del siglo pasado (véase también la figura 1.5b donde se muestra un histograma mucho más ampliado). A partir de ese momento y hasta la actualidad ha tenido un desarrollo importante, marcado sobre todo por los intentos de fortalecer sus bases teóricas y de su uso con éxito en diversos dominios. _______________________________________________________________________________ 22.
(29) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. Figura 1.5b: Referencias Bibliográficas sobre ILP. Tomada de www. AuthorMapper.com. Antes de que (Muggleton, 1992) definiera formalmente ILP, se hicieron previos estudios de conocimientos de los cuales ella se nutrió, como la lógica deductiva investigada desde los tiempos de Aristóteles, y luego formalizada como una rama de la Matemática en los siglos XIX y XX por teóricos matemáticos como Bool y Frege; y también de la primera descripción detallada del método científico de lógica inductiva dada por Bacon en el siglo XVIII.. 1.3.2 El problema de la ILP La idea en ILP, como en aprendizaje inductivo, es obtener una hipótesis que cubra los ejemplos positivos y no cubra los negativos. Para verificar la cobertura de ejemplos, se usa normalmente algún algoritmo de inferencia basado en resolución. Cuando se habla del término inducción se refiere al estudio de la derivación de enunciados generales a partir de ejemplos específicos. Por ejemplo, inductivamente se podría afirmar: “todos los cisnes son blancos” de la observación “todos los cisnes en ese estanque son blancos”. El pensamiento inductivo puede ser visto como el inverso al pensamiento deductivo.. En una configuración inductiva general se proveen tres lenguajes: •. LO: el lenguaje de observaciones o ejemplos.. •. LB: el lenguaje del conocimiento base.. •. LH: el lenguaje de hipótesis.. El problema inductivo general es el siguiente: •. Dado un conjunto consistente de observaciones o ejemplos E є LO. •. Dado un conjunto consistente de conocimiento base (background knowledge) o. conocimiento a priori B є LB Objetivo: Encontrar una hipótesis o programa lógico H є LH tal que: B Λ H ├ E. _______________________________________________________________________________ 23.
(30) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP El conjunto E usualmente se expresa como la unión de ejemplos positivos y negativos: E = E+ U E-, como pudo observar el lector anteriormente en los dos ejemplos ofrecidos para ilustrar el problema de la ILP. A su vez, B Λ H ├ E, se rige por la siguiente proposición: F1 implica sintácticamente F2 (F1├ F2) si y solo si F2 puede derivarse de F1 usando reglas de inferencia deductivas. Donde F1 y F2 son fórmulas. Sea P un programa lógico, en este caso B Λ H: •. P se dice completo con respecto a E+ si y solo si ∀ e є E+, P ├ e.. •. P se dice consistente con respecto a E- si y solo si no existe ningún ejemplo e є E- tal que. P ├ e. Véase la figura 1.6, en la cual se representa al conjunto de ejemplos positivos con el símbolo “+” y con “–” al conjunto de ejemplos negativos.. Figura 1.6: Completitud y Consistencia del Programa Lógico P. Tomada de (Luján, 2008).. Ahora bien, tomándose como referencia lo hablado con anterioridad, la definición desde un punto de vista semántico del problema de ILP es: •. Satisfactibilidad previa: ∀ e є E- son falsos en M+(B). •. Satisfactibilidad posterior (correcto o consistente): ∀ e є E- son falsos en M+(B Λ H). •. Necesidad previa: ∃ e є E+ son falsos en M+(B ). •. Suficiencia posterior (completo): ∀ e є E+ son verdaderos en M+(B Λ H). Un caso especial, el que más se usa en ILP, es cuando todos los ejemplos son hechos sin variables. _______________________________________________________________________________ 24.
(31) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP. 1.3.3. Clasificación de los sistemas ILP. Una vez analizado el fundamento de la ILP, se definen diferentes criterios para clasificar sus sistemas. • Según el número de conceptos que aprenden simultáneamente, es decir, se refiere a la cantidad de conocimientos (predicados) que se aprenden en el proceso: - Sistemas Simples: Pueden aprender un único concepto. Estos sistemas son más populares, sin embargo, menos potentes. Incluye: FORTE. - Sistemas Múltiples: Pueden aprender múltiples conceptos. Estos sistemas son más potentes, lo cual implica que son sistemas más eficientes y duros. • Según el número de ejemplos que necesitan para el aprendizaje: - Sistemas de Aprendizaje de a un paso o no Incrementales: Para ello se necesitan todos los ejemplos disponibles y estos son dados al comienzo y no cambia en el proceso. Estos tipos de sistemas buscan típicamente de una manera top-down, o bien de una manera botton-up. Incluyen: GOLEM, FOIL, FOCL, IFOIL, ILPR, RICH y LINUS. - Sistemas de Aprendizaje secuencial o Incrementales: Los ejemplos son suministrados al sistema por el usuario uno a uno, de forma prudente y paulatina. Estos tipos de sistemas buscan empleando una mezcla de estrategias top-down y botton-up. Incluyen: FORTE, LFP2, MARVIN, RINCON, CIGOL. • Según se necesite o no un supervisor durante el aprendizaje: - Sistemas Interactivos: Cuando el supervisor valida la corrección del aprendizaje, es decir, el que aprende puede hacer preguntas (p. e. el usuario) acerca de la interpretación pretendida, lo que le permite podar grandes partes del espacio de hipótesis (Hypothesis Space o HS). Son sistemas de Aprendizaje secuencial o Incrementales. Incluyen: CIGOL, MARVIN, IRES y ITOU. - Sistemas no Interactivos: El caso contrario. La mayoría de los sistemas son no interactivos. •. Según la técnica empleada para obtener el programa lógico: - Sistemas Botton-Up: Estos sistemas están basados en la generalización de un conjunto de ejemplos positivos. - Sistemas Top-Down: Realizan una búsqueda de general a específico en grafos de refinamiento.. _______________________________________________________________________________ 25.
(32) CAPÍTULO I- ESTADO DEL ARTE DE LA ILP •. Según la revisión de teoría: Son todos aquellos sistemas ILP que permiten que el. conocimiento base B sea corregido durante el proceso de aprendizaje. Se trata que dichas correcciones sean mínimas. Usualmente son incrementales y de aprendizaje de predicados múltiples. Incluyen: MARVIN, CIGOL, MACL.. Aunque cada uno de estos criterios de clasificación es independiente del resto, los sistemas de ILP existentes suelen formar solamente dos grupos: 1. Los sistemas que aprenden un solo concepto, en un paso, y de forma no interactiva. Por ejemplo: FOIL, GOLEM, LINUS, etc. 2. Los sistemas que aprenden múltiples predicados, de forma secuencial y ayudados por el usuario de forma interactiva. Por ejemplo: MIS, CLINT, CIGOL, MOBAL, etc.. Algunos autores como (De Raedt, 1993) denominan al primer grupo sistemas de ILP empíricos, y al segundo sistemas de ILP interactivos. Véase a continuación una descripción de cada uno. • Sistemas Empíricos: Sistemas no incrementales, no interactivos que aprenden de a un predicado. Aprenden una definición de un solo predicado en base a una gran colección de ejemplos. • Sistemas Interactivos: Sistemas incrementales e interactivos con revisión de teoría que aprenden de a múltiples predicados. Aprenden definiciones de múltiples predicados de un conjunto pequeño de ejemplos y consultas al usuario.. 1.3.4 Principales Métodos de la ILP En esta sección, se introducirán de manera general, las principales técnicas de ILP. Se sabe, en base a lo ya argumentado, que el estructuramiento de un espacio de hipótesis tiene la ventaja de hacer posible una acotación de dicho espacio, lo cual es beneficioso ya que se pueden encontrar resultados concisos al aplicar inferencia inductiva, y por tanto ILP. El estructuramiento del espacio de hipótesis se realiza mediante técnicas que van de lo específico a lo general o viceversa. • Bottom- Up: Se entiende como la tarea de construir una descripción general a partir de un conjunto de ejemplos positivos, de modo que esa descripción puede ser aplicada a nuevos datos. Va de lo específico hacia lo general: el punto de partida son los ejemplos y el objetivo final es la descripción aprendida en forma de reglas que cubren esos ejemplos _______________________________________________________________________________ 26.
Figure
Documento similar
Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en
El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba
De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y
Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)
Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)