vystavit agenta realitě místo přepisování reality do pevných pravidel

Podobne dokumenty
Obsah: Rozhodovací stromy. Úvod do umělé inteligence 11/12 2 / 41. akce

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Linea rnı (ne)za vislost

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Kristýna Kuncová. Matematika B2

Edita Pelantová, katedra matematiky / 16

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

Úvodní informace. 18. února 2019

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

1 Soustava lineárních rovnic

5. a 12. prosince 2018

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

Numerické metody minimalizace

TGH01 - Algoritmizace

Kristýna Kuncová. Matematika B2 18/19

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Uvod Symbolick e modelov an ı Neuronov e s ıtˇ e Shrnut ı Modelov an ı myˇslen ı Radek Pel anek

Vybrané kapitoly z matematiky

Numerické metody 8. května FJFI ČVUT v Praze

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Kybernetika a umělá inteligence. Gerstnerova laboratoř katedra kybernetiky. Daniel Novák

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 3. listopadu Filip Železný (ČVUT) Vytěžování dat 3. listopadu / 1

z geoinformatických dat

Obsah: CLP Constraint Logic Programming. Úvod do umělé inteligence 6/12 1 / 17

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Co nám prozradí derivace? 21. listopadu 2018

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy!

Funkce zadané implicitně. 4. března 2019

PA152,Implementace databázových systémů 2 / 25

Robustní architektura vícevrstvých

Rovnice proudění Slapový model

Statistika (KMI/PSTAT)

Matematika 2, vzorová písemka 1

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Kristýna Kuncová. Matematika B3

DFT. verze:

Matematika (KMI/PMATE)

TGH01 - Algoritmizace

Algebra I Cvičení. Podstatná část příkladů je převzata od kolegů, jmenovitě Prof. Kučery, Doc. Poláka a Doc. Kunce, se

nejsou citlivé na monotónní transformace vstupů, dost dobře se vyrovnají s nerelevantními vstupy.

Reprezentace dat. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner

Kristýna Kuncová. Matematika B2 18/19. Kristýna Kuncová (1) Vzorové otázky 1 / 36

podle přednášky doc. Eduarda Fuchse 16. prosince 2010

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016

Geometrická nelinearita: úvod

Obsah Atributová tabulka Atributové dotazy. GIS1-2. cvičení. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156

(13) Fourierovy řady

kontaktní modely (Winklerův, Pasternakův)

Matematika III Stechiometrie stručný

Určitý (Riemannův) integrál a aplikace. Nevlastní integrál. 19. prosince 2018

Laplaceova transformace

GEM a soustavy lineárních rovnic, část 2


Anna Kratochvílová Anna Kratochvílová (FJFI ČVUT) PDR ve zpracování obrazu / 17

Ústav teorie informace a automatizace. Tato prezentace je k dispozici na:

Úvod do umělé inteligence, jazyk Prolog

