Está en la página 1de 19

Aprendizaje Autom atico: Programaci on L ogica Inductiva.

Dr. Alejandro Guerra Hern andez Universidad Veracruzana Facultad de F sica e Inteligencia Articial Maestr a en Inteligencia Articial Sebasti an Camacho No. 5, Xalapa, Ver., M exico 91000 aguerra@uv.mx www.uv.mx/aguerra Abril 22, 2004

1.

Introducci on

Una de las representaciones de hip otesis m as expresivas y f aciles de comprender son los conjuntos de reglas Si Entonces. Esta sesi on explora diversos algoritmos para el aprendizaje de estos conjuntos de reglas. Un caso especial importante, involucra el aprendizaje de conjuntos de reglas que incluyen variables. Estas reglas se conocen como cl ausulas de Horn en primer orden. Debido a que las cl ausulas de Horn pueden verse como programas escritos en un lenguaje de programaci on l ogica como Prolog, su aprendizaje se conoce como Programaci on L ogica Inductiva (ILP). En muchos casos es u til aprender una funci on objetivo representada como un conjunto de reglas si-entonces, que en de manera conjunta denen la funci on. Como hemos visto, es posible construir un conjunto de reglas aprendiendo un arbol de decisi on (clase 07) y convirti endolo en el cojunto de reglas equivalente, una por cada rama de la ra z del arbol a alguna de sus hojas. Un segundo m etodo que hemos visto es el de codicar cada regla como una cadena de bits y usar un algoritmo gen etico (clase08) para explorar el espacio de hip otesis posibles. En esta sesi on estudiaremos algoritmos que aprenden estos conjuntos de reglas directamente y que dieren de los m etodos mencionados en dos aspectos fundamentales. Primero, est an dise nados para trabajar con reglas que contienen variables. Esto es signicativo porque las reglas en primer orden son considerablemente m as expresivas que las reglas proposicionales vistas hasta ahora. Segundo, los algoritmos que discutiremos son algoritmos de cobertura secuencial que aprenden una regla a la vez, para incrementalmente ir construyendo el conjunto de reglas.

Como un ejemplo de reglas de primer orden, consideren el siguiente par de reglas que en conjunto denen el concepto ancestro. El predicado P adre(x, y ) indica que y es la madre o el padre de x, y el predicado Ancestro(x, y ) indica que y es un ancestro de x en un n umero arbitario de generaciones: Si P adre(x, y ) Si P adre(x, z ) Ancestro(z, y ) Entonces Ancestro(x, y ) Entonces Ancestro(x, y )

Observen que estas dos reglas denen de manera concisa una funci on recursiva que ser a dif cil de representar usando arboles de decisi on o cualquier otro m etodo de representaci on proposicional. De hecho, formuladas de una manera poco diferente, el par de reglas anterior forman un programa Prolog v alido para computar la relaci on ancestro. Un algoritmo de prop osito general capaz de aprender estos conjuntos de reglas es por lo tanto, un algoritmo para inferir autom aticamente programas Prolog a partir de ejemplos. Comenzaremos por considerar algoritmos que aprenden conjuntos de reglas proposicionales, esto es, reglas sin variables. Los algoritmos que buscan en el espacio de hip otesis un conjunto de reglas disyuntivas son m as faciles de entender en esta conguraci on.

2.

Algoritmos de cobertura secuencial

Estos algoritmos para aprender conjuntos de reglas siguen la estrategia de aprender una regla, remover los ejemplos que la regla cubre del conjunto de entrenamiento, e iterar en este procedimiento. Imaginen que tenemos una subrutina aprendeUnaRegla que acepta como entrada, un conjunto de ejemplos de entrenamiento positivos y negativos; y produce como salida, una sola regla que cubre muchos ejemplos positivos y pocos negativos. Necesitamos que esta regla tenga alta precisi on, aunque carezca de amplia cobertura. Eso es, la regla no necesariamente hace predicciones sobre todos los ejemplos, pero, para aquellos que la hace, la predicci on es correcta. Dada esta sub-rutina para aprender una sola regla, una aproximaci on obvia para aprender un conjunto de reglas es aplicar la sub-rutina a todos los ejemplos de entrenamiento, remover todos los ejemplos positivos cubiertos por la regla aprendida, y aplicar nuevamente la sub-rutina en los ejemplos restantes para producir una nueva regla. Este procedimiento se puede repetir hasta producir un conjunto de reglas que cubran la fracci on de ejemplos positivos deseada. El conjunto resultante puede ordenarse de acuerdo a su precisi on, para aplicar las reglas m as precisas primero, al clasicar nuevos ejemplares. Un algoritmo protot pico se muestra en el cuadro 1. Este algoritmo de cobertura secuencial representa uno de los enfoques m as usados para aprender conjuntos de reglas disyuntivas. El enfoque reduce el problema original en una sencuencia de problemas m as simples, cada uno de los cuales requiere que una sola regla conjuntiva sea aprendida. Puesto que la b usqueda

fun coberturaSecuencial(objetivo, atribs, ejs, umbral) input: objetivo: atributo objetivo; atribs: atributos; ejs : conjunto de entrenamiento; umbral: porcentaje aceptacion; static: regla: una regla aprendida; output: reglas: conjunto de reglas aprendido; reglas {}; regla aprendeUnaRegla(objetivo, atribs, ejs); while desempe no(regla, ejs) > umbral do reglas reglas regla; ejs ejs \ { ejs bien clasiados }; regla aprendeUnaRegla(objetivo, atribs, ejs); enddo reglas ordenarPorDesempe no(reglas); return reglas; endfun

