Induktivno logičko programiranje

S Vikipedije, slobodne enciklopedije

Induktivno logičko programiranje (ILP) je podoblast mašinskog učenja koji koristi logiku programiranja kao jedinstvenu reprezentaciju za primere, znanje i hipoteze. Dalo je kodiranje poznatog predznanja i skupa primera predstavljenih kao logična baza činjenica, jedan ILP sistem će izvesti hipoteza logičkih programa koji obuhvata sve pozitivne i ništa od negativnih primera.

Šema: pozitivni primeri + negativni primeri + predznanje => hipoteza.

Induktivno logičko programiranje je posebno korisno u bioinformatici i obradi prirodnog jezika. Ehud Šapiro je položio teorijski temelj za induktivno logičko programiranje[1][2] i izgradio svoju prvu primenu (model Inference Sistema) 1981:[3] Prolog program koji induktivno zaključene logičke programe iz pozitivnih i negativnih primera. Termin Induktivno logičko programiranje je prvi put uvedeno[4] u rad Stephena Muggletona 1991.[5] Termin "induktivno" ovde se odnosi na filozofsku (tj sugeriše teoriju da objasni posmatrane činjenice) više nego na matematičku (tj dokazivanja imovine za sve članove dobro - organizovanog seta) indukciju.

Formalna definicija[uredi | uredi izvor]

Prethodno znanje je dato kao logička teorija , obično u obliku Horn klauzule koje se koriste u logičkom programiranju. Pozitivni i negativni primeri su dati kao celina i od unnegated i negiranih podzemnih literala, respektivno. Ispravno hipoteza je logička propozicija koja zadovoljava sledeće uslove.[6] | Potreba: | | | |- | Dovoljnost: | | | |- | Slaba konzistentnost: | | | |- | Jaka konzistentnost: | | | |} "Potreba" ne nameće ograničavanje , ali zabranjuje svaku generaciju hipoteza sve dok se pozitivne činjenice ne objasne bez nje. "Dovoljnost" zahteva nikakvu generisanu hipotezu za objašnjenje svih pozitivnih primera . "Slaba doslednost" zabranjuje generaciju bilo koje hipoteze koja je u suprotnosti sa pozadinom znanja . "Jaka koinzistentnost" takođe zabranjuje stvaranje bilo koje hipoteze h koja nije u skladu sa negativnim primerima , s obzirom na prethodno znanje ; to podrazumeva "slabu konzistentnost"; ako su dati nikakvi negativni primeri, oba uslova se poklapaju. Džeroski[7] zahteva samo "dovoljnost" (pod nazivom "potpunost" tamo) i "Jaku doslednost".

Primer[uredi | uredi izvor]

Preuzet porodični odnos u rubrici "primer

Sledeći poznati primer za učenje definicija porodičnih odnosa koriste skraćenice par : parent, fem : female, dau : daughter, g : George, h : Helen, m : Mary, t : Tom, n : Nancy, i e : Eve... To počinje od pozadine znanja (uporedi sliku)

,

su pozitivni primeri

,

i trivijalni predlog da označi odsustvo negativnih primera.

Plotkinsova[8][9] "Relativna najmanja opšta generalizacija (Rnog)" je pristup induktivnom logičkom programiranju koja se koristi kako bi se dobio predlog o tome kako da se formalno definiše ćerka odnosno .

Ovaj pristup koristi sledeće korake.

  • Relativizuje svaki pozitivan primer bukvalno sa kompletnim predznanjem:
    • ,
  • Pretvori u klauzulu normalanog oblika:
    • ,
  •  Borba protiv svakog kompatibilnog[10] para [11] literala:
    • od i ,
    • od i ,
    • od i ,
    • od i , sličan za sve ostale literale pozadinskog znanja
    • od i , i još mnogo negiranih literala
  • Obriši sve negirane literale koji sadrže varijable koje se ne javljaju u pozitivnim literalima:
    • nakon brisanja svih negiranih literala koji sadrže druge promenljive od , samo Ostaje, zajedno sa svim kopnenim literalima iz znanja pozadine
  • Pretvori klauzule nazad na Horn formu:

Dobijena Horn klauzula hipoteza dobijena pomoću Rig pristupa. Ignorisanje pozadine činjenica znanja, klauzula neformalno piše " zove ćerku ako je roditelj od i je žensko", što je uobičajeno prihvaćena definicija.

Što se tiče gorenavedenih uslova, "Potreba" je zadovoljana jer predikat se ne pojavljuje u pozadini znanja, koja stoga ne može označiti bilo koju imovinu koja sadrži ovaj predikat, kao što su pozitivni primeri. "Dovoljnost" je zadovoljena obračunatim hipotezama , pošto ona, zajedno sa od pozadinskog znanja, podrazumeva prvi pozitivan primer , i slično i   iz poznavanja pozadine podrazumeva drugi pozitivan primer ."Slaba koinzistentnost" je zadovoljena sa , jer ona drži u (konačnoj) Herbrand strukturi opisa pozadinskog znanja; slično za "Jaka konzistentnost".

Zajednička definicija baka odnosa, naime., ne mogu naučiti korišćenjem gorenavedenog pristupa, pošto promenljiva se javlja samo u telima klauzula; odgovarajući literali bi bili izbrisana u 4. koraka. Da bi se prevazišao ovaj propust, taj korak mora biti modifikovan tako da se može parametrizovati sa različitim literalima nakon selekcije heuristike. Istorijski, implementacija GOLEM se zasniva na Rig pristupu.

Induktivni logički programski sistem[uredi | uredi izvor]

Induktivni logički programski sistem je program koji se uzima kao ulaz logičkih teorija i daje ispravnu hipotezu VRT teorije   Algoritam jednog ILP sistema se sastoji iz dva dela: hipoteza traženja i selekcije hipoteza. Prvo hipoteza je pretres sa induktivnim postupkom logičkog programiranja, onda podskup nalazi hipotezu (u većini sistema jedna hipoteza) izabranu od strane izbor algoritma. Sortira bodove algoritma, svake od pronađeni hipoteza i vraća one sa najvećom ocenom.  Primer skor funkcija uključuje minimalnu dužinu kompresije gde je hipoteza sa najnižom Kolmogorovom kompleksnoščću ima najvišu ocenu i vraća se. ILP sistem je kompletan akko za bilo kakve ulaze logičkih teorija neka ispravna hipoteza VRT ove ulazne teorije može se naći sa svojom hipotezom u istraživačkoj proceduri.

Pretraga Hipoteza[uredi | uredi izvor]

Moderni ILP sistemi kao što su Progol,[5] Hail[12] i Imparo [13] pronalaze hipotezu H koristeći princip inverznih elemenata[5] za teoriju B, E, H:. Prvo se konstruiše srednja teorija F i naziva se teorija mosta koja ispunjava uslove and . Onda , oni generalizuju negaciju teorije mosta F sa anti-entailment. Međutim, rad na anti-entailment je visoko ne-deterministički računski skup. Dakle, alternativna hipoteza pretraga može se obaviti pomoću rada inverzne supsumacije (anti-supsumacije) umesto što je manje nedeterministički od anti-entailment.

Pitanja potpunost postupka hipoteza za pretragu specifičnog ILP sistema nastaju. Na primer, Progol hipoteza istraživanja postupka na osnovu obrnutog entailment zaključivanja pravila nije završen u Jamamoto primeru.[14] S druge strane, Imparo je završena u anti-entailment postupku[15] i njegovoj izuzetno inverznoj supsumaciji[16] postupka.

Implementacije[uredi | uredi izvor]

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Shapiro, Ehud Y. Inductive inference of theories from facts, Research Report 192, Yale University, Department of Computer Science, 1981. Reprinted in J.-L. Lassez, G. Plotkin (Eds.), Computational Logic, The MIT Press. Cambridge, MA. (1991). str. 199–254.
  2. ^ Shapiro, Ehud Y. . Algorithmic program debugging. Cambridge, Mass. . MIT Press. 1983. ISBN 978-0-262-19218-7. 
  3. ^ Shapiro, Ehud Y. "The model inference system." Proceedings of the 7th international joint conference on Artificial intelligence-Volume 2. Morgan Kaufmann Publishers Inc., 1981.
  4. ^ Luc De Raedt. A Perspective on Inductive Logic Programming. The Workshop on Current and Future Trends in Logic Programming, Shakertown, to appear in Springer LNCS, 1999. CiteSeerX: 10.1.1.56.1790
  5. ^ а б в Muggleton, S. (1991). „Inductive logic programming”. New Generation Computing. 8 (4): 295—318. doi:10.1007/BF03037089. 
  6. ^ Muggleton, Stephen (1999). „Inductive Logic Programming: Issues, Results and the Challenge of Learning Language in Logic”. Artificial Intelligence. 114: 283—296. doi:10.1016/s0004-3702(99)00067-3. ; here: Sect.2.1
  7. ^ Džeroski, Sašo (1996), „Inductive Logic Programming and Knowledge Discovery in Databases”, Ур.: Fayyad, U.M.; Piatetsky-Shapiro, G.; Smith, P.; Uthurusamy, R., Advances in Knowledge Discovery and Data Mining, MIT Press, стр. 117—152 ; here: Sect.5.2.4
  8. ^ Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D., ур. „A Note on Inductive Generalization”. Machine Intelligence. Edinburgh University Press. 5: 153—163. 
  9. ^ Plotkin, Gordon D. (1971). Meltzer, B.; Michie, D., ур. „A Further Note on Inductive Generalization”. Machine Intelligence. Edinburgh University Press. 6: 101—124. 
  10. ^ i.e. sharing the same predicate symbol and negated/unnegated status
  11. ^ in general: -tuple when positive example literals are given
  12. ^ Ray, O., Broda, K., & Russo, A. M. (2003). Hybrid abductive inductive learning. In LNCS: Vol. 2835. Proceedings of the 13th international conference on inductive logic programming (pp. 311–328). Berlin: Springer.
  13. ^ Kimber, T., Broda, K., & Russo, A. (2009). Induction on failure: learning connected Horn theories. In LNCS: Vol. 5753. Proceedings of the 10th international conference on logic programing and nonmonotonic reasoning (pp. 169–181). Berlin: Springer.
  14. ^ Akihiro Yamamoto. Which hypotheses can be found with inverse entailment? In Inductive Logic Programming, pages 296–308. Springer, 1997.
  15. ^ а б Timothy Kimber. Learning definite and normal logic programs by induction on failure. PhD thesis, Imperial College London, 2012.
  16. ^ David Toth (2014). Imparo is complete by inverse subsumption. arXiv:1407.3836
  17. ^ Muggleton, Stephen; Santos, Jose; Tamaddoni-Nezhad, Alireza (2009). „ProGolem: a system based on relative minimal generalization” (PDF). ILP. 
  18. ^ Santos, Jose; Nassif, Houssam; Page, David; Muggleton, Stephen; Sternberg, Mike (2012). „Automated identification of features of protein-ligand interactions using Inductive Logic Programming: a hexose binding case study” (PDF). BMC Bioinformatics. 13: 162. doi:10.1186/1471-2105-13-162. Архивирано из оригинала (PDF) 03. 03. 2016. г. Приступљено 08. 01. 2016. 

Литература[uredi | uredi izvor]