Introducción a la Ingenierı́a del Conocimiento 2006-07 Aprendizaje de reglas: Programación Lógica Inductiva Miguel A. Gutiérrez Naranjo Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla IIC 2006-2007 RGNC Aprendizaje de ... 1 ¿Qué es el Aprendizaje Automático? B Any change in a system that allows it to perform better the second time on repetition of the same task or on another task drawn from the same population (Simon, 1983). B El Aprendizaje Automático estudia cómo construir programas que mejoren automáticamente con la experiencia. B ¿Por qué estudiar Aprendizaje Automático? u u u u Recientes avances en la teorı́a y los algoritmos. Crecimiento desbordante de datos “en lı́nea” (on line). Se dispone de máquinas suficientemente potentes. Interés por parte de la industria. IIC 2006-2007 RGNC Aprendizaje de ... 2 Algunos ejemplos (I) B Minerı́a de datos (Data mining): Uso de datos históricos para mejora de decisiones: Datos médicos −→ Decisiones médicas B Conducción autónoma de vehı́culos: Aprenden a conducirse en autopistas en función de la información visual que reciben. B Reconocimiento del habla. B Juegos B Programas que se modifican a sı́ mismos según las costumbres del usuario: IIC 2006-2007 RGNC Aprendizaje de ... 3 Un problema de minerı́a de datos B Dados: u u B Con 215 caracterı́sticas de cada paciente. Objetivo: u B Datos de 9714 pacientes, describiendo datos sobre embarazo y alumbramiento. Aprender a predecir clases de pacientes con alto riesgo de cesárea. Una de las 18 reglas aprendidas: u u Si la madre es primeriza, los ultrasonidos en el segundo trimestre dan resultados anormales, etc . . . Entonces será necesaria cesárea IIC 2006-2007 RGNC Aprendizaje de ... 4 Análisis del riesgo en un crédito B B Reglas aprendidas a partir de la sı́ntesis de datos: Primera regla: u B Segunda regla: u B Si bancos–con–deudas > 2 y Reincidencias > 1, entonces Aceptar= No Si Bancos–con–deudas = 0 y Ingresos > 150.000, entonces Aceptar= Sı́ ... IIC 2006-2007 RGNC Aprendizaje de ... 5 Hacia dónde vamos (I) B Hoy: La punta del iceberg u u u u u Redes neuronales Arboles de decisión Programación lógica inductiva Regresión ... B Aplicados a bases de datos bien estructuradas B Interés por parte de la industria IIC 2006-2007 RGNC Aprendizaje de ... 6 Hacia dónde vamos (II) B Oportunidades para el futuro: B Aprendizaje a partir de datos de varias fuentes simultáneas: Bases de datos internas, web,. . . B Aprendizaje por experimentación activa B Aprendizaje de decisiones en lugar de predicciones B Aprendizaje acumulativo de larga duración B ¿Lenguajes de programación con aprendizaje incorporado? IIC 2006-2007 RGNC Aprendizaje de ... 7 Disciplinas relacionadas B Inteligencia Artificial B Métodos bayesianos B Teorı́a de la complejidad B Ingenierı́a del conocimiento B Teorı́a de la información B Filosofı́a B Psicologı́a y neurobiologı́a B Estadı́stica B ... IIC 2006-2007 RGNC Aprendizaje de ... 8 Problema de aprendizaje B Aprendizaje: Mejora de alguna tarea mediante la experiencia B Tarea (T ): Lo que se debe aprender B Experiencia (E): La que se tiene en relación a lo que se debe aprender B Rendimiento (R): Medida de la calidad de lo aprendido B Se dice que un sistema aprende de la experiencia, si el rendimiento R de la tarea T aprendida crece al crecer E. IIC 2006-2007 RGNC Aprendizaje de ... 9 Problema de aprendizaje B ¿Qué experiencia? B ¿Qué debe aprender? B ¿Cómo representamos el conocimiento? B ¿Qué algoritmo usaremos para aprenderlo? B ¿Cómo se mide la mejora? IIC 2006-2007 RGNC Aprendizaje de ... 10 Ejemplos B Una forma de aprender a jugar al ajedrez (de mejorar nuestro juego), es jugar contra nosotros mismos. Normalmente la forma de saber si hemos aprendido es jugar contra otros. B Caracterización de este problema de aprendizaje u u u T : Jugar al ajedrez E: Conjunto de partidas jugadas contra uno mismo R: Porcentaje de partidas ganadas contra otro jugador IIC 2006-2007 RGNC Aprendizaje de ... 11 Ejemplos B Una forma de que un sistema aprenda a reconocer palabras en un texto manuscrito, puede ser a partir de una base de datos con imágenes de palabras manuscritas y sus correspondientes transcripciones. B La forma de saber si el sistema ha aprendido a reconocer palabras, será darle un texto manuscrito y ver cuantas transcripciones correctas hace. B Caracterización de este problema de aprendizaje u u u T : Reconocer palabras manuscritas E: Base de datos de palabras con sus transcripciones R: Porcentaje de palabras reconocidas IIC 2006-2007 RGNC Aprendizaje de ... 12 Ejemplos B Se puede enseñar a un vehı́culo a conducir automáticamente, guiándose por lo que ve (usando sensores de visión), y suministrándole una base de datos en la que se hayan registrado las imágenes tomadas mientras un conductor humano conducı́a el vehı́culo, junto con las correspondientes acciones que hizo. B Caracterización de este problema de aprendizaje u u u T : Conducir un vehı́culo E: Base de datos de imágenes, y las acciones correspondientes, registradas durante conducción por parte de un conductor humano R: Distancia recorrida sin comenter ningún error IIC 2006-2007 RGNC Aprendizaje de ... 13 ¿Qué estudiar en A. A.? B ¿Qué algoritmos pueden aproximar funciones correctamente? B ¿Cómo influye el número de ejemplos en la exactitud? B ¿Cómo influye la complejidad de la representación de las hipótesis? B ¿Cómo influye el ruido? B ¿Cuáles son los lı́mites teóricos del aprendizaje? B ¿Cómo puede ayudar el conocimiento a priori? B ¿Qué esquemas del aprendizaje biológico podemos adoptar? B ¿Cómo pueden los sistemas alterar su propia representación? IIC 2006-2007 RGNC Aprendizaje de ... 14 Un ejemplo: Los trenes de Ryszard Michalski u Buscamos una explicación que nos permita distinguir entre los trenes que van al este y los trenes que van al oeste. 1. TRAINS GOING EAST IIC 2006-2007 2. TRAINS GOING WEST 1. 1. 2. 2. 3. 3. 4. 4. 5. 5. RGNC Aprendizaje de ... 15 Ejemplos B Ejemplos positivos eastbound(east1). eastbound(east4). B eastbound(east2). eastbound(east5). eastbound(east3). eastbound(west7). eastbound(west10). eastbound(east8). Ejemplos negativos eastbound(west6). eastbound(west9). B Espacio y sistemas de búsqueda B Conocimiento básico u Tren 1: short(car_12). load(car_11,rectangle,3). wheels(car_11,2). ... ... u Tren 2: ... IIC 2006-2007 RGNC Aprendizaje de ... 16 Sesión [theory] [Rule 1] [Pos cover = 5 Neg cover = 0] eastbound(A) :has_car(A,B), short(B), closed(B). [pos-neg] [5] [Training set performance] Actual + + 5 0 5 Pred - 0 5 5 5 5 10 Accuracy = 1.0 [Training set summary] [[5,0,0,5]] [time taken] [0.13] IIC 2006-2007 RGNC Aprendizaje de ... 17 ¿Qué es un concepto? B Un concepto es el conjunto de todas sus instancias (G. Leibnitz) u u u La Humanidad es el conjunto de todos los hombres. La sociedad andaluza es el conjunto de habitantes de Andalucı́a. La relación mayor que definida sobre el conjunto de los números reales es el conjunto de pares (x, y) tales que x es mayor que y. IIC 2006-2007 RGNC Aprendizaje de ... 18 Aprendizaje de conceptos B Para conocer un conjuntos tenemos dos tipos de definiciones: Extensiva: Enumerando uno tras otro sus elementos Vocales = {a, e, i, o ,u} Intensiva: Dando una propiedad que tengan todos aquellos y sólo aquellos elementos del conjunto P aresN = {n ∈ N|∃m ∈ N(n = 2 × m)} IIC 2006-2007 RGNC Aprendizaje de ... 19 Gráficamente ' ◦ ◦ ' U ◦ ' ◦ ⊕ & & & ⊕ H1 IIC 2006-2007 ◦ ⊕ ⊕ ' ◦ E+ ⊕ ' $ $ ◦ ◦ ⊕ & % H3 RGNC ◦ % ◦ $ E− ◦ & ◦ % ◦ ◦ ◦ ◦ H4 $ ◦ $ ◦ ◦ H2 % % Aprendizaje de ... 20 Un ejemplo E+ = {2, 4, 6, 8} E− = {11, 17} H1 =E+ H2 = N−E− H3 = {n ∈ N | n es par } H4 = {n ∈ N | n ≤ 10} IIC 2006-2007 RGNC Aprendizaje de ... 21 Dos problemas Sólo conocemos una cantidad finita de instancias (positivas y negativas) del concepto. ¿Cómo podemos obtener conocimiento general ? ⇒ Abducción ¿Cómo podemos estar seguros de nuestro conocimiento? ⇒ Justificación IIC 2006-2007 RGNC Aprendizaje de ... 22 Abducción (Peirce y Polya) Charles S. Peirce: La abducción es el proceso de formar hipótesis explicativas. La abducción es la única operación lógica que introduce nuevas ideas. • The surprising fact C is observed. • But if A were true, C would be a matter of course. • Hence, there is reason to suspect that A is true. G. Polya contrasta dos tipos de argumentos: El silogismo demostrativo, en donde de A → B y B falso, concluimos ¬A El silogismo heurı́stico en donde de A → B y B verdadero, se sigue que A es más creı́ble. IIC 2006-2007 RGNC Aprendizaje de ... 23 Reglas de inferencia (C. S. Peirce) DEDUCCIÓN • Regla: Todas las judı́as de esta bolsa son blancas • Premisa: Estas judı́as proceden de esta bolsa • Conclusión: Estas judı́as son blancas INDUCCIÓN • Premisa: Estas judı́as proceden de esta bolsa • Conclusión: Estas judı́as son blancas • Regla: Todas las judı́as de esta bolsa son blancas ABDUCCIÓN • Regla: Todas las judı́as de esta bolsa son blancas • Conclusión: Estas judı́as son blancas • Premisa: Estas judı́as proceden de esta bolsa IIC 2006-2007 RGNC Aprendizaje de ... 24 Justificación David Hume, en suTreatise on Human Nature defendió que la idea de ley causal es algo que existe sólo en la mente y no hay necesidad lógica inherente a las leyes causales. Kark R. Popper apuntó el hecho de que las hipótesis cientı́ficas no pueden ser verificadas de manera conclusiva. Sólo pueden ser falsificadas de manera conclusiva. R. Carnap desarrolló teorı́as estadı́sticas para confirmar hipótesis cientı́ficas expresadas en lógica de primer orden. IIC 2006-2007 RGNC Aprendizaje de ... 25 Aprendizaje de conceptos B El aprendizaje de conceptos estudia cómo conseguir la definición de una categorı́a a partir de ejemplos positivos y negativos de esa categorı́a. B El aprendizaje de conceptos estudia cómo inferir automáticamente una función general sobre el conjunto de ejemplos que tome valores booleanos y caracterice los ejemplos conocidos. f: B Ejemplos −→ {0, 1} Dos objetivos: u u Compresión de la información Capacidad predictiva IIC 2006-2007 RGNC Aprendizaje de ... 26 Ejemplo Problema: Un amigo nuestro practica deportes acuáticos. Unos dı́as los practica y otros no. Nos gustarı́a saber si hoy va a ir a practicarlos o no. oooOooo Universo: Conjunto de todos los dias posibles Objetivo: Conjunto de todos los dias que practica deporte Función objetivo: Función caracterı́stica del conjunto objetivo Hacer deporte : IIC 2006-2007 RGNC Dı́as −→ {0, 1} Aprendizaje de ... 27 El problema de la representación ¿Cómo representamos un dı́a? Pares atributo–valor Selección de atributos: Cielo, Temperatura, Humedad, Viento Agua, Previsión Selección de valores: Cielo: Soleado, lluvioso. Viento: Fuerte, débil, sin viento. Temperatura: Alta, templada, frı́a. Agua: Caliente, templada, frı́a. Humedad: Alta, normal, baja. Previsión: Cambio, Sigue igual. IIC 2006-2007 RGNC Aprendizaje de ... 28 Ejemplo Conjunto de entrenamiento: Cielo Temperatura Humedad Viento Agua Previsión Hacer Deporte Soleado Templada Normal Fuerte Templada Sigue igual Sı́ Soleado Templada Alta Fuerte Templada Siguel igual Sı́ Lluvioso Frı́a Alta Fuerte Templada Cambio No Soleado Templada Alta Fuerte Frı́a Cambio Sı́ ¿Cuándo hacemos deporte? ¿Podemos definir el concepto Hacer Deporte? IIC 2006-2007 RGNC Aprendizaje de ... 29 El problema del aprendizaje de conceptos (I) (Inf.) Dados: • Un universo o conjunto de instancias X (Dı́as posibles, cada uno descrito por los atributos Cielo, Temperatura, Humedad, Viento, Agua y Previsión). • Una función de clasificación definida sobre X desconocida: c : X −→ Clasif donde Clasif es el conjunto de posibles clasificaciones que tiene una instancia. En nuestro ejemplo podemos considerar Clasif={Sı́, No} o IIC 2006-2007 RGNC Clasif = {0, 1} Aprendizaje de ... 30 El problema del aprendizaje de conceptos (Inf.) • Un conjunto de entrenamiento (conocido) D = {(x1, c(x1)), (x2, c(x2)), . . . , (xn, c(xn))} formado por pares (xi, c(xi)) donde xi ∈ X y c(xi) es la clasificación de la instancia xi por la función c. Encontrar: • Una función objetivo h : X −→ Clasif tal que si (xi, c(xi)) ∈ D entonces h(xi) = c(xi) IIC 2006-2007 RGNC Aprendizaje de ... 31 Hipótesis La Hipótesis del Aprendizaje Inductivo: Cualquier hipótesis que aproxime la función objetivo sobre un conjunto suficientemente grande de ejemplos de entrenamiento también aproximará la función objetivo sobre el resto de los ejemplos. IIC 2006-2007 RGNC Aprendizaje de ... 32 El problema de la representación Seguimos con nuestro ejemplo Muchas representaciones posibles Pares valor–atributo Hiṕotesis: Conjunción de restricciones sobre las instancias de los atributos Cada restricción puede ser: • Un valor especı́fico (p. e. Agua = Templada) • Cualquier valor (p. e. Agua = ?) • No se permite ningún valor (p. e. Agua = ∅) IIC 2006-2007 RGNC Aprendizaje de ... 33 El problema de la representación Podemos considerar que los dı́as para hacer deporte son aquellos en los que B Cielo = Soleado Temperatura = Da igual Humedad = Da igual Viento = Fuerte Agua = Da igual Previsión = Sigue igual B y y y y y O con una representación más compacta (Soleado,?,?,Fuerte,?,Sigue igual) IIC 2006-2007 RGNC Aprendizaje de ... 34 Programación Lógica Inductiva Programación Lógica Inductiva Aprendizaje T Programación Automático Lógica + • Formación de hipótesis a partir de observaciones • Sı́ntesis de nuevos conocimientos a partir de la experiencia IIC 2006-2007 RGNC • Representación formal • Orientación semántica • Técnicas Aprendizaje de ... 35 Desarrollo reciente B Los sistemas de ILP han sido usados con éxito en una gran variedad de dominios, incluyendo Ecologı́a Ingenierı́a Biologı́a molecular Procesamiento del lenguaje natural Control del tráfico ... IIC 2006-2007 RGNC Aprendizaje de ... 36 El problema de la representación (I) Pares atributo–valor (Lógica proposicional) Hiṕotesis: • Disyunción de conjunciones de pares atributo–valor (Cielo=Soleado ∧ Humedad=Normal) ∨ (Cielo=Nublado) ∨ (Cielo=Lluvioso ∧ Viento=Débil) • Como conjunto de reglas ◦ Si Cielo=Soleado y Humedad=Normal entonces Hacer deporte ◦ Si Cielo=Nublado entonces Hacer deporte ◦ Si Cielo=Lluvioso y Viento=Débil entonces Hacer deporte IIC 2006-2007 RGNC Aprendizaje de ... 37 El problema de la representación (II) B Como árbol de decisión Cielo Soleado Nublado Humedad Alta No IIC 2006-2007 Lluvioso Viento Si Normal Fuerte Si No RGNC Debil Si Aprendizaje de ... 38 Limitaciones B Limitaciones: Una representación formal limitada (lenguaje de pares atributo–valor equivalente al de la lógica proposicional) Dificultad del manejo del conocimiento base IIC 2006-2007 RGNC Aprendizaje de ... 39 Programación Lógica Inductiva (I) B Dados u B Conocimiento básico u H Espacio de hipótesis u B . . . tales que . . . u u B D Conjunto de entrenamiento, con D = {hxi, c(xi)i}ni B ∪ D 6` (∃i ∈ {1, . . . , n})[B 6` hxi, c(xi)i] Encontrar h ⊆ H tal que u u B ∪ D ∪ h 6` (∀i ∈ {1, . . . , n})[B ∪ H ` hxi, c(xi)i] IIC 2006-2007 RGNC Aprendizaje de ... 40 Ejemplos de ILP (I) Representación estándar: Ejemplos: Atomos cerrados de la relación hija(X,Y). Conocimiento base: Definiciones de las relaciones progenitor(X,Y) y mujer(X) (Atomos cerrados o definiciones de predicados). Conjunto de entrenamiento Conocimniento base hija(maria,ana) ⊕ progenitor(ana,maria) mujer(ana) hija(eva,tomas) ⊕ progenitor(tomas,eva) mujer(maria) hija(tomas,ana) progenitor(ana,tomas) mujer(eva) hija(eva,ana) Hipótesis inducida: hija(X,Y) ←− mujer(X), progenitor(Y,X) IIC 2006-2007 RGNC Aprendizaje de ... 41 Ejemplos de ILP (II) 0 3 4 6 1 2 5 7 H0 = IIC 2006-2007 8 camino(X,Y) ← enlace(X,Y) camino(X,Y) ← enlace(X,Z),camino(Z,Y) RGNC Aprendizaje de ... 42 Ejemplos de ILP (III) E ⊕ = {par(0), par(s(s(0))), par(s(s(s(s(0))))), ...} E = {par(s(0)), par(s(s(s(0)))), par(s(s(s(s(s(0)))))), ...} Hipótesis: H0 = IIC 2006-2007 par(0) ← par(s(s(X))) ← par(X) RGNC Aprendizaje de ... 43 Métodos (I) Ascendente: Comenzamos por una hipótesis demasiado especı́fica, i.e., que no cubre todos los ejemplos positivos y por tanto, debe ser generalizada. • Técnicas: ◦ Resolución inversa (CIGOL) ◦ Menor generalización (Golem) ◦ ... IIC 2006-2007 RGNC Aprendizaje de ... 44 Métodos (II) Descendente: Comenzamos por una hipótesis demasiado general, i.e., que cubre alguno de los ejemplos negativos y por tanto, debe ser especializada. • Técnicas: ◦ Inferencia de modelos (MIS) ◦ Método extensional (Foil) ◦ ... IIC 2006-2007 RGNC Aprendizaje de ... 45 CIGOL (S. Muggleton y W. Buntine, 1988) Sistema interactivo Método ascendente Basado en resolución inversa Salida Entrada ∗ Ejemplos ∗ Conocimiento base ∗ Respuestas a preguntas IIC 2006-2007 RGNC - ∗ Cláusulas de Horn Aprendizaje de ... 46 Resolución C1 ≡ q ← A @ @ @ @ C2 ≡ p ← q, B @ @ @ @ @ @ @ @ @ @ C ≡ p ← A, B IIC 2006-2007 RGNC Aprendizaje de ... 47 Operadores en CIGOL (I) C1 ≡ q ← A @ @ @ @ @ C2 ≡ p ← q, B @ @ @ @ @ @ @ C ≡ p ← A, B Absorción: IIC 2006-2007 q←A q←A p ← A, B p ← q, B RGNC Identificación: p ← A, B q←A p ← q, B p ← q, B Aprendizaje de ... 48 Operadores en CIGOL (II) W–operadores [p ← r, A, B] C1 ≡ q ← A, B @ @ @ @ @ @ [r ← A] C ≡ p ← A, q @ @ @ [q ← r, A, C] C2 ≡ q ← A, C @ @ @ [p ← A, B] B1 ≡ p ← A, B IIC 2006-2007 @ @ @ @ [q ← A, C] B2 ≡ p ← A, C Intra–construcción: p ← A, B q ← A, B Inter–construcción: p ← A, B p ← r, A, B RGNC p ← A, q p ← A, C q ← A, C q ← A, C r ← A q ← r, A, C Aprendizaje de ... 49 Operadores en CIGOL (III) El operador de truncamiento {L} {L1 } @ @ @ @ σ1 @ @ τ1 @ @ @ IIC 2006-2007 {L2 } @ @ τ2 @ @ σ2 @ @ @ RGNC Aprendizaje de ... 50 Ejemplos con CIGOL (I) Concatenación de listas | ?- cigol. !- conc([s],[t],[s,t]). ... I know: conc([s],[t],[s,t]). OPERADORES Truncamiento !- conc([],[a],[a]). ... Is conc(A,[B],[C|D]) always true? n. ... Truncamiento Superado el tiempo lı́mite 100000 ms. para Absorción I know: conc([],[a],[a]). conc([s],[t],[s,t]). not(conc(A,[B],[C|D])). IIC 2006-2007 RGNC Aprendizaje de ... 51 Ejemplos con CIGOL (II) !- conc([],[1,2],[1,2]). ... Is conc([],[A|B],[A|B]) always true? y. I know: conc([],[A|B],[A|B]). conc([s],[t],[s,t]). not(conc(A,[B],[C|D])). Truncamiento L1 =conc([],[a],[a]) L2 =conc([],[1,2],[1,2]) !- conc([1],[2,3],[1,2,3]). ... Truncamiento L1 =conc([s],[t],[s,t]) L2 =conc([1],[2,3],[1,2,3]) IIC 2006-2007 RGNC Aprendizaje de ... 52 Ejemplos con CIGOL (III) Is conc([A],[B|C],[A,B|C]) always true? y. ... Absorción conc([],[A|B],[A|B]) conc([A],[B|C],[A,B|C]) conc([],[A1 |B1 ],[A1 |B1 ]) @ τ1 = @ conc([A2 |B2 ],C2 ,[A2 |D2 ]):- conc(B2 ,C2 ,D2 ) @ A1 → B B1 → C @ @ @ @ @ @ @ @ A2 → A B2 → [] τ2 = C2 → [B|C] D2 → [B|C] conc([A],[B|C],[A,B|C]) New clauses:[(conc([A|B],C,[A|D]):- conc(B,C,D)] cover new facts: conc([A,B],[C|D],[A,B,C|D])] ... Are new clauses always true: y. IIC 2006-2007 RGNC Aprendizaje de ... 53 Ejemplos con CIGOL (IV) ... I know: conc([],[A|B],[A|B]). conc([A|B],C,[A|D]):- conc(B,C,D). not(conc(A,[B],[C|D])). !- conc([],[],[]). ... Is conc([],A,A) always true? y. ... I know: conc([],A,A). conc([A|B],C,[A|D]):- conc(B,C,D) not(conc(A,[B],[C|D])). IIC 2006-2007 Truncamiento RGNC Aprendizaje de ... 54 Golem (S. Muggleton y C. Feng, 1990) La menor generalización general Plotkin (1970) y Reynolds (1970) dotan al conjunto de términos de un lenguaje de estructura de retı́culo mediante la relación de θ–subsunción. Un concepto C subsume a otro D si D ⊂ C La cláusula C1 θ–subsume a la cláusula C2 si existe una sustitución θ tal que C1θ ⊂ C2 Forman retı́culo, i.e., dadas C1 y C2 existe un único inf (C1, C2) y un único sup(C1, C2) que llamaremos menor generalización general de C1 y C2. IIC 2006-2007 RGNC Aprendizaje de ... 55 Golem (mgg) Menor generalización general (mgg): Sea ψ : TERM × TERM → VAR mgg(f (t1, . . . , tn), g(s1, . . . , sn)) = mgg(p(t1, . . . , tn), q(s1, . . . , sn)) = f (mgg(t1, s1), . . . , mgg(tn, sn )) ψ(f (t1, . . . , tn), g(s1, . . . , sn)) p(mgg(t1, s1), . . . , mgg(tn, sn )) No definida Si f = g e.o.c. Si p = q e.o.c. mgg(C1, C2) = {mgg(l1, l2) : l1 ∈ C1, l2 ∈ C2} IIC 2006-2007 RGNC Aprendizaje de ... 56 Menor generalización (I) Ejemplo 1: expr(una,mujer) expr(una,niña) Ejemplo 2: =⇒ expr(una,X) expr(el,hombre) ← masc(el), masc(hombre) expr(un,niño) ← masc(un), masc(niño) =⇒ expr(X,Y) ← masc(X), masc(Y) IIC 2006-2007 RGNC Aprendizaje de ... 57 Menor generalización (II) Ejemplo 3: T masc(el)← masc(un)← masc(niño)← masc(hombre)← H0 = IIC 2006-2007 fem(la)← fem(una)← fem(niña)← fem(mujer)← O+ O− expr(el,niño)← expr(una,mujer)← expr(el,hombre)← expr(el,mujer)← expr(una,niño)← expr(un,niña)← expr(X,Y) ← masc(X), masc(Y) expr(X,Y) ← fem(X), fem(Y) RGNC Aprendizaje de ... 58 Ejemplos con Golem (I.a) Lógica proposicional Lenguaje: • Dos sı́mbolos proposicionales: p y q • Cinco conectivas: ¬, ∨, ∧, → y ↔. Definición: 1. p es una fórmula. 2. q es una fórmula. 3. Si F es una fórmula, también (¬F ). 4. Si F y G son fórmulas, entonces también lo son (F ∨ G), (F ∧ G), (F → G) y (F ↔ G). IIC 2006-2007 RGNC Aprendizaje de ... 59 Ejemplos con Golem (I.b) Ejemplos O+ f ([q, →, [¬, q]]). f ([p, ∧, q]). f ([¬, p]). f ([q, ∧, p]). f ([[¬, p], ∧, [¬, q]]). f ([p, ↔, q]). f (q). f ([q, ↔, p]). f ([[¬, p], ↔, [p, ∧, q]]). f ([p, ↔, [¬, p]]). f ([¬, [¬, p]]). f ([q, ∨, p]). f ([[¬, q], ∨, [p, ∨, q]]). f ([p, ∨, [¬, p]]). f ([p, →, q]). f (p). f ([¬, q]). f ([p, ∨, q]). f ([q, →, p]). f ([¬, ¬]). f ([q, ∨, ∨]). f ([¬, ∨, p]). f ([¬, →, q]). f ([q, q, p]). f ([p, →, →]). f ([p, p, q]). f ([∧, p, p]). f ([p, ∧, ∨]). f ([¬, ∧, q]). O− f ([p, ↔, ∧]). f ([∨, ↔, p]). f ([↔, ↔, ↔]). f ([p, p, [p, ↔, q]]). f ([¬, p, [¬, p]]). f ([[¬, q], ↔, [p, ∨, ∧]]). Respuesta: f (q). f (p). f ([¬, A]) : −f (A). f ([A, →, B]) : −f ([¬, A]), f (B). f ([A, ∧, B]) : −f ([¬, A]), f (B). f ([A, ↔, B]) : −f ([¬, A]), f (B). f ([A, ∨, B]) : −f (A), f (B). IIC 2006-2007 RGNC Aprendizaje de ... 60 Ejemplos con Golem (II.a) Lenguaje natural Lenguaje • Ocho determinantes (d): el, la, los, las, un, una, unos, unas. • Ocho nombres comunes (n): hombre, hombres, mujer, mujeres, niño, niños, niña, niñas. • Ocho adjetivos (a): moreno, morena, morenos, morenas, rubio, rubia, rubios, rubias. • Ocho nombres propios (np): Pepe, Paco, Antonio, Eduardo, Marı́a, Ana, Rosa, Julia. Conocomiento base (Clasificación): cl(paco,[np,m,s]) cl(rubias,[a,f,p]) IIC 2006-2007 RGNC Aprendizaje de ... 61 Ejemplos con Golem (II.b) Ejemplos: Estructura: (np), (d)+(n), (d)+(n)+(a) O+ : sn([la,niña,morena]) O− : sn([una,niños,moreno]) Respuesta: sn([la, mujer]). sn([una, mujer]). sn([A, niña]) : −cl(A, [d, f, s]). sn([A]) : −cl(A, [np, B, s]). sn([A, B]) : −cl(A, [d, m, s]), cl(B, [n, m, s]). sn([A, B]) : −cl(A, [d, C, p]), cl(B, [n, C, p]). sn([A, B, C]) : −cl(A, [d, D, E]), cl(B, [n, D, E]), cl(C, [a, D, E]). IIC 2006-2007 RGNC Aprendizaje de ... 62 Aplicación con Golem (I) Predicción de la estructura secundaria de las proteinas (OUCL en cooperación con Imperial Cancer Research Fund) Dada la estructura primaria de una proteina (secuencia de aminoácidos), • Encontrar la estructura secundaria • Predecir si los residuos individuales formaán una hélice levógira Ejemplos: 12 proteinas no homólogas (1612 residuos) Conocimiento base: Propiedades fı́sicas y quı́micas de los residuos individuales y su posición relativa dentro de la proteina Sistema: GOLEM 21 cláusula producidas, cada una de unos 15 literales Su precisión sobre un test independiente fue del 82 %, mientras que la precisión del mejor método convencional fue del 73 % IIC 2006-2007 RGNC Aprendizaje de ... 63 Aplicación con Golem (II) Predicción y Comparación de la acción de fármacos Ejemplos: 44 fármacos que se ajustan a la plantilla A Conocimiento base: Propiedades quı́micas de los sustituyentes Sistema ILP: GOLEM Las cláusulas inducidas fueron consideradas como una teorı́a novedosa por los quı́micos La correlación entre el resultado de la predicción y la acción real de los fármacos estudiados fue mejor que la alcanzada por métodos de regresión. IIC 2006-2007 RGNC Aprendizaje de ... 64 Aplicación con Golem (III) Clasificación biológica de la calidad del agua de un rı́o Dada una lista de indicadores biológicos tomados en distintas muestras de agua y sus niveles de abundancia, clasificarlos en una de las cinco clases B1a, B1b, B2, B3, B4. Ejemplos: 300 muestras de la cuenca superior de un rı́o de Gran Bretaña, clasificados por expertos. Conocimiento base: Relaciones entre los niveles de abundancia. Sistemas: GOLEM, CLAUDIEN Reglas descubiertas interesantes (según evaluación experta): b1b(X) ← ancilidae(X, A), gammaridae(X, B), . . . , greater than(D, B). IIC 2006-2007 RGNC Aprendizaje de ... 65 Invención de predicados (I) Derivadas de potencias de una variable Conocimiento base: Para toda potencia de una variable x, xm, existe un único monomio en esa variable, axb, que representa la derivada de dicha potencia respecto de la variable. Ejemplos: Hipótesis: IIC 2006-2007 d x2 = 2x dx d x5 = 5x4 dx d xm = mxm−1 dx RGNC Aprendizaje de ... 66 Invención de predicados (I) | ?- cigol. !- deriv([1,X,2],[2,X,1]). ... I know: deriv([1,A,2],[2,A,1]). OPERADORES Truncamiento !- deriv([1,X,5],[5,X,4]). ... Truncamiento L1=deriv([1,X,2],[2,X,1]) L2=deriv([1,X,5],[5,X,4]) Is deriv([1,A,B],[B,A,C]) always true? n. Intra–construcción deriv([1,X,2],[2,X,1]) deriv([1,X,5],[5,X,4]) IIC 2006-2007 RGNC Aprendizaje de ... 67 Invención de predicados (II) p116(2,1) c c c deriv([1,A,B],[B,A,C]):-p116(B,C) c cc c c c # c# # # # # # # τ1 deriv([1,X,2],[2,X,1]) # #c c c p116(5,4) c τ2 c # c c c c # c# # # # # # # # deriv([1,X,5],[5,X,4] deriv([1,A,B],[B,A,C]:- p116(B,C). p116(2,1). p116(5,4). What shall I call p116? ’menos 1’ ... I know: deriv([1,A,B],[B,A,C]:- menos 1(B,C). menos 1(2,1). menos 1(5,4). not(deriv([1,A,B],[B,A,C])). IIC 2006-2007 RGNC Aprendizaje de ... 68 KDD El Descubrimiento de conocimiento en bases de datos es el proceso de identificar en los datos estructuras válidas, novedosas, potencialmente útiles y en última instancia comprensibles (U. Fayyad) IIC 2006-2007 RGNC Aprendizaje de ... 69 KDD: Fases B Dominio de la aplicación u Conocimiento de la aplicación u Objetivos del proceso B Creación de la base de datos B Preproceso y limpieza de datos B Reducción de variables y datos B Elección del modelo resultante: Resumen, clasificación, regresión, . . . B Minerı́a de datos (Aprendizaje, ILP, ...) B Interpretación B Uso del conocimiento adquirido IIC 2006-2007 RGNC Aprendizaje de ... 70 Bibliografı́a B Lavrač, N. y Džeroski, S. Inductive Logic Programming Techniques and Applications Ellis Horwood Ltd., 1994 B Nienhuys–Cheng, S-H. y De Wolf, R. Foundations of Inductive Logic Programming Springer–Verlag, 1997 B Lavrač, N. y Džeroski, S. Relational Data Mining Springer., 2001 B ... B Network of Excellence in Inductive Logic Programming ILPnet2 u B http://www.cs.bris.ac.uk/ ILPnet2/ Otros enlaces u http://www.cs.us.es/cursos/ra/enlaces/ IIC 2006-2007 RGNC Aprendizaje de ... 71 Bibliografı́a B Mitchell, T. M. Machine Learning McGraw–Hill, 1997. Capı́tulo II. u B http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html Lecturas recomendadas u u u Markov, Z Machine Learning Course http://www-it.fmi.uni-sofia.bg/markov/courses/ml.html Bratko, I. PROLOG Programming for Artificial Intelligence Tercera Edición. Addison–Wesley, 2001. Capı́tulo XVIII Langley, P Elements of Machine Learning Morgan Kaufmann Publishers, 1996. Capı́tulo I IIC 2006-2007 RGNC Aprendizaje de ... 72 Bibliografı́a B Mitchell, T. M. Machine Learning McGraw–Hill, 1997. Capı́tulo II. B M. Anthony y N. Biggs Computational Learning Theory Cambridge University Press, 1992. Capı́tulo I. B Lecturas recomendadas u u u A.Aliseda–Llera Seeking Explanations: Abduction in Logic, Philosophy os Science and Artificial Intelligence ILLC Dissertation Series, 1997. Capı́tulo I P. Flach Conjectures. An inquiry concerning the logic of induction ITK Dissertation series, 1995. Capı́tulo II M.A. Gutiérrez Naranjo Operadores de generalización para el aprendizaje clausal Tesis doctoral, 2002. Capı́tulo II IIC 2006-2007 RGNC Aprendizaje de ... 73