Znalosti budeme nejčastěji vyjadřovat v predikátové logice prvního řádu. Metody:

Podobné dokumenty
Výroková a predikátová logika - V

Výroková logika - opakování

Výroková a predikátová logika - II

popel, glum & nepil 16/28

5.8 Induktivní logické programování

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Umělá inteligence I. Roman Barták, KTIML.

Výroková a predikátová logika - II

2.5 Rezoluční metoda v predikátové logice

Umělá inteligence II

Výroková a predikátová logika - III

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Výroková a predikátová logika - III

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

Logika a logické programování

Pravděpodobně skoro správné. PAC učení 1

Výroková a predikátová logika - II

3.10 Rezoluční metoda ve výrokové logice

Obsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)

Cvičení 4. negace konjunkce disjunkce implikace ekvivalence. a) Najděte UDNF, UKNF a stanovte log. důsledky. 1) [p (p q)] [( p q) (q p)]

platné nejsou Sokrates je smrtelný. (r) 1/??

Výroková a predikátová logika - XII

Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

1.4.6 Negace složených výroků I

Úvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží

Logické programování I

Výpočetní teorie strojového učení a pravděpodobně skoro správné (PAC) učení. PAC učení 1

Rezoluční kalkulus pro logiku prvního řádu

Usuzování za neurčitosti

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Rozhodovací pravidla

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Plánováníá a rozvrhování

Sémantika predikátové logiky

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Teorie rozhodování (decision theory)

Logické programování

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017

Rezoluční kalkulus pro výrokovou logiku

Výroková a predikátová logika - X

Umělá inteligence I. Roman Barták, KTIML.

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

Marie Duží

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Predikátová logika. prvního řádu

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

Asociační i jiná. Pravidla. (Ch )

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Základy umělé inteligence

Základy logiky a teorie množin

Occur-check (Test konfliktu proměnných)

Výpočetní teorie učení. PAC učení. VC dimenze.

Matematická logika. Rostislav Horčík. horcik

Výroková a predikátová logika - X

Matematická logika. Miroslav Kolařík

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

Moderní systémy pro získávání znalostí z informací a dat

Umělá inteligence I. Roman Barták, KTIML.

Plánování: reprezentace problému

Další témata DM a strojového učení

Programování. s omezujícími podmínkami. SAT a lokáln. Algoritmus GSAT. Algoritmus GSAT. Roman Barták

Logické programy Deklarativní interpretace

Inteligentní systémy (TIL) Marie Duží

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Výroková a predikátová logika - XII

teorie logických spojek chápaných jako pravdivostní funkce

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Výroková a predikátová logika - VI

Tableaux metody. Jiří Vyskočil 2011

8. Strojové učení. Strojové učení. 16. prosince Václav Matoušek. 8-1 Úvod do znalostního inženýrství, ZS 2014/15

Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Programování v čistém Prologu

09. seminář logika (úvod, výroková).notebook. November 30, Logika

Plánováníá a rozvrhování

Popis zobrazení pomocí fuzzy logiky

Paměť počítače. alg2 1

Výroková a predikátová logika - VII

Spojování výroků (podmínek) logickými spojkami

Induktivní logické programování. společně s Olgou Štěpánkovou Katedra kybernetiky, FEL ČVUT Praha

Výroková logika. Sémantika výrokové logiky

Výroková a predikátová logika - IX

Predikátová logika Individua a termy Predikáty

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

Zabýváme se konstrukcí racionálních agentů.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Formální systém výrokové logiky

Č Ý Ý Ě Ď Ý ÉŘ Á ó ě ě ě ě ě Á ě ě ě ě ě ě ě ě

Výroková a predikátová logika - IX

Ě Ž

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

ů ů ď

7 Jemný úvod do Logiky

ú ú Ž Č Č Č Ť ť

Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky.

IA008 Computational logic Version: 6. května Formule je v konjunktivní normální formě (CNF), pokud má tvar α 1... α n,

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Transkript:

Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Znalosti v učení Umíme se učit funkce vstup výstup. Jedinou dodatečnou znalost, kterou jsme využili, byl tvar hypotézy y (prostor hypotéz). Můžeme využít již získané znalosti o světě (background knowledge)? Znalosti budeme nejčastěji vyjadřovat v predikátové logice prvního řádu. Metody: metoda nejlepší současné hypotézy prostor verzí induktivní logické programování