Cuadro 1: Algoritmo coberturaSecuencial llevada a cabo es ego sta, no podemos garantizar que el enfoque encontrar a el conjunto de reglas m as peque no, o bien, el de mejor cobertura sobre el conjunto de ejemplos. Como debemos dise nar aprendeUnaRegla para cubrir los requermientos del algoritmo de cobertura secuencial? A continuaci on consideraremos el caso proposicional y m as tarde el de las cl ausulas de Horn.

2.1.

B usqueda por barrido de lo general a lo espec co

Una manera de dise nar aprendeUnaRegla consiste en organizar la b usqueda en el espacio de hip otesis a la manera de ID3, pero siguiendo u nicamente la rama m as promisoria del a rbol en cada paso. Esto es, la b usqueda comienza con la hip otesis m as general, ninguna restricci on atributo-valor ha sido impuesta, y en cada paso a nade una restricci on en forma de prueba atributo-valor, que maximiza la ganancia de informaci on sobre el conjunto de entrenamiento. Como ID3, este enfoque ego sta va a nadiendo restricciones en los atributos hasta alcanzar un nivel aceptable de desempe no. A diferencia de ID3, s olo se seguir a la rama m as promisoria, es decir, aquella que m aximiza la ganancia de informaci on. Por lo tanto, esta estrategia puede verse como una b usqueda ego sta en profundidad sin retorno (backtracking). Como hemos visto, este tipo de b usqueda tiene el riesto de realizar decisiones sub- optimas en cada iteraci on. Para reducir este riesgo, podemos extender en algoritmo para realizar una b usqueda por barrido,

esto es, un b usqueda en donde el algoritmo mantiene una lista de los k mejores candidatos en cada iteraci on, en lugar de un solo candidato. Los descendientes (especializaciones) de estos k candidatos son calculados y el conjunto que resulta se vuelve a reducir a los k mejores candidatos. Este algoritmo, usado por el programa CN2 [2], se muestra en el cuadro 2. Algunos comentarios sobre aprendeUnaRegla son necesarios. Observen que cada hip otesis considerada en el ciclo principal del algoritmo, es una conjunci on de restricciones sobre pares atributo-valor. Cada una de estas hip otesis conjuntivas corresponde a un conjunto candidato de precondiciones para la regla que est a siendo aprendida, y es evaluada por la entropia de los ejemplos que cubre. La b usqueda considera incrementalmente hip otesis candidato m as espec cas, hasta que alcanza una hip otesis m aximamente espec ca que contiene todos los atributos disponibles. La regla que es producida por el algoritmo es aquella cuyo desempe~ no es el mayor, no necesariamente la hip otesis nal generada en la busqueda. La post condici on para la regla producida por el algoritmo, es elegida en el u ltimo paso del mismo, una vez que la precondici on de la regla, representada en mejorHip, ha sido determinada. El algoritmo contruye la post condici on de la regla para predecir el valor del atributo objetivo, que es el m as com un entre aquellos ejemplos cubiertos por la precondici on de la regla. Finalmente, observen que a pesar del uso de la b usqueda por barrido para reducir el riesgo mplicito en la estrategia ego sta del algoritmo, es posible que este pueda producir a un conjuntos de reglas sub o ptimas. Como sea, el algoritmo coberturaSecuencial ser a capaz de aprender un conjunto de reglas disjuntas que cubran los ejemplos de entrenamiento, al llamar repetidamente a aprendeUnaRegla en el resto de los ejemplos no cubiertos.

2.2.

Variaciones

Diversas variantes del enfoque presentado han sido estudiadas. Por ejemplo, en algunos casos ser a deseable tener un programa que aprenda u nicamente reglas que cubre ejemplos positivos, e incluir un valor por default que asigna una clasicacion negativa a los ejemplares no cubiertos por ninguna regla. Este enfoque es deseable por ejemplo, si queremos aprender un concepto como mujer embarazada con probabilidad de tener mellizos. En este caso, la fracci on de ejemplos positivos en toda la poblaci on, es peque no, de forma que el conjunto de reglas que denen el concepto ser a m as compacto e inteligible para los usuarios si este indentica solo cl ausulas de ejemplos positivos, con la clasicacion negativa por default, para todos los dem as ejemplos. Este enfoque tambi en corresponde con la estrategia de negaci on como falla usada por Prolog, en la cual una expresi on que no puede demostrarse verdadera, se asume como falsa. Para poder aprender estas reglas que predicen un s olo valor objetivo, el algoritmo aprendeUnaRegla puede ser modicado para aceptar un argumento adicional que especique el valor del atributo objetivo que nos interesa. La b usqueda por barrido se lleva a cabo como se mecion o, cambiando u nicamente la funci on desempe~ no que evalua las hip otesis. Observen que el uso de entropia en esta extensi on yao es apropiado, porque asigna la calicaci on m axima a las 4