(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25

Logický agent, výroková logika

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Průvodce studiem V této kapitole se budeme zabývat diferenciálním počtem pro funkce více

Paralelní implementace a optimalizace metody BDDC

Martin Pergel. 26. února Martin Pergel

Matematický ústav UK Matematicko-fyzikální fakulta. Ukázky aplikací matematiky

Biosignál II. Lékařská fakulta Masarykovy univerzity Brno

Stavový popis Stabilita spojitých systémů (K611MSAP) Katedra aplikované matematiky Fakulta dopravní ČVUT. čtvrtek 20. dubna 2006

Logický agent, výroková logika

Paradoxy geometrické pravděpodobnosti

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Diferenciální rovnice základní pojmy. Rovnice se

IEL Přechodové jevy, vedení

Západočeská univerzita v Plzni Fakulta aplikovaných věd. Katedra matematiky. Semestrální práce - matematika a byznys

3. Problémy s omezujícími podmínkami (CSP Constraint Satisfaction Problems)

Inverzní Z-transformace

Shrnutí. Vladimír Brablec

Reprezentace a vyvozování znalostí

MATEMATIKA 3 NUMERICKÉ METODY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Paradigmata programování 2

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

Stochastické modelování v ekonomii a financích Konzistence odhadu LWS. konzistence OLS odhadu. Předpoklady pro konzistenci LWS

CA CZ, s.r.o. May 21, Radek Mařík Testování řídicích struktur May 21, / 45

Obsah. Limita posloupnosti a funkce. Petr Hasil. Limita posloupnosti. Pro a R definujeme: Je-li a < 0, pak a =, a ( ) =. vlastní body.

Cauchyova úloha pro obyčejnou diferenciální rovnici

GENETICKÉ PROGRAMOVÁNÍ S JAZYKEM BRAINFUCK

(např. ve Weka) vycházejí z tzv. matice záměn (confusion matrix): + TP true positive FN false negative - FP false positive TN true negative

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

POLIURETANOWE SPRĘŻYNY NACISKOWE. POLYURETHANOVÉ TLAČNÉ PRUŽINY

ZÁVĚREČNÁ KONFERENCE Poslanecká sněmovna PČR Praha MEZINÁRODNÍ DOTAZNÍKOVÉ ŠETŘENÍ ANKIETY MIEDZYNARODOWE

Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra.

Matematická analýza II pro kombinované studium. Konzultace první a druhá. RNDr. Libuše Samková, Ph.D. pf.jcu.cz

TGH08 - Optimální kostry

(a). Pak f. (a) pro i j a 2 f

1. Informace o předmětu, úvod do programování

Reprezentace a vyvozování znalostí

Zpracování digitalizovaného obrazu (ZDO) - Klasifikace

Transkrypt:

Učení, rozhodovací stromy, neuronové sítě Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Učení Hodnocení úspěšnosti učícího algoritmu PA026 Projekt z umělé inteligence Učení Úvod do umělé inteligence /2 / 40 Učení učení je kĺıčové pro neznámé prostředí (kde návrhář není vševědoucí) učení je také někdy vhodné jako metoda konstrukce systému vystavit agenta realitě místo přepisování reality do pevných pravidel učení agenta využití jeho vjemů z prostředí nejen pro vyvození další akce učení modifikuje rozhodovací systém agenta pro zlepšení jeho výkonnosti Úvod do umělé inteligence /2 2 / 40

Učení Učící se agent Učící se agent Výkonnostní standard Agent cíle učení Kritika zpětná vazba Komponenta uèení Generátor problémù změny znalosti experimenty Senzory Výkonnostní komponenta Akční prvky Prostředí příklad automatického taxi: Výkonnostní komponenta obsahuje znalosti a postupy pro výběr akcí pro vlastní řízení auta Kritika sleduje reakce okoĺı na akce taxi. Např. při rychlém přejetí 3 podélných pruhů zaznamená a předá pohoršující reakce dalších řidičů Komponenta učení z hlášení Kritiky vyvodí nové pravidlo, že takové přejíždění je nevhodné, a modifikuje odpovídajícím způsobem Výkonnostní komponentu Generátor problémů zjišt uje, které oblasti by mohly potřebovat vylepšení a navrhuje experimenty, jako je třeba brždění na různých typech vozovky Úvod do umělé inteligence /2 3 / 40 Učení Komponenta učení Komponenta učení návrh komponenty učení závisí na několika atributech: jaký typ výkonnostní komponenty je použit která funkční část výkonnostní komponenty má být učena jak je tato funkční část reprezentována jaká zpětná vazba je k dispozici výkonnostní funkční část reprezentace zpětná vazba komponenta Alfa-beta vyhodnocovací funkce vážená lineární výhra/prohra prohledávání funkce Logický agent určení akce axiomy Result výsledné skóre Reflexní agent váhy perceptronu neuronová sít správná/špatná akce učení s dohledem (supervised learning) bez dohledu (unsupervised learning) s dohledem učení funkce z příkladů vstupů a výstupů bez dohledu učení vzorů na vstupu vzhledem k reakcím prostředí posílené (reinforcement learning) nejobecnější, agent se učí podle odměn/pokut Úvod do umělé inteligence /2 4 / 40

Učení Induktivní učení Induktivní učení známé taky jako věda nejjednodušší forma učení funkce z příkladů (agent je tabula rasa) f je cílová funkce O O každý příklad je dvojice x, f (x) např., + úkol indukce: najdi hypotézu h takovou, že h f pomocí sady trénovacích příkladů Úvod do umělé inteligence /2 5 / 40 Metoda induktivního učení Učení Induktivní učení zkonstruuj/uprav h, aby souhlasila s f na trénovacích příkladech h je konzistentní souhlasí s f na všech příkladech např. hledání křivky: f(x) pravidlo Ockhamovy břitvy maximalizovat kombinaci konzistence a jednoduchosti (nejjednodušší ze správných je nejlepší) x Úvod do umělé inteligence /2 6 / 40

Učení Induktivní učení Metoda induktivního učení pokrač. hodně záleží na prostoru hypotéz, jsou na něj protichůdné požadavky: pokrýt co největší množství hledaných funkcí udržet nízkou výpočetní složitost hypotézy f (x) f (x) a) b) x x stejná sada 7 bodů nejmenší konzistentní polynom polynom 6-tého stupně (7 parametrů) může být výhodnější použít nekonzistentní přibližnou lineární funkci přitom existuje konzistentní funkce ax + by + c sin x Úvod do umělé inteligence /2 7 / 40 Atributová reprezentace příkladů Atributová reprezentace příkladů příklady popsané výčtem hodnot atributů (libovolných hodnot) např. rozhodování, zda počkat na uvolnění stolu v restauraci: Příklad Atributy Alt Bar Pá/So Hlad Štam Cen Déšt Rez Typ ČekD počkat? X A N N A část. $$$ N A mexická 0 0 A X 2 A N N A plno $ N N asijská 30 60 N X 3 N A N N část. $ N N bufet 0 0 A X 4 A N A A plno $ N N asijská 0 30 A X 5 A N A N plno $$$ N A mexická >60 N X 6 N A N A část. $$ A A pizzerie 0 0 A X 7 N A N N nikdo $ A N bufet 0 0 N X 8 N N N A část. $$ A A asijská 0 0 A X 9 N A A N plno $ A N bufet >60 N X 0 A A A A plno $$$ N A pizzerie 0 30 N X N N N N nikdo $ N N asijská 0 0 N X 2 A A A A plno $ N N bufet 30 60 A Ohodnocení tvoří klasifikaci příkladů pozitivní (A) a negativní (N) Úvod do umělé inteligence /2 8 / 40

ale takový stromúvod pravděpodobně do umělé inteligence /2 nebude 0 / generalizovat 40 na nové příklady jedna z možných reprezentací hypotéz rozhodovací strom pro určení, jestli počkat na stůl: Štamgastů? nikdo část. plno N A OdhadČekání? >60 30 60 0 30 0 0 N Alternativa? Hlad? A Ne Ano Ne Ano Rezervace? Pá/So? A Alternativa? Ne Ano Ne Ano Ne Ano Bar? A N A A Déšt? Ne Ano Ne Ano N A N A Úvod do umělé inteligence /2 9 / 40 Vyjadřovací síla rozhodovacích stromů Vyjadřovací síla rozhodovacích stromů rozhodovací stromy vyjádří libovolnou Booleovskou funkci vstupních atributů odpovídá výrokové logice s počkat?(s) ( P (s) P 2 (s)... P n (s) ), kde P i (s) = ( A (s) = V... A m (s) = V m ) pro libovolnou Booleovskou funkci řádek v pravdivostní tabulce = cesta ve stromu (od kořene k listu) A B A xor B F F F F T T T F T T T F Ne N A Ne Ano B B Ano Ne Ano A A N triviálně pro libovolnou trénovací sadu existuje konzistentní rozhodovací strom s jednou cestou k listům pro každý příklad

Prostor hypotéz Prostor hypotéz. vezměme pouze Booleovské atributy, bez dalšího omezení Kolik existuje různých rozhodovacích stromů s n Booleovskými atributy? = počet všech Booleovských funkcí nad těmito atributy = počet různých pravdivostních tabulek s 2 n řádky = 2 2n např. pro 6 atributů existuje 8 446 744 073 709 55 66 různých rozhodovacích stromů 2. když se omezíme pouze na konjunktivní hypotézy (Hlad Déšt ) Kolik existuje takových čistě konjunktivních hypotéz? každý atribut může být v pozitivní nebo negativní formě nebo nepoužit 3 n různých konjunktivních hypotéz (pro 6 atributů = 729) prostor hypotéz s větší expresivitou zvyšuje šance, že najdeme přesné vyjádření cílové funkce ALE zvyšuje i počet možných hypotéz, které jsou konzistentní s trénovací množinou můžeme získat nižší kvalitu předpovědí (generalizace) Úvod do umělé inteligence /2 / 40 Učení ve formě rozhodovacích stromů Učení ve formě rozhodovacích stromů triviální konstrukce rozhodovacího stromu pro každý příklad v trénovací sadě přidej jednu cestu od kořene k listu na stejných příkladech jako v trénovací sadě bude fungovat přesně na nových příkladech se bude chovat náhodně negeneralizuje vzory z příkladů, pouze kopíruje pozorování heuristická konstrukce kompaktního stromu chceme najít nejmenší rozhodovací strom, který souhlasí s příklady přesné nalezení nejmenšího stromu je ovšem příliš složité heuristikou najdeme alespoň dostatečně malý hlavní myšlenka vybíráme atributy pro test v co nejlepším pořadí Úvod do umělé inteligence /2 2 / 40

Učení ve formě rozhodovacích stromů Výběr atributu dobrý atribut rozděĺı příklady na podmnožiny, které jsou (nejlépe) všechny pozitivní nebo všechny negativní Štamgastů? Typ? nikdo část. plno mexická pizzerie asijská bufet Štamgastů? je lepší volba atributu dává lepší informaci o vlastní klasifikaci příkladů Úvod do umělé inteligence /2 3 / 40 Učení ve formě rozhodovacích stromů Výběr atributu míra informace informace odpovídá na otázku čím méně dopředu vím o výsledku obsaženém v odpovědi tím více informace je v ní obsaženo měřítko: bit = odpověd na Booleovskou otázku s pravděpodobností odpovědi P(T ) = 2, P(F ) = 2 n možných odpovědí P(v ),..., P(v n ) míra informace v odpovědi obsažená I ( P(v ),..., P(v n ) ) = n i= P(v i) log 2 P(v i ) tato míra se také nazývá entropie např. pro házení mincí: I ( 2, 2 ) = 2 log 2 2 2 log 2 2 = 2 + 2 = bit pro házení falešnou mincí, která dává na 99% vždy jednu stranu mince: I ( 00, 99 00 ) = 00 log 2 00 99 00 log 2 99 00 = 0.08 bitů Úvod do umělé inteligence /2 4 / 40

Učení ve formě rozhodovacích stromů Použití míry informace pro výběr atributu předpokládejme, že máme p pozitivních a n negativních příkladů I ( p p+n, n p+n ) bitů je potřeba pro klasifikaci nového příkladu např. pro X,..., X 2 z volby čekání na stůl je p = n = 6, takže potřebujeme bit výběr atributu kolik informace nám dá test na hodnotu atributu A? = rozdíl odhadu odpovědi před a po testu atributu Úvod do umělé inteligence /2 5 / 40 Učení ve formě rozhodovacích stromů Použití míry informace pro výběr atributu atribut A rozděĺı sadu příkladů E na podmnožiny E i (nejlépe tak, že každá potřebuje méně informace) Štamgastů? nikdo část. plno necht E i má p i pozitivních a n i negativních příkladů je potřeba I ( p i p i +n i, očekávaný počet bitů celkem je výsledný zisk atributu A je n i p i +n i ) bitů pro klasifikaci nového příkladu Remainder(A) = i Gain(A) = I ( p p+n, p i +n i p+n I ( p i p i +n i, n p+n ) Remainder(A) výběr atributu = nalezení atributu s nejvyšší hodnotou Gain(A) n i p i +n i ) Gain(Štamgastů?) 0.54 bitů Gain(Typ?) = 0 bitů obecně: E i (pro A = v i ) obsahuje c i,k klasifikací do tříd c,..., c k Remainder(A) = i P(v i) I ( P(c i, ),..., P(c i,k ) ) Gain(A) = I ( P(v ),..., P(v n ) ) Remainder(A) Úvod do umělé inteligence /2 6 / 40

Učení ve formě rozhodovacích stromů Algoritmus IDT učení formou rozhodovacích stromů % induce tree( +Attributes, +Examples, Tree) induce tree(, [], null) :-!. induce tree(, [example( Class, ) Examples], leaf( Class)) :- % příklady stejné klasifikace \+ (member( example( ClassX, ), Examples), ClassX \== Class),!. induce tree( Attributes, Examples, tree( Attribute, SubTrees)) :- choose attribute( Attributes, Examples, Attribute/ ),!, del( Attribute, Attributes, RestAtts), attribute( Attribute, Values), induce trees( Attribute, Values, RestAtts, Examples, SubTrees). induce tree(, Examples, leaf( ExClasses)) :- % žádný užitečný atribut, distribuce klasifikací findall( Class, member( example( Class, ), Examples), ExClasses). % induce trees( +Att, +Values, +RestAtts, +Examples, SubTrees): % najdi podstromy SubTrees pro podmnožiny příkladů Examples podle hodnot (Values) atributu Att induce trees(, [],,, [] ). % žádné atributy, žádné podstromy induce trees( Att, [Val Vals], RestAtts, Exs, [Val : Tree Trees]) :- attval subset( Att = Val, Exs, ExampleSubset), induce tree( RestAtts, ExampleSubset, Tree), induce trees( Att, Vals, RestAtts, Exs, Trees). % attval subset( +Attribute = +Value, +Examples, Subset): % Subset je podmnožina příkladů z Examples, které splňují podmínku Attribute = Value attval subset( AttributeValue, Examples, ExampleSubset) :- findall( example( Class, Obj), (member( example( Class, Obj), Examples), satisfy( Obj, [ AttributeValue])), ExampleSubset). % satisfy( Object, Description) satisfy( Object, Conj) :- \+ (member( Att = Val, Conj), member( Att = ValX, Object), ValX \== Val). Úvod do umělé inteligence /2 7 / 40 Učení ve formě rozhodovacích stromů Algoritmus IDT učení formou rozhodovacích stromů % choose attribute( +Atts, +Examples, BestAtt/BestGain) výběr nejlepšího atributu choose attribute([],, 0/0). choose attribute([att], Examples, Att/Gain):-!, gain(examples, Att, Gain). choose attribute([att Atts], Examples, BestAtt/BestGain):- choose attribute(atts, Examples, BestAtt/BestGain), gain(examples, Att, Gain), (Gain>BestGain,!, BestAtt=Att, BestGain=Gain ; BestAtt=BestAtt, BestGain=BestGain). % gain( +Examples, +Attribute, Gain) zisk atributu gain( Exs, Att,Gain) :- attribute( Att,AttVals ), length(exs, Total), setof(class, Xˆexample(Class,X), Classes), % množina všech Class findall(nc, (member(c,classes), cntclass(c,exs,nc)), CCnts), info(ccnts,total,i), rem(att, AttVals,Exs,Classes,Total,Rem), Gain is I Rem. % info(+valuecounts, +Total, I) % míra informace I ( P(v ),..., P(v n ) ) = n i= P(v i ) log 2 P(v i ) info([],, 0). info([vc ValueCounts], Total, I) :- info(valuecounts,total,i), (VC = 0,!, I is I ; Pvi is VC / Total, log2(pvi, LogPvi), I is Pvi LogPvi + I). Úvod do umělé inteligence /2 8 / 40

Učení ve formě rozhodovacích stromů Algoritmus IDT učení formou rozhodovacích stromů % rem( +Att, +AttVals, +Exs, +Classes, +Total, Rem) % zbytková informace po testu na Att: Remainder(A) = i P(v i ) I ( P(c i, ),..., P(c i,k ) ) rem(, [],,,, 0). rem( Att, [V Vs], Exs, Classes, Total, Rem) :- findall(, (member(example(, AVs),Exs), member(att = V, AVs)), L), length(l, Nv), % Nv = p i + n i findall(ni, (member(c, Classes), cntclassattv(att,v,c,exs,ni)), VCnts), Pv is Nv / Total, % P(v) info(vcnts,nv,i), rem(att,vs,exs,classes,total,rem), Rem is Pv I + Rem. % cntclass( +Class, +Exs, Cnt) počet příkladů třídy Class cntclass( Class, Exs, Cnt) :- findall(, member(example(class, ),Exs), L), length(l, Cnt). % cntclass( +Att, +Val, +Class, +Exs, Cnt) % počet příkladů třídy Class pro hodnotu Val atributu Att cntclassattv( Att, Val, Class, Exs, Cnt) :- findall(, (member(example(class,avs),exs), member(att = Val, AVs)), L), length(l, Cnt). log2(x, Y) :- Y is log(x) / log(2). Úvod do umělé inteligence /2 9 / 40 Učení ve formě rozhodovacích stromů Algoritmus IDT příklad attribute( hlad, [ano, ne]). attribute( stam, [nikdo, cast, plno]). attribute( cen, [ $, $$, $$$ ]).... example(pockat, [alt=ano, bar=ne, paso=ne, hlad=ano, stam=cast, cen= $$$, dest=ne, rez=ano, typ=mexicka ]). example(necekat, [alt=ano, bar=ne, paso=ne, hlad=ano, stam=plno, cen= $, dest=ne, rez=ne, typ=asijska ]).... :- induce tree(t),show(t). stam? = nikdo necekat = cast pockat = plno hlad? = ano cen? = $ paso? = ano pockat = ne necekat = $$$ necekat = ne necekat Úvod do umělé inteligence /2 20 / 40

Učení ve formě rozhodovacích stromů IDT výsledný rozhodovací strom rozhodovací strom naučený z 2-ti příkladů: Štamgastů? nikdo část. plno F T Typ? mexická pizzerie asijská bufet F F Pá/So? Déšt? Ne Ano Ano Ne F T F T podstatně jednodušší než strom z tabulky příkladů Úvod do umělé inteligence /2 2 / 40 Hodnocení úspěšnosti učícího algoritmu Hodnocení úspěšnosti učícího algoritmu jak můžeme zjistit, zda h f? používaná metodologie (cross validation):. vezmeme velkou množinu příkladů 2. rozděĺıme ji na 2 množiny trénovací a testovací 3. aplikujeme učící algoritmus na trénovací sadu, získáme hypotézu h 4. změříme procento příkladů v testovací sadě, které jsou správně klasifikované hypotézou h 5. opakujeme kroky 2 4 pro různé velikosti trénovacích sad a pro náhodně vybrané trénovací sady Úvod do umělé inteligence /2 22 / 40 dopředu použít věty Teorie komputačního učení po naučení kontrolou na jiné trénovací sadě křivka učení závislost velikosti trénovací sady na úspěšnosti % správnosti u testovací sady 0.9 0.8 0.7 0.6 0.5 0.4 0 20 40 60 80 00 velikost trénovací sady

Hodnocení úspěšnosti učícího algoritmu Hodnocení úspěšnosti učícího algoritmu pokrač. tvar křivky učení závisí na je hledaná funkce realizovatelná nerealizovatelná funkce může být nerealizovatelná kvůli chybějícím atributům omezenému prostoru hypotéz % správnosti naopak nadbytečné expresivitě např. množství nerelevantních atributů realizovatelná nadbytečná nerealizovatelná # příkladů Úvod do umělé inteligence /2 23 / 40 Hodnocení úspěšnosti učícího algoritmu Induktivní učení shrnutí Induktivní učení shrnutí učení je potřebné pro neznámé prostředí (a ĺıné analytiky ) učící se agent výkonnostní komponenta a komponenta učení metoda učení závisí na typu výkonnostní komponenty, dostupné zpětné vazbě, typu a reprezentaci části, která se má učením zlepšit u učení s dohledem cíl je najít nejjednodušší hypotézu přibližně konzistentní s trénovacími příklady učení formou rozhodovacích stromů používá míru informace kvalita učení přesnost odhadu změřená na testovací sadě Úvod do umělé inteligence /2 24 / 40

Neuron Neuron mozek 0 neuronů > 20 typů, 0 4 synapsí, ms 0ms cyklus nosiče informace signály = výkyvy elektrických potenciálů (se šumem) neuron mozková buňka, která má za úkol sběr, zpracování a šíření signálů Nervová vlákna Dendrit Synapse Axon z jiné buňky Jádro Axon, nervový výběžek Synapse Tělo buňky, soma Úvod do umělé inteligence /2 25 / 40 Počítačový model neuronové sítě Počítačový model neuronové sítě 943 McCulloch & Pitts matematický model neuronu spojené do neuronové sítě schopnost tolerovat šum ve vstupu a učit se jednotky (units) v neuronové síti jsou propojeny vazbami (links) vazba z jednotky j do i propaguje aktivaci a j jednotky j funkce jednotky i:. spočítá váženou vstupů = in i 2. aplikuje aktivační funkci g 3. tím získá výstup a i každá vazba má číselnou váhu W j,i (síla+znaménko) a 0 = a j W j,i prahová váha W 0,i in i Σ a i = g(in i ) g a i a i = g(in i ) = g( j W j,i a j ) vstupní vazby vstupní funkce aktivační funkce výstup výstupní vazby Úvod do umělé inteligence /2 26 / 40

Aktivační funkce Aktivační funkce účel aktivační funkce: např. a) g(in i ) jednotka má být aktivní ( +) pro pozitivní příklady, jinak neaktivní 0 aktivace musí být nelineární, jinak by celá sít byla lineární b) g(in i ) + + prahová funkce in i in i sigmoida /( + e x ) je derivovatelná důležité pro učení změny prahové váhy W 0,i nastavují nulovou pozicí nastavují práh aktivace Úvod do umělé inteligence /2 27 / 40 Logické funkce pomocí neuronové jednotky Logické funkce pomocí neuronové jednotky W 0 =.5 W 0 = 0.5 W 0 = 0.5 W = W 2 = W = W 2 = W = AND OR NOT jednotka McCulloch & Pitts sama umí implementovat základní Booleovské funkce kombinacemi jednotek do sítě můžeme implementovat libovolnou Booleovskou funkci Úvod do umělé inteligence /2 28 / 40

Struktury neuronových sítí Struktury neuronových sítí sítě s předním vstupem (feed-forward networks) necyklické implementují funkce nemají vnitřní pamět rekurentní sítě (recurrent networks) cyklické vlastní výstup si berou opět na vstup složitější a schopnější výstup má (zpožděný) vliv na aktivaci = pamět Hopfieldovy sítě symetrické obousměrné vazby; fungují jako asociativní pamět Boltzmannovy stroje pravděpodobnostní aktivační funkce Úvod do umělé inteligence /2 29 / 40 Struktury neuronových sítí Příklad sítě s předním vstupem sít 5-ti jednotek 2 vstupní jednotky, skrytá vrstva (2 jednotky), výstupní jednotka W,3 W,4 3 W 3,5 5 2 W 2,3 W 2,4 4 W 4,5 sít s předním vstupem = parametrizovaná nelineární funkce vstupu a 5 = g(w 3,5 a 3 + W 4,5 a 4 ) = g ( W 3,5 g(w,3 a + W 2,3 a 2 ) + W 4,5 g(w,4 a + W 2,4 a 2 ) ) Úvod do umělé inteligence /2 30 / 40

Jednovrstvá sít perceptron Jednovrstvá sít perceptron perceptron pro Booleovskou funkci výstupní jednotka pro složitější klasifikaci více výstupních jednotek vstupní jednotky výstup perceptronu 0.8 0.6 0.4 0.2 0 4 2 výstupní 0 x 2 W 4 4 2 0 j,i jednotky 2 4 x 2 Úvod do umělé inteligence /2 3 / 40 Jednovrstvá sít perceptron Vyjadřovací síla perceptronu perceptron může reprezentovat hodně Booleovských funkcí AND, OR, NOT, majoritní funkci,... j W jx j > 0 nebo W x > 0 reprezentuje lineární separátor (nadrovina) v prostoru vstupu: I 0 0 00 00 00 00 00 00 00 00 0 0 I 2 I 0 0 00 00 00 00 00 0 00 00 00 0 0 I 2 I 0? 0 I 2 a) I and I 2 b) I or I 2 c) I xor I 2 Úvod do umělé inteligence /2 32 / 40

Jednovrstvá sít perceptron Učení perceptronu výhoda perceptronu existuje jednoduchý učící algoritmus pro libovolnou lineárně separabilní funkci učení perceptronu = upravování vah, aby se snížila chyba na trénovací sadě kvadratická chyba E pro příklad se vstupem x a požadovaným (=správným) výstupem y je E = 2 Err 2 2 (y h W(x)) 2, kde h W (x) je výstup perceptronu váhy pro minimální chybu pak hledáme optimalizačním prohledáváním spojitého prostoru vah ( E W j = Err Err W j = Err n W j y g( j=0 W jx j ) ) = Err g (in) x j pravidlo pro úpravu váhy W j W j + α Err g (in) x j α... učící konstanta (learning rate) např. Err = y h W (x) > 0 výstup h W (x) je moc malý váhy se musí zvýšit pro pozitivní příklady a snížit pro negativní úpravu vah provádíme po každém příkladu opakovaně až do dosažení ukončovacího kritéria Úvod do umělé inteligence /2 33 / 40 Učení perceptronu pokrač. Jednovrstvá sít perceptron učící pravidlo pro perceptron konverguje ke správné funkci pro libovolnou lineárně separabilní množinu dat a) učení majoritní funkce % správných v testovací sadě 0.9 0.8 0.7 0.6 0.5 0.4 Perceptron Rozhodovací strom 0 0 20 30 40 50 60 70 80 90 00 velikost trénovací sady b) učení čekání na volný stůl v restauraci % správných v testovací sadě 0.9 0.8 0.7 0.6 0.5 0.4 Rozhodovací strom Perceptron 0 0 20 30 40 50 60 70 80 90 00 velikost trénovací sady Úvod do umělé inteligence /2 34 / 40

Vícevrstvé neuronové sítě Vícevrstvé neuronové sítě vrstvy jsou obvykle úplně propojené počet skrytých jednotek je obvykle volen experimentálně výstupní jednotky a i W j,i skryté jednotky a j W k,j vstupní jednotky a k Úvod do umělé inteligence /2 35 / 40 Vyjadřovací síla vícevrstvých sítí Vícevrstvé neuronové sítě s jednou skrytou vrstvou všechny spojité funkce se dvěma skrytými vrstvami všechny funkce těžko se ovšem pro konkrétní sít zjišt uje její prostor reprezentovatelných funkcí např. dvě opačné skryté jednotky vytvoří hřbet dva hřbety vytvoří homoli h W (x, x 2 ) 0.8 0.6 0.4 0.2 0 4 2 0 x 2 4 4 2 0 2 4 x 2 h W (x, x 2 ) 0.8 0.6 0.4 0.2 0 4 2 0 x 2 4 4 2 0 2 4 x 2 Úvod do umělé inteligence /2 36 / 40

Vícevrstvé neuronové sítě Učení vícevrstvých sítí pravidla pro úpravu vah: výstupní vrstva stejně jako u perceptronu W j,i W j,i + α a j i kde i = Err i g (in i ) skryté vrstvy zpětné šíření (back-propagation) chyby z výstupní vrstvy W k,j W k,j + α a k j kde j = g (in j ) i W j,i i problémy učení: dosažení lokálního minima chyby příliš pomalá konvergence přílišné upnutí na příklady neschopnost generalizovat Úvod do umělé inteligence /2 37 / 40 Vícevrstvé neuronové sítě Učení vícevrstvých sítí pokrač. vícevrstvá sít se problém čekání na volný stůl v restauraci učí znatelně ĺıp než perceptron % správných v testovací sadě 0.9 0.8 0.7 0.6 vícevrstvá sít 0.5 rozhodovací strom perceptron 0.4 0 0 20 30 40 50 60 70 80 90 00 velikost trénovací sady Úvod do umělé inteligence /2 38 / 40

shrnutí shrnutí většina mozků má velké množství neuronů; každý neuron lineární prahová jednotka (?) perceptrony (jednovrstvé sítě) mají nízkou vyjadřovací sílu vícevrstvé sítě jsou dostatečně silné; mohou být trénovány pomocí zpětného šíření chyby velké množství reálných aplikací rozpoznávání řeči řízení auta rozpoznávání ručně psaného písma... Úvod do umělé inteligence /2 39 / 40 PA026 Projekt z umělé inteligence PA026 Projekt z umělé inteligence navazuje na předmět PB06 Úvod do umělé inteligence volba programovacího jazyka ovšem není nijak omezena samostatná volba tématu v rozsahu semestru předmět probíhá jako konzultace zajímavé výsledky (http://nlp.fi.muni.cz/uiprojekt/) projekt elnet > 5 let spolupráce na grantových projektech simulace elektrorozvodných sítí projekt plagiaty z webu reálné a funkční vyhledávání shod s dokumenty na celém webu projekt robot johnny 5 sestavení a oživení robota mobilního počítače Úvod do umělé inteligence /2 40 / 40