ILP-intro

31
Diciembre 2001 Fundamentos lógicos de la Ingeniería del Software 1. Introducción: Aprendizaje inductivo de conceptos Inducción Razonamiento desde propiedades de individuos a propiedades de conjuntos de individuos Concepto U- cjto universal de objetos El concepto C es un subconjunto de objetos de U Aprendizaje Inductivo de conceptos (reconocimiento de objetos en C) Dadas instancias de C Encontrar un procedimiento que nos diga cuando x C, para cada x U aprendizaje explicación descr. lenguaje deducción inducción OBSERVACIONES CONCEPTO EJEM PLOS TEORÍA

description

logica

Transcript of ILP-intro

  • 1. Introduccin: Aprendizaje inductivo de conceptosInduccin

    Razonamiento desde propiedades de individuos a propiedades de conjuntos de individuosConcepto

    U- cjto universal de objetosEl concepto C es un subconjunto de objetos de UAprendizaje Inductivo de conceptos (reconocimiento de objetos en C)

    Dadas instancias de CEncontrar un procedimiento que nos diga cuando x C, para cada x U

    OBSERVACIONES

    CONCEPTO

    EJEMPLOS

    TEORA

    induccin

    deduccin

    descr.

    lenguaje

    aprendizaje

    explicacin

  • 1. Introduccin: aprendiendo descripciones de atributosTarea de aprendizaje

    Dado un cjto de ejemplos de prueba (training examples) -tuplas de valores de atributos etiquetados con un nombre de clase- A1 A2 A3 Claseejemplo 1 v1,1 v1,2 v1,3 C1ejemplo 2 v2,1 v2,2 v2,3 C2Encontrar un cjto de reglas (una hiptesis) como una funcin de valores de atributo que es consistente y completo w.r.t. el conjunto de ejemplos de pruebaClase = Cn if (Ai = vi,k) and (Aj = vj,l) and ...

  • 1. Introduccin: play tennis (ejemplos de prueba)

    OutlookHumidityWindYesYesYesNoNoSunnyRainyOvercastHighNormalStrongWeak

  • 1. Introduccin: ILPMotivacin para ILP (visin ML)

    Usar un formalismo de representacin ms expresivo que la lgica proposicionalUsar conocimiento de base en el aprendizaje (fundamental en AI)

  • 1. Introduccin: motivacinMotivacin para ILP (visin KDD)

    Datos almacenados en bases de datos relacionalesRelaciones simples aprendizaje proposicionalejemplo: tupla de valores de un n fijo de atributos (uno es la clase)cjto de ejemplos: tabla Relaciones mltiples ILPejemplo: cjto de hechos lgicoscjto de ejemplos: cjto. de tablasComplejidad de los problemasDatos temporales (medicina, anlisis trfico, manejo de redes): representando secuencias de tiempoDatos estructurados (bioqumica, ingeniera de protenias, diseo de drogas): representando molculas qumicas y sus propiedades

  • 1. Introduccin: motivacinTabla1: Tabla bsica de clientesTabla2: Tabla de clientes para anlisis

  • 1. Introduccin: motivacinTabla de clientes representada como hechos PrologLa forma de los hechos Prolog:customer(Id,Zip,Sex,SoSt,In,Age,Club,Re)Representacin de los hechos bsicos de la Tabla 2:customer(3478,34667,m,si,60-70,32,me,nr).customer(3479,43666,f,ma,80-90,45,nm,re).

    Cmo expresamos una propiedad?customer(_,_,f._,_,_,_,_).

  • 1. Introduccin: motivacinTabla 3: Tabla de clientes con informacin sobre pedidos y almacenesTabla 4: Tabla de clientes con informacin varios pedidosTabla 5: Tabla de clientes con resumen de atributos

    Hoja1

    IDZipSexSo stIncomeAgeClubRespDeliveryPaymtStore SStore TypeStore Loc

    347834667msi60-7032menrregularcashsmallfrnhscity

    347943666fma80-9045nmreexpresscreditlargeindeprural

    Hoja1

    IDZipSexSo stIncomeAgeClubRespDeliveryPaymtStore SStore TypeStore Loc

    347834667msi60-7032menrregularcashsmallfrnhscity

    347834667msi60-7032menrexpresschecksmallfrnhscity

    347834667msi60-7032menrregularchecklargeindeprural

    347943666fma80-9045nmreexpresscreditlargeindeprural

    347943666fma80-9045nmreregularcreditsmallfrnhscity

    Hoja1

    IDZipSexSo stIncomeAgeClubRespN OrderN Store

    347834667msi60-7032menr32

    347943666fma80-9045nmre22

  • 1. Introduccin: motivacinRepresentacin relacional de clientes, pedidos y almacenesgood_customer(C): customer(C,_,f,_,_,_,_,_), order(C,_,_,_,credit).

    customer

    ID

    Zip

    Sex

    So st

    Income

    Age

    Club

    Resp

    3478

    34667

    m

    si

    60-70

    32

    me

    nr

    3479

    43666

    f

    ma

    80-90

    45

    nm

    re

    order

    Customer ID

    Order ID

    Store ID

    Delivery

    Paymt

    3478

    2140267

    12

    regular

    cash

    3478

    3446778

    12

    express

    check

    3478

    4728386

    17

    regular

    check

    3479

    3233444

    17

    express

    credit

    3479

    3475886

    12

    regular

    credit

    store

    Store ID

    Size

    Type

    Location

    12

    small

    franchise

    city

    17

    large

    indep

    rural

  • 1. Introducin: terminologaBases de datos

    nombre de relacin patributo de una relacin ptupla - una fila en la tabla relacionalrelacin p - una tabla relacional (un cjto de tuplas)

    hiptesis: una regla o un rbol de decisinProgramacin Lgica

    smbolo de predicado pargumento de un predicao phecho bsico p(a1,,an)

    definicin de un predicado p - un cjto de hechos bsicos

    hiptesis: un cjto de clusulas

  • 1. Introduccin:Programacin Lgica InductivaILP=Aprendizaje Inductivo de Conceptos (I)Programacin Lgica (LP)Tareas ILP:- Induccin programas lgicos Sntesis de programasInduccinLgicaProgramacin

  • 1. Introduccin:Programacin Lgica InductivaILP=Aprendizaje Inductivo de Conceptos (I)Programacin Lgica (LP)Tareas ILP:- Induccin programas lgicos Sntesis de programas- Generalizacin de observacionesespecficas en leyes generales Data Minig (DM) Knowledge discovery (KDD)InduccinLgicaProgramacinDM, KDD

  • 1. Introduccin:Programacin Lgica InductivaILP=Aprendizaje Inductivo de Conceptos (I)Programacin Lgica (LP)Caractersticas: los ejemplos y la teora de base son clusulas.La teora aprendida es un cjto de clusulas.

    Ventajas ILP:

    la lgica de primer orden es un campo

    matemtico ampliamente desarrollado.proporciona una representacin uniforme

    y expresiva.InduccinLgicaProgramacin

  • 1. Introduccin: aprendizaje inductivo de conceptosInduccin predictiva

    +++++-------H

  • 1. Introduccin: aprendizaje inductivo de conceptosInduccin predictiva

    +++++----H

  • 1. Introduccin: aprendizaje inductivo de conceptosInduccin predictivaaprender la definicin de un concepto

    +++++-------HInduccin descriptivaaprender las relaciones entre conceptos

    ++++++H

  • 1. Introduccin: aprendizaje inductivo de conceptos (predictivo)Dado:

    Un cjto de observacionesejemplos positivos E+ejemplos negativos E -conocimiento de base Blenguaje de hiptesis LHrelacin de coberturaEncontrar:

    Una hiptesis H LH tal que (dado B) H cubre todos los ejemplos positivos y negativosEn lgica:

    e E+: B H e (H es completo)e E-: B H / e (H es consistente)En ILP, E son hechos bsicos, B y H cjtos de clusulas definidas

    ++++++H-------

  • 1. Introduccin: aprendizaje inductivo de conceptos (predictivo)Dado:

    Un cjto de observacionesejemplos positivos E+ejemplos negativos E -conocimiento de base Blenguaje de hiptesis LHrelacin de coberturacriterio de calidadEncontrar:

    Una hiptesis H LH tal que (dado B) H es ptima w.r.t. Algn criterio de calidad (p.ej. maximizar la precisin predictiva)

    ++++++H---------+

  • 1. Introduccin: aprendizaje inductivo de conceptos (descriptivo)Dado:

    Un cjto de observaciones (ejemplos positivos E+)conocimiento de base Blenguaje de hiptesis LHrelacin de coberturaEncontrar:

    Una hiptesis (la ms especfica) H LH tal que (dado B) H cubre todos los ejemplos positivos En lgica, encontrar H tal que c H, c es cierto en algn modelo preferido de B E+ (p. ej. el modelo mnimo de Herbrand) En ILP, E son hechos bsicos, B y H cjtos de clusulas generales

    ++++++H

  • 1. Introduccin: ejemplo de programacin lgicaE+ = {sort([2,1,3],[1,2,3])}

    E - = {sort([2,1],[1]),sort([3,1,2],[2,1,3])}B contiene las definiciones permutation/2 y sorted/1ILP predictivo

    sort(X,Y) permutation(X,Y), sorted(Y).ILP descriptivo

    sorted(Y) sort(X,Y).permutation(X,Y) sort(X,Y).sorted(X) sort(X,X).

  • 1. Introduccin: ejemplo de descubrimiento de conocimientoE+ = {daughter(mary,ann),daughter(eve,tom)}

    E - = {daughter(tom,ann),daughter(eve,ann)}B = {mother(ann,mary),mother(ann,tom),father(tom,eve),

    father(tom,ian),female(ann),female(mary),female(eve),male(pat),male(tom),parent(X,Y)mother(X,Y), parent(X,Y)father(X,Y)}ILP predictivo

    daughter(X,Y) female(X),parent(Y,X).o un cjto de clusulas definidasdaughter(X,Y) female(X),mother(Y,X).daughter(X,Y) female(X),father(Y,X).ILP descriptivo

    daughter(X,Y),mother(X,Y).female(X) daughter(X,Y).mother(X,Y);father(X,Y) parent(X,Y).

  • 1. Introduccin: definicin emprica de ILPDado:

    Un cjto de ejemplos E de un predicado objeto pHechos bsicos verdaderos E+Hechos bsicos falsos E -Un conocimiento de base B que define predicados qi pUn lenguaje de hiptesis L, un subcjto. de clusulas definidasEncontrar:

    Una hiptesis H que defina el predicado p, expresado en L como un cjto. de clusulas de la forma p(X1,...,Xn) L1,...,Li,...,Lmtal queH es completo: e E+: B H e (suficiencia a posteriori)H es consistente: e E-: B H / e (satisfacibilidad a posteriori)e E+: B / e (necesidad a priori)e E-: B / e (satisfacibilidad a priori)

  • 1. Introduccin: un problema ILP simpleEl problema

    Dados:ejemplos de la relacin daughter(X,Y)conocimiento de base definiciones (extensionales) de las relaciones parent(X,Y) y female(X)

    Encontrar: la definicin de la relacin daughterdaughter(X,Y) female(X),parent(Y,X).

    annmarytomeveianfff

    Training examplesBackground Knowledgedaughter(mary,ann). parent(ann,mary).female(ann).daughter(eve,tom). parent(ann,tom).female(mary).daughter(tom,ann). parent(tom,eve).female(eve).daughter(eve,ann). parent(tom,ian).

  • 1. Introduccin: un problema ILP simpleRepresentacin ILP estndarejemplos: hechos bsicos de la relacin daughterconocimiento de base: hechos bsicos que definen las relaciones parent(X,Y) y female(X)

    Training examplesBackground Knowledgedaughter(mary,ann).parent(ann,mary).female(ann).daughter(eve,tom). parent(ann,tom).female(mary).daughter(tom,ann). parent(tom,eve).female(eve).daughter(eve,ann). parent(tom,ian).

  • 1. Introduccin: un problema ILP simpleRepresentacin como una base de datos relacional

    Ejemplos como implicaciones:daughter(mary,ann) female(mary),female(ann),parent(ann,mary),parent(ann,tom).

    Hiptesis inducida:daughter(X,Y) female(X),parent(Y,X).

    daughterDPmaryannevetom

  • 1. Introduccin: ejemplo BongardCasificacin de ejemplos basada en su estructura

    posneg

  • 1. Introduccin: ejemplo Bongard (cont.)Representacin en lgica de primer orden

    contains(1, o1).contains(1, o2).triangle(o1).points(o1, down).circle(o2).pos(1).pos(X) :- contains(X,Y), triangle(Y), points(Y, down).el uso de variables proporciona un adecuado nivel de abstraccin para la hiptesispermitido cualquiernmero de objetosDibujo 1

  • 1. Introduccin: un ejemplo del mundo realIdentificar subestructuras en las molculas que hacen que

    se adhieran a otras molculas La descripcin de las molculas es la lista de sus tomos, relaciones, El conocimiento de base define el cmputo de la distancia euclidea,

  • 1. Introduccin: un ejemplo del mundo realactive(A) :- zincsite(A,B), hacc(A,C), hacc(A,D), hacc(A,E), dist(A,C,B,4.891,0.750), dist(A,C,D,3.753,0.750), dist(A, C,E,3.114,0.750), dist(A,D,B,8.475,0.750), dist(A,D,E, 2.133,0.750), dist(A,E,B,7.899,0.750)....hacc(M,A):- atm(M,A,o,2,_,_,_).hacc(M,A):- atm(M,A,o,3,_,_,_).hacc(M,A):- atm(M,A,s,2,_,_,_).hacc(M,A):- atm(M,A,n,ar,_,_,_).zincsite(M,A):- atm(M,A,du,_,_,_,_).hdonor(M,A) :- atm(M,A,h,_,_,_,_), not(carbon_bond(M,A)), !....atm(m1,a1,o,2,3.430400,-3.116000,0.048900).atm(m1,a2,c,2,6.033400,-1.776000,0.679500).atm(m1,a3,o,2,7.026500,-2.042500,0.023200)....bond(m1,a2,a3,2).bond(m1,a5,a6,1).bond(m1,a2,a4,1).bond(m1,a6,a7,du)....Descripcin de las molculas:Conocimiento de Base:-> Hiptesis:

  • 1. Introduccin: un ejemplo del mundo realAlgunos ejemplos de molculas:

  • 1. Introduccin: conclusinPara ciertos tipos de aprendizaje...

    algunas veces llamado aprendizaje estructural: ejemplos que tienen una estructura compleja (no simplemente un vector de valores) o aprendizaje relacional... es necesario un formalismo de representacin para hiptesis y datos ms expresivola lgica de primer orden proporciona esta expresividad-> estudiar la induccin en lgica de primer orden.