fun aprendeUnaRegla(objetivo, atribs, ejs, k) input: objetivo: concepto cible; atribs: atributos; ejs: ejemplos de entrenamiento; k : n umero de candidatos a considerar; static: mejorHip: mejor hip otesis; candidatos: hip otesis candidato; restrics: conjunto de restricciones (atr,val); output: regla: la regla aprendida; mejorHip ; candidatos { mejorHip }; while not(vac o(candidatos)) do ;;; Candidatos mas espec cos restrics todasRestricciones(atribs,vals); nuevosCandidatos foreach h candidatos do foreach c restrics do especializar(h,c) enddo enddo nuevosCandidatos ltraDuplEIncons(nuevosCandidatos); ;;; Actualizar mejorHip foreach h nuevosCandidatos do if desempe no(h, ejs, objetivo) > desempe no(mejorHip, ejs, objetivo) then mejorHip h endif ;;; Actualizar candidatos candidatos mejores(k, nuevosCandidatos, desempe no); endwhile returnSi mejorHip Entonces m asFrecuente(Val(mejorHip,ejs)); endfun fundesempe no(h, ejs, objetivo) hEjs match(ejs, h); returnentropia(hEjs, objetivo); endfun

Cuadro 2: Algoritmos aprendeUnaRegla y desempe no

hip otesis que cubren exclusivamente ejemplos negativos, as como aquellas que cubren s olo ejemplos positivos. Una medida que evalue la fracci on de ejemplos positivos cubierta por la hip otesis, ser a m as apropiada en este caso. Otras variaciones pueden encontrarse en el algoritmo AQ [3], un predecesor de CN2. En primer lugar, este algoritmo busca reglas que cubren un atributo objetivo con un valor espec co, aprendiendo un conjunto de reglas a la vez para cada valor del atributo. La b usqueda de una sola regla tambi en es computada de otra forma, guiada por un s olo ejemplo positivo. En part cular, el algoritmo s olo considera aquellos atributos sastechos por el ejemplo positivo. Cada vez que el algoritmo aprende una nueva regla, un nuevo ejemplo positivo es seleccionado de entre aquellos que no est an a un cubiertos por el conjunto de reglas, para guiar la b usqueda de una nueva regla disjunta. La medida de desempe no usada en aprendeUnaRegla puede variar. Algunas funciones de evaluaci on comunes incluyen: Frecuencia relativa. Esta evaluaci on es usada en AQ. Sea n el n umero de umero de ejemplos que cumplen con la precondici on de la regla y nc el n ejemplos correctamente clasicados. La frecuencia relativa estimada del desempe no de la regla es: nc n Estimado-m de precisi on. Este estimador de la precisi on est a sesgado hac a la precisi on esperada de la regla. Se le preere cuando los datos son escasos y la regla ser a evaluada con base en pocos ejemplos. Como antes, n y nc denotas los ejemplos que cumplen la precondici on de la regla, y aquellos que est an bien clasicados, respectivamente. Sea p la probabilida apriori de que un ejemplo seleccionado aleatoriamente del conjunto de entrenamiento, tendr a el valor del atributo objetivo predicho por la regla (si hay 100 ejemplos en el conjunto de entrenamiento, y de ellos 12 tienen el valor del atributo predicho por la regla, entonces p = 0,12). Finalmente, sea m el peso, o el n umero equivalente de ejemplos para ponderar la probabilidad apriori p. El estimador-m de la precisi on de la regla es: nc + mp n+m Observen que si m = 0, el estimador-m se convierte en la frecuencia relativa. En la medida que m crece, un mayor n umero de ejemplos es necesario para contrarestar le precisi on asumida apriori p. Esta evaluaci on es usada en CN2 y el clasicador Bayes naive. Entrop a. Esta es la medida usada por la funci on desempe~ no, en el algoritmo aqu presentado. Sea S el conjunto de ejemplos que cumplen con la precondici on de la regla. La entropia mide la uniformidad de los valores de la

funci on objetivo, en este conjunto de ejemplos. Como tomamos el negativo de la entrop a, las mejores reglas tendr an valores m as altos.
c

entrop ia(S ) =
i=1

pi log2 pi

donde c es el n umero de valores diferentes que la funci on objetivo puede on de ejemplos con respecto a S para los cuales tomar; y pi es la proporci la funci on objetivo toma el valor i- esimo. Esta evaluaci on junto con un test de signicancia estad stica es usado por el algoritmo CN2 [2].

3.

Aprendi endo reglas de primer orden

Ahora consideraremos el problema de aprender reglas que contienen variables, en part cular, el aprendizaje de teor as de cl ausulas de Horn. Estas reglas son m as expresivas que su contraparte proposicional. Este tipo de aprendizaje se conoce como Programaci on L ogica Inductiva (ILP) [5], porque un conjunto de cl ausulas de Horn puede constituir un programa v alido en el lenguange de programaci on l ogica Prolog.

3.1.

Terminolog a

Antes de continuar, introduciremos la terminolog a b asica de la l ogica formal. Toda expresi on est a compuesta de constantes, variables, s mbolos de predicado y s mbolos de funciones. La diferencia entre predicados y funciones es que los primeros toman exclusivamente valores booleanos de falso y verdadero. Para representar constantes usaremos cadenas que inicien con una may uscula, y para las variables usaremos cadenas en min usculas. Para representar predicados usaremos cadenas que empiezan con may uscula, y para las funciones cadenas en min usculas. Con estos s mbolos, las expresiones se construyen como sigue: Un t ermino es una constante, o una variable, o una funci on aplicada a un t ermino (observen la recursi on en la denici on). Por ejemplo x, Juan, mayor(Juan, x), padre(Juan), son todos t erminos. Una literal es cualquier predicado o su negaci on, aplicada a un t ermino, por ejemplo, Soltera(x), V iudo(padre(Juan)), Soltero(Juan), son literales. Si una literal incluye negaci on se le llama literal negativa, en cualquier otro caso es una literal positiva. Una cl ausula es cualquier disyunci on de literales, donde se asume que todas las variables est an cuanticadas universalmente. Una cl ausula de Horn es una cl ausula que contiene a lo m as una literal positiva, de forma que: H L1 . . . Ln donde H es la literal positiva, y Li son las literales negativas. Debido a las equivalencias (B A) (B A) y (A B ) (A B ), la cl ausula de Horn puede escribirse alternativamente como: 7

H (L1 . . . Ln ) que es equivalente a la regla: Si L1 . . . Ln Entonces H Cualquiera que sea la notaci on adoptada, las precondiciones L1 . . . Ln de la cl ausula de Horn, son llamadas el cuerpo de la regla, o bien, su antecedente. La literal H que forma la postcondici on de la cl ausula de Horn, se llama cabeza, o alternativamente consecuente.

3.2.

FOIL: aprendiendo reglas de primer orden

El programa FOIL [6] emplea una estretegia muy similar a la cobertura secuencial para aprender reglas de primer orden. Formalmente, FOIL aprende conjuntos de reglas de primer orden, donde cada regla es similar a una cl ausula de Horn, con dos excepciones: i) las reglas aprendidas por FOIL son m as restrictivas que las cl ausulas de Horn en general, al no permitir la inclusi on de funciones (esto reduce el espacio de b usqueda); y ii) Las reglas de FOIL son m as expresivas que las cl ausulas de Horn al permitir literales negadas en el cuerpo de la regla. Esta conguraci on es lo sucientemente poderosa como para aprender coneptos como la denici on recursiva de QuickSort, o bien discriminar movimiento legales de los ilegales en ajedrez. El algoritmo FOIL se muestra en el cuadro 3. Observen que el ciclo principal corresponde a una variaci on del algoritmo coberturaSecuencial, esto es, aprende una regla a la vez removiendo los ejemplos cubiertos por la u ltima regla aprendida, antes de cont nuar. El ciclo interno es a su vez una variante del algoritmo aprendeUnaRegla, modicado para trabajar con reglas en primer orden. Observen tambi en las peque nas diferencias de FOIL con los algoritmos mencionados, en part cular, el hecho de que FOIL busque solamente reglas que predicen cuando la literal objetivo es verdadera. Los algoritmos introducidos previamente, buscan reglas que predicen cuando el objetivo es verdadero y cuando es falso. FOIL no ejecuta una b usqueda por barrido, utiliza un ascenso de gradiente simple1 . La b usqueda de FOIL puede entenderse mejor si se considera su estructura jerarqu ca. El ciclo principal del algoritmo agrega una nueva regla a la hip otesis disjunta reglas. El efecto de esto es generalizar la hip otesis actual, es decir, incrementar el n umero de ejemplares clasicados como positivos, agregando una nueva disyunci on. Visto a este n vel, el algoritmo lleva a cabo una b usqueda de lo espec co a lo general, comenzando con la hipotesis m as espec ca posible (la disyunci on vac a) y terminando con una hip otesis lo sucientemente general para cubrir todos los ejemplos de entrenamiento positivos. El ciclo interno del algoritmo lleva a cabo otra b usqueda en un m as detallada para encontrar la
1 Puede

verse tambi en como un b usqueda por barrido con amplitud k=1

fun FOIL(objetivo, predicados, ejemplos) input: objetivo: predicado concepto cible; predicados: bias de lenguaje; ejemplos: conjunto de entrenamiento; static: pos: ejemplos donde objetivo=t; neg: ejemplos donde objetivo=f; output: reglas: las reglas aprendidas; pos positivos(ejemplos,objetivo); neg negativos(ejemplos,objetivo); reglas {}; while pos do ;;; aprender regla nueva nuevaRegla (objetivo t); nuevaReglaNeg neg; while nuevaReglaNeg do ;;; Agregar literal para especializar litsCand nuevasLiterales(nuevaRegla,predicados); mejorLit maxllitsCand foilGain(L,nuevaRegla); reglaNueva (objetivo mejorLit); nuevaReglaNeg sat(nuevaReglaNeg, nuevaRegla); enddo reglas reglas nuevaRegla; pos cubre(pos,reglas); enddo returnreglas; endfun

Cuadro 3: Algoritmo FOIL

denici on exacta de cada regla aprendida, donde el espacio de b usqueda de este ciclo est a formado por conjunciones de literales. En este espacio, FOIL lleva a cabo una b usqueda de lo general a lo espec co (ascenso de gradiente), comenzando con la hip otesis m as general (cojunci on vac a), para entonces especializar la hip otesis, agregando una literal en cada iteraci on, de forma que los ejemplos de entrenamiento negatvos sean rechazados. La diferencia principal entre FOIL y los algoritmos de la secci on anterior se deben a que el algoritmo expresa sus hip otesis en un lenguaje de primer orden. Las diferencias incluyen: 1. En su b usqueda de lo general a lo espec co, FOIL emplea etapas de diferente n vel de detalle, para generar los candidatos a especializaci on de una regla. Esto se debe a la necesidad de introducir reglas en la precondici on de la regla. FOIL emplea una medida de desempe no diferente a la entropia usada en aprendeUnaRegla (cuadro 2). Esta diferencia es producto de la necesidad de distinguir las diferentes instanciaciones, en las variables de una regla; y por el hecho de que el algoritmo busca s olo reglas que cubren ejemplos positivos. Estas diferencias son discutidas en detalle en el resto de la secci on. 3.2.1. Generaci on de candidatos a especializaci on en FOIL

2.

Para generar candidatos a especializaci on de la regla aprendida hasta el momento, FOIL genera diversas literales nuevas, cada una de las cuales pueden ser agregadas a las precondiciones de la regla actual. Por ejemplo, consideren que la regla aprendida es: P (x1 , x2 , . . . xn ) L1 , . . . Ln donde L1 , . . . , Ln son las literales formando la precondici on de la regla; y on de la regla. FOIL calcula P (x1 , x2 , . . . xn ) es la literal que forma la poscondici los candidatos a generalizaci on consierando nuevas literales Ln+1 que satisfacen uno de los siguiente criterios: Q(v1 , . . . vr ) donde Q predicados es un s mbolo de predicado; y vi son nuevas variables, o variables que ya est an presentes en la regla. Al menos una de las vi en la literal creada, debe existir ya como variable en la regla actual. Igual(xj , xk ) donde xj y xk son varibles que ya est an presentes en la regla. La negaci on de alguna de las dos formas de literal antes mencionadas. Como ejemplo, consideren reglas de aprendizaje para predecir la literal objetivo N ieta(x, y ), en done otros predicados para describir los ejemplos son P adre 10

y M ujer. La b usqueda de lo general a lo espec co de FOIL comienza con la regla m as general: N ieta(x, y ) que establece que N ieta(x, y ) es cierto para cualquier x y cualquier y . Para especializar esta regla inicial, las siguientes literales son generadas como candidatos a agregarse a la precondici on de la regla: Igual(x, y ), M ujer(x), M ujer(y ), P adre(x, y ), P adre(y, x), P adre(x, z ), P adre(z, x), P adre(y, z ), P adre(z, y ), as como la negaci on de cada una de estas literales. Observen que z es una variable nueva aqu , mientras que x e y son variables existentes. Ahora consideren que de manera ego sta, FOIL selecciona a P adre(y, z ) como la literal m as promisioria, produciendo as la regla m as espec ca: N ieta(x, y ) P adre(y, z ) Al generar candidatos para generalizar nuevamente la regla, FOIL considerar a ahora todas las literales mencionadas en el paso anterior, m as las siguientes: M ujer(z ), Igual(z, x), Igual(z, y ), P adre(z, w), P adre(w, z ), as como sus negaciones. Estas literales son consideras por la introducci on de z en la etapa anterior, lo cual lleva a FOIL a considerar ahora la nueva variable w. Si FOIL selecciona en este momento la literal P adre(z, x) y posteriormente M ujer(y ), eso resultar a en la siguiente regla, que cubre s olo ejemplos positivos y, por lo tanto, termina con la b usqueda de especializaciones: N ieta(x, y ) P adre(y, z ) P adre(z, x) M ujer(y ) En este punto, FOIL eliminar a todos los ejemplos positivos cubiertos por esta regla del conjunto de entrenamiento. Si a un quedan ejemplos positivos por cubrir, entonces comenzar a otra b usqueda de lo general a lo espec co de una nueva regla. 3.2.2. Guiando la b usqueda de FOIL

Para seleccionar la literal m as promisoria de entre los candidatos generados en cada etapa del algoritmo, FOIL considera el desempe no de clasicaci on de la regla sobre el conjunto de entrenamiento. Al hacer esto, el algoritmo consiera todas las instanciaciones posibles de cada variable en la regla. Por ejemplo, consideren nuevamente la b usqueda de un conjunto de reglas para predecir la literal objetivo N ieta(x, y ). Como ejemplo de entramiento, asumimis el siguiente conjunto de hechos de forma general P (x, y ) que se leen P es el x de y : Nieta(Victor,Sharon) Mujer(Sharon) Padre(Sharon,Bob) Padre(Bob,Victor) Padre(Tom,Bob)

Aqu asumiremos el supuesto del mundo cerrado (CWA, Close World Assumption) de que cualquier literal que involucre los predicados N ieta, P adre 11

y M ujer, as como las constantes V ictor, Sharon, Bob, y T om, que no se encuentre en el listado anterior, puede ser consierada como falsa. Podemos tambi en armar expl citamente, por ejemplo, que N ieta(T om, Bob), etc. Para seleccionar la mejor especializaci on de la regla actual, FOIL considera cada forma distinta en la que las variables de la regla, pueden ser instanciadas por las constantes en los ejemplos de entrenamiento. Por ejemplo, en la etapa inicial, cuando la regla es: N ieta(x, y ) las variables x e y no est an restringidas por la precondici on de la regla, y pueden ser instanciadas por cualquier combinaci on de las constantes V ictor, Sharon, Bob, y T om. Usaremos la notaci on {x/Bob, y/Sharon} para expresar una instanciaci on de variables part cular. Al mapeo de cada variable a una constante se le conoce como substituci on. Dadas las cuatro constantes, hay 16 substituciones posibles para esta regla inicial. La substituci on {x/V ictor, y/Sharon} corresponde a la instanciaci on por un ejemplo positivo, porque la instanciaci on incluye el hecho N ieta(V ictor, Sharon). Las otras 15 instanciaciones permitidas por la regla, constituyen evidencia negativa para la regla (ning un hecho en el conjunto de entrenamiento corresponde a alguna de ellas). En cada etapa, la regla es evaluada con respecto a estos conjuntos de substituciones positivas y negativas, d adole preferencia a las reglas que poseen m as substituciones positivas, y pocas negativas. Conforme se agregan nuevas literales a la regla, el conjunto de substituciones cambia. Observen que si una literal agregada introduce una nueva variable, el conjunto de substituciones crecera. Observen tambi en que si la nueva variable puede instanciarse con muchas constantes, entonces el n umero de substituciones que se adapten a la nueva regla, puede ser mayor que aquellas de la regla original. La funci on de evaluaci on usada por FOIL para estimar la utilidad al agregar una literal, se basa en el n umero de subtituciones positivas y negativas cubiertas, antes y despu es de a nadir la literal. Consideren cualquier regla R, y una literal candidato L, que debe ser agregada al cuerpo de R. Sea R la reglada creada al agregar L a R. El valor gananciaF oil(L, R) de agregar L a R se dene como: gananciaF oil(L, R) t log2 pR pR log2 pR + nR pR + nR

donde pR son las substituciones positivas al agregar L y nR son las substituciones negativas al agregar L, etc.; y t es el total de ejemplos positivos cubiertos por la regla R que permanecen cubiertos al agregar la literal L. Cuando una nueva variable se introduce al agregar L, entonces la substituci on original se asume cubierta, mientras alguna de las instanciaciones que la extienden, est e presente en la substituci on de R . La m etrica gananciaFoil tiene una interpretaci on directa en t erminos de R es el n umero la teor a de informaci on. De acuerdo a esta teoria log2 pRp +nR m nimo de bits necesario para codicar la clasicaci on de una instanciaci on positiva arbitraria entre las instanciaciones cubiertas por la regla R. Por lo tanto 12

gananciaFoil puede verse como la reducci on por L en el n umero total de bits necesarios para codicar la clasicaci on de todas las instanciaciones positivas de R. 3.2.3. Aprendiendo reglas recursivas

En la presentaci on de FOIL hemos ignorado la posibilidad de que las literales agregadas en el cuerpo de la regla, hagan referencia al predicado objetivo, esto es, el predicado que aparece en la cabeza de la regla. Sin embargo, si inclu mos el predicato objetivo en la lista de predicados esto permitir a la formaci on de reglas recursivas. Por ejemplo, la denici on recursiva de ancestro: Si P adre(x, y ) Si P adre(x, z ) Ancestro(z, y ) Entonces Ancestro(x, y ) Entonces Ancestro(x, y )

Por supuesto, que la segunda regla sea inclu da en el conjunto aprendido, depende de que la literal Ancestro(z, y ) supere en desempe no a las dem as literales. Un problema a considerar es c omo evitar que las reglas aprendidas produzcan un procedimiento de recursi on innita. Ver Cameron-Jones y Quinan [1] para una discusi on en detalle de aprendizaje de conceptos recursivos con FOIL.

4.

Inducci on como deducci on invertida

Un segundo enfoque a la programaci on l ogica inductiva est a basado en la simple observaci on de que la inducci on es s olo el inverso de la deducci on. En general el aprendizaje autom atico involucra la construcci on de teor as que explican los datos observados. Dados un conjunto de datos D y alg un conocimiento parcial apriori (background) B , el aprendizaje puede describirse como la generaci on de una hip otesis h que junto con B , explica D. Asumiendo que los ejemplos de on se dene como: entrenamiento toman la forma xi , f (xi ) el esta restricci xi , f (xi ) D.B h xi |= f (xi ) La expresi on X |= Y se lee Y sigue deductivamente de X , o alternativamente X exige ( mplica) Y . Esta expresi on describe la restricci on que debe satisfacer la hip otesis aprendida h: para todo ejemplo de entrenamiento xi , la clasicaci on f (xi ) es una consequencia deductiva de B , h y xi . Como un ejemplo, consideren el caso donde el concepto objetivo a ser aprendedido es pares de gente (u, v ) tal que el hijo2 de u es v , representado por el predicado Hijo(u, v ). Asuman que nos hes dado un ejemplo positivo del concepto: Hijo(Bob, Sharon), donde el ejemplar es descrito por las literales as que Hombre(Bob), M ujer(Sharon), y P adre(Sharon, Bob)3 . Supongan adem tenemos como conocimiento background la regla: P adre(u, v ) P apa(u, v ). En
2 Entendido 3 Padre

aqu como hijo o hija. considerado como ambos padres

13

este caso, dos de las hip otesis posibles que satisfacen la restricci on mencionada son: h1 h2 : : Hijo(u, v ) P adre(u, v ) Hijo(u, v ) P apa(u, v )

Observen que la literal objetivo Hijo(Bob, Sharon) es implicada l ogicamente por h1 xi , sin necesidad de considerar el conocimiento apriori B . En el caso de la hip otesis h2 la situaci on es diferente,, la literal objetivo es implicada l oginicamente por h2 xi . Esto ejemplica el papel camente por B h2 xi y no u del conocimiento background para expandir el conjunto de hipotesis aceptables para un conjunto de entrenamiento dado. Tambi en ilustra como predicados nuevos como P apa pueden incluirse en las hip otesis aprendidas, sin que est en presentes en la descripci on original de los ejemplos de entrenamiento. Este procedimiento de aumentar el conjunto de predicados con base en el conocimiento background se cnoce como inducci on constructiva. Lo relevante de formular la restricci on sobre las hip otesis de esta forma es que dene el problema de aprendizaje en t erminos de la l ogica formal y la inferencia deductiva. En los casos de la l ogica proposicional y la l ogica de primer orden, existen algoritmos bien estudiados, para automatizar la deducci on. Resulta interesante que esos procedimientos puedan ser invertidos para automatizar el proceso de generalizaci on inductiva. El tema general de esta secci on es c omo construir operadores de implicaci on inversos. Un operador de implicaci on inverso O(B, D) toma un conjunto de entrenamiento D y una teor a de background B , para producir una hip otesis h, que satisface la restricci on mencionada: O(B, D) = h tal que xi , f (xi ) D.B h xi |= f (xi ) Por supuesto que existen muchas hip otesis que satisfacen esta restricci on. Una heur stica com un en ILP se basa en el principio de descripci on m nima (navaja de Occam). Diferentes atributos pueden usarse para formular hip otesis compatibles con la restricci on: Esta formulaci on subsume la denici on com un de aprendizaje como la b usqueda de un concepto general que cubre un conjunto de entrenamiento dado. Este caso corresponde a B = Al incorporar B , la formulaci on permite una denici on m as rica de cuando una hip otesis se ajusta a los datos. Hast ahora, esto se determina a partir de un lenguaje que dene exclusivamente los ejemplos de entrenamiento y la hip otesis, independientemente del dominio del problema. La consideraci on de conocimiento background permite consierar lenguajes espec cos a cierto dominio. Al considerar B , es posible utilizar este conocimiento background para guiar la b usqueda de h, en lugar de explorar el espacio de todas las hip otesis sint acticamente correctas. 14

Al mismo tiempo, la investigaci on en programaci on l ogica inductiva siguiendo esta formulaci on, ha encontrado diversas dicultades practicas: El requerimiento xi , f (xi ) D.B h xi |= f (xi ), no se ajusta naturalmente al caso de ruido en los ejemplos de entrenamiento. El problema es que esta expresi on no permite la posibilidad de que pueda haber errores en la descripci on de los ejemplos observados. Los errores pueden introducir un conjunto de restricciones inconsistentes para h. Desafortunadamente, la mayor a de los marcos de l ogica formal, pierden completamente su habilidad para distinguir la verdad de lo falso, una vez que consideran aserciones ambiguas. El lenguaje de primer orden es tan expresivo, que el n umero de hip otesis que satiosfacen la restricci on xi , f (xi ) D.B h xi |= f (xi ) es tan grande, que la b usqueda en el espacio de hipotesis es, en la mayor a de los casos, intratable. Algunos trabajos recientes se orientan a trabajar con formas restringidas de primer orden, o conocimiento adicional de segundo orden, para tratar de mejorar la tratabilidad del problema. A pesar de que intuitivamente, el conocimiento background B deber a ayudar a restringir y orientar la b usqueda en el espacio de hip otesis, en la mayor a de los sistemas ILP, la complejidad de este espacio se incrementa al considerar B .

5.

Resoluci on invertida

Un m etodo general para automatizar la deducci on se conoce como regla de resoluci on [7]. Esta regla es consistente y completa para la deducci on en primer orden. Por lo tanto, resulta interesante investigar si es posible invertir la resoluci on para construir un operador de implicaci on inverso. CIGOL [4] utiliza precisamente este operador. Es m as sencillo introducir el principio de resoluci on en su forma proposicional. Sea L una literal proposicional arbitraria. Sean P y R cl ausulas proposicionales arbitrarias. La regla de resolucion se dene como: P L P L R R

y puede leerse de la siguiente manera: Dadas las dos cl ausulas sobre la l nea, se concluye la cl ausula debajo de la l nea. Dadas las dos aserciones P L y L R, resulta obvio que ya sea L o L debe ser falsa. Por lo tanto, ya sea P o R deben ser verdadera, por lo que P R. La forma general del operador de resoluci on proposicional se muestra en on primero el cuadro 4. Dada dos cl ausulas C1 y C2 , el operador de resoluci identica una literal L que ocurra como literal positiva en alguna de estas dos

15

1. 2.

Dadas las cl ausulas iniciales C1 y C2 , encontrar una literal L de la cl ausula C1 , tal que L ocurra en C2 . Formar el resolvente C incluyendo todas las literales de C1 y C2 , excepto L y L: C = C1 \ {L} C2 \ {L}

Cuadro 4: Operador de resoluci on proposicional cl ausulas, y como negativa en la otra. Esto lo lleva a concluir de acuerdo a la regla de resoluci on. Es f acil invertir el operador de resoluci on, para obtener un operador de implicaci on inversa O(C, C1 ) que lleve a cabo inferencias inductivas. En general, este operador inverso debe derivar una de las cl ausulas iniciales, C2 , dados el resolvente C y la otra cl ausula inicial C1 . Consideren un ejemplo donde nos es omo podemos dado el resolvente C = A B y la cl ausula inicial C1 = B D. C derivar una cl ausula C2 tal que C1 C2 |= C ? Primero observen que por la denici on del operador de resoluci on, cualquier literal que ocurra en C , pero no en C1 , debe estar presente en C2 . En nuestro ejemplo esto indica que C@ debe incluir A. Segundo, la literal que ocurre en C1 , pero no en C , debe ser la literal eliminada por la regla de resoluci on, y por lo tanto su negaci on debe ocurrir en C2 . En nuestro ejemplo esto indica que C2 debe incluir la literal D. Por lo on a C1 y C2 produce tanto C2 = A D. Aplicando el operador de resoluci efectivamente el resolvente C . Observen que hay una segunda soluci on para C2 en el ejemplo anterior. en la cl ausul m as espec ca A D B . La En part cular, C2 , puede ser tambi diferencia con la soluci on anterior es que ahora hemos incluido en C2 , una literal es observar que el operador de resoluci on que ocurre en C1 . Lo important aqu inverida es no determinista En general, habr a muchas cl ausulas C1 y C2 que produzcan el resolvente C . Una heur stica para elegir entre las alternativas es preferir cl ausulas cortas, sobre las largas. Si incorporamos este sesgo por las cl ausulas cortas, el operador de resoluci on invertido se dene como en el cuadro 5. Es posible dise nar un algoritmo de aprendizaje de reglas basado en el operador de resoluci on invertido. El algoritmo puede producir hip otesis que, junto con el conocimiento background, impliquen los ejemplos observados. Una estretegia es usar la cobertura secuencial para iterativamente ir aprendiendo una cl ausula de Horn a la vez. En cada iteraci on el algoritmo selecciona un ejemplo de entrenamiento que a un no sea cubierto por las reglas aprenididas hasta ese momento. El operador invertido es aplicado entonces para generar hip otesis candidato hi tal que (B hi xi |= f (xi ), donde el background B incluye las reglas aprendidas hasta ese momento. Observen que esta es una b usqueda guiada 16

1. 2.

Dadas las cl ausulas iniciales C1 y C , encontrar una literal L que ocurre en la ausula C . cl ausula C1 , pero no en la cl Formar una segunda cl ausla C2 incluyendo las siguientes literales: C = (C \ (C1 \ {L})) {L}

Cuadro 5: Operador de resoluci on invertido proposicional por los ejemplos. Por supuesto, una estretegia para elegir hip otesis alternativas es elegir aquella que tenga mayor precisi on de clasicaci on sobre los ejemplos de entrenamiento. CIGOL utiliza este dise no, aunque por supuesto, opera en representaciones de primer orden.

5.1.

Resoluci on en primer orden

Recuerden que una substituci on es un mapeo de un conjunto de variables a un conjunto de t erminos, por ejemplo = {x/Bob, y/z }. Decimos que la olo si L1 = L2 . Por ejemplo, substituci on unica las cl ausulas L1 y L2 , si y s si L1 = P adre(x, y ) y L2 = P adre(Bill, z ), entonces = {x/Bill, z/y } es un unicador de L1 y L2 porque L1 = L2 = P adre(Bill, y ). De esta forma, en ausula C1 y una la resoluci on en primer orden buscamos una literal L1 de la cl ausula C2 , tal que un unicador entre L1 y L2 pueda ser literal L2 de la cl encontrado. La regla de resoluci on calcula el resolvente entonces de acuerdo a: C = (C1 \ {L1 } (C2 \ {L2 }

5.2.

Resoluci on invertida en primer orden

La regla de resoluci on para primer orden puede ser manipulada algebra camente para denir la resoluci on invertida. Primero observen que el unicador puede ser u nicamente factorizado en 1 y 2 , donde = 1 2, donde 1 contiene las substituciones que involucran las variables de la cl ausula C1 y 2 contiene las substituciones que involucran variables de la cl ausula C2 . Esto es posible porque C1 y C2 comenzaran siempre con nombres de variables distintos. Usando esta factorizaci on reescribimos la regla de resoluci on como: C = (C1 \ {L1 }1 (C2 \ {L2 }2 Ahora, si restringimos la resoluci on invertida a inferir u nicamente cl ausulas C2 que no contengan literales que aparezcan en C1 , la regla anterior puede expresarse como: C \ (C1 \ {L1 }1 = (C2 \ {L2 }2 17

1 Utilizando el hecho de que L2 = L1 1 2 , resolviendo para C2 obtenemos la regla de resoluci on invertida: 1 1 C2 = (C \ (C1 \ {L1 })1 ) 2 {L1 1 2 }

Recuerden que este operador es no determinista. La gura 1 ilustra la aplicaci on de este operador.

Figura 1: Ejemplo de resoluci on invertida

Referencias
[1] Cameron-Jones, R. and Quinlan, J. R.: Avoiding pitfalls when learning recursive theories. Proceedings of the Eight International Workshop on Machine Learning, 389 393, Morgan Kaufmann, San Mateo, CA., USA, 1993 [2] Clark, P., and Nibblett, R.: The CN2 induction algorithm. Machine Learning, 3, 261284, 1989 [3] Michalkski, R.S., Mozetic, L., Hong, J., and Lavrac, H.: The multi-purpose incremental learning system AQ15 and its testing application to three medical domains. In: Proceedings of the Fifth National Conference on AI, p. 10411045. Morgan Kaufmann 1986 [4] Muggleton, S., and Buntine, W.: Machine invention of rst-order predicates by inverting resolution. In: Proceedings of the Fifth International Machine Learning Conference, 339352, Morgan Kaufmann, Ann Arbor, MC., USA, 1988 [5] Muggleton, S., de Raed, L.: Inductive Logic Programming: Theory and Methods. Journal of Logic Programming, 19:629679 (1994) 18

[6] Quinlan, J.R.: Learning logical denitions from relaions. Machine Learning, 5, 239266, 1990 [7] Robinson, J.A.: A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1):2341, 1965

19

También podría gustarte