Logická formulace učení Příklady i hypotézy budou logické formule. Příklady atributy budou reprezentovány unárními predikáty Alternate(X 1 ) Bar(X 1 ) Fri/Sat(X 1 ) Hungry(X 1 ) klasifikace příkladu bude také vyjádřena tzv. cílovým predikátem WillWait(X 1 ) nebo WillWait(X 1 ) Hypotéza bude mít základní tvar x Goal(x) C j (x) C j je tzv. extenze hypotézy r WillWait(r) Patrons(r,Some) (Patrons(r,Full) Hungry(r) Type(r,French)) (Patrons(r,Full) Hungry(r) Type(r,Thai) Fri/Sat(r)) (Patrons(r,Full) Hungry(r) Type(r,Burger)) Prostor hypotéz Prostor hypotéz je množina všech hypotéz. Učící algoritmus přepokládá, že nějaká hypotéza je správná, tj. platí: h 1 h 2 h 3 h n Hypotézy, které nejsou konzistentní s příklady, z disjunkce eliminujeme. Dva typy nekonzistence (pro binární klasifikaci) pojmy původně z medicíny falešně negativní hypotéza tvrdí, že příklad je negativní, ale ve skutečnosti je pozitivní falešně pozitivní hypotéza tvrdí, že příklad je pozitivní, ale ve skutečnosti je negativní

Metoda nejlepší hypotézy Udržujeme jednu hypotézu (current-best hypothesis) a podle příkladů ji upravujeme příklad je s hypotézou o konzistentní hypotézu neměníme falešně negativní hypotézu zobecníme falešně pozitivní hypotézu specializujeme Metoda nejlepší hypotézy algoritmus

Metoda nejlepší hypotézy Co to přesně znamená zobecnit/specializovat hypotézu? Pokud je hypotéza h 1 zobecněním hypotézy h 2, potom platí x C 2 (x) C 1 (x) C i je typicky y konjunkcí predikátů ů zobecnění uděláme vypuštěním podmínek nebo přidáním disjunkce specializaci uděláme přidáním podmínek nebo vypuštěním nějaké disjunkce Ukázka postupu: specializace a generalizace první příklad je pozitivní, atribut Alternate(X 1 ) je pravda, takže nechť je první hypotéza h 1 : x WillWait(x) Alternate(x) druhý příklad je negativní, hypotéza říká pozitivní, máme falešně pozitivní reakci, můžeme specializovat přidáním predikátu h 2 : x WillWait(x) Alternate(x) Patrons(x,Some) třetí příklad je pozitivní, hypotéza říká negativní, máme falešně negativní reakci, potřebujeme zobecnit, například odstraněním predikátu Alternate(x) h 3 : x WillWait(x) Patrons(x,Some) čtvrtý příklad je pozitivní, hypotéza říká negativní, máme falešně negativní reakci, potřebujeme zobecnit například přidáním disjunkce (odstranit predikát nemůžeme) h 3 : x WillWait(x) Patrons(x,Some) (Patrons(x,Full) Fri/Sat(x)) Metoda nejlepší hypotézy vlastnosti Po každé modifikaci hypotézy y je potřeba kontrolovat všechny předchozí příklady (pouze modifikace, které jsou s nimi konzistentní, jsou povolené). Při prohledávání často dochází k množství návratů (backtracking). Prapůvodce problémů příliš silný závazek algoritmus musí v každém kroku vybrat jednu konkrétní hypotézu i když k tomu nemá dostatek informací Řešením může být metoda nejmenších závazků.

Prostor verzí Prostor hypotéz lze reprezentovat disjunkcí h 1 h 2 h 3 h n Pokud je nějaká hypotéza nekonzistentní s příkladem, vyřadíme ji z disjunkce. Mezi zbylými hypotézami v disjunkci pořád zůstává ta správná (pokud existuje). Obecně prostor verzí (version space) je množina možných hypotéz, které jsou konzistentní s dosud zpracovanými příklady. Algoritmus eliminace kandidátů postupně zmenšuje prostor verzí. Algoritmus je inkrementální po přidání příkladu není potřeba kontrolovat předchozí příklady Prostor verzí reprezentace Jak reprezentovat velkou (potenciálně nekonečnou) disjunkci? Pokud máme k dispozici uspořádání hypotéz (a to máme pomocí zobecnění/specializace), můžeme prostor verzí reprezentovat dolní a horní mezí. G = nejobecnější hypotézy konzistentní s dosavadními příklady žádná á konzistentní t hypotéza není obecnější na začátku True S = nejspecifičtější hypotézy konzistentní s dosavadními příklady žádná konzistentní hypotéza není specifičtější na začátku False Všechny hypotézy mezi S a G jsou konzistentní s příklady a žádné jiné konzistentní nejsou.

Prostor verzí Po přidání nového příkladu upravíme množiny G a S takto: příklad je falešně pozitivní pro S i vyřadíme S i z množiny S příklad je falešně negativní pro S i nahradíme adíme S i v množině S všemi přímými zobecněními příklad je falešně pozitivní pro G i nahradíme G i v množině G všemi přímými specializacemi příklad je falešně ě negativní pro G i vyřadíme G i z množiny G Algoritmus eliminace kandidátů končí pokud: zůstala jediná hypotéza prostor hypotéz zkolaboval (množina G nebo S je prázdná) vyčerpali jsme všechny příklady prostor verzí potom reprezentuje disjunkci pokud zbylé hypotézy klasifikují různě, můžeme vybrat majoritní odpověď update Prostor verzí vlastnosti Šum v datech nebo chybějící hodnoty atributů způsobují kolaps prostoru verzí. zatím nebylo nalezeno obecně fungující řešení Pokud povolíme neomezené disjunkce, tak S bude disjunkce popisů pozitivních příkladů G bude negace disjunkce popisů negativních příkladů můžeme omezit tvar disjunkce nebo použijeme hierarchii zobecnění predikátů místo ít WaitEstimate(x,30-60) ti t WaitEstimate(x,>60) ti t použijeme LongWait(x) Algoritmus byl použit v systému Meta-DENDRAL pro učení se pravidel předpovídajících, jak se molekuly rozdělí na části při hmotové spektrografii.

ILP Induktivní logické programování (ILP) kombinuje induktivní učící ímetody td s logickou ik reprezentací (logickými programy). Na rozdíl od technik založených na atributech ILP umí dobře pracovat s relacemi. V principu se jedná o řešení problému: hledání hypotézy použitím známých znalostí Background z příkladů popsaných Descriptions a Classifications, tž. Background Hypothesis Descriptions = Classifications Dvě hlavní metody učení: postup shora-dolů (systém FOIL) inverzní rezoluce (systém (y PROGOL) Background Hypothesis Descriptions = Classifications Příklady jsou typicky popsány Prologovskými fakty Father(Philip,Charles), Father(Philip, Anne), Mother(Mum,Margaret), Mother(Mum, Elizabeth), Married(Diana, Charles), Married(Elizabeth, Philip), Male(Philip), Male(Charles), Female(Beatrice), Female(Margaret), Podobně známá klasifikace je dána fakty ILP problém Grandparent(Mum,Charles), Gradparent(Elizabeth, Beatrice), Gradparent(Mum,Harry), Grandparent(Spencer,Peter), Možná hypotéza Grandparent(x,y) [ z Mother(x,z) Mother(z,y)] [ z Mother(x,z) Father(z,y)] [ z Father(x,z) Mother(z,y)] [ z Father(x,z) Father(z,y)] Použijeme-li znalost Parent(x,y) Mother(x,y) Father(x,y) Potom můžeme hypotézu zjednodušit Grandparent(x,y) [ z Parent(x,z) Parent(z,y)]

Začneme klauzulí s prázdným tělem Grandfather(x,y) Metoda shora-dolů Klasifikuje všechny příklady jako pozitivní, takže ji postupně budeme specializovat přidáním literálu do těla klauzule Grandfather(x,y) Father(x,y) Grandfather(x,y) Parent(x,z) Grandfather(x,y) Father(x,z) vybereme tu specializaci, která klasifikuje nejvíce pozitivních a negativních příkladů pokračujeme ve specializaci Grandfather(x,y) Father(x,z) Parent(z,y) pokud nemáme k dispozici znalost Parent, můžeme získat více klauzulílí Grandfather(x,y) Father(x,z) Father(z,y) Grandfather(x,y) Father(x,z) Mother(z,y) každá klauzule pokrývá některé pozitivní příklady a žádný negativní příklad princip Metoda shora-dolů algoritmus Postupně stavíme klauzule pokrývající pozitivní příklady Literály se vybírají ze známých predikátů, rovnosti/nerovnosti a aritmetických porovnání musí obsahovat proměnnou, ě která už v klauzuli je můžeme použít znalost typů (číslo, osoba, ) volba literálu se dělá na základě informačního zisku Systém FOIL se naučil řadu d programů ů pro práci se seznamy (např. ř append, QuickSort)

Inverzní rezoluce Background Hypothesis Descriptions = Classifications Obecná rezoluce tedy musí dokázat Classifications z Background, Hypothesis, Descriptions. Můžeme jít v rezoluci obráceně a hledat Hypothesis, kterou kdůkazu potřebujeme z rezolventy C hledáme C 1 a C 2 (máme-li C 2, hledáme jen C 1 ) Parent(Elizabeth,Anne) Grandparent(George,Anne) Parent(z,Anne) Grandparent(George,Anne) Parent(z,y) Grandparent(George,y)