3.1 Úvod do problematiky

Podobné dokumenty
Rozhodovací stromy a jejich konstrukce z dat

Rozhodovací stromy a jejich konstrukce z dat

Učení z klasifikovaných dat

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

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

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

Rozhodovací pravidla

Václav Matoušek KIV. Umělá inteligence a rozpoznávání. Václav Matoušek / KIV

Umělá inteligence a rozpoznávání

Strojové učení Marta Vomlelová

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

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

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

Trénování sítě pomocí učení s učitelem

Základy umělé inteligence

Úvod do teorie her

Projekt LISp-Miner. M. Šimůnek

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Stromy, haldy, prioritní fronty

Ochutnávka strojového učení

8. Strojové učení Strojové učení

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Strojové uení. typy učení: Metody učení: učení se znalostem (knowledge acquisition) učení se dovednostem (skill refinement).

Rozdělování dat do trénovacích a testovacích množin

UČENÍ BEZ UČITELE. Václav Hlaváč

4EK213 Lineární modely. 10. Celočíselné programování

Lineární klasifikátory

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

OSA. maximalizace minimalizace 1/22

Přijímací zkouška - matematika

Využití metod strojového učení v bioinformatice David Hoksza

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Vybrané přístupy řešení neurčitosti

Marta Vomlelová

Dolování asociačních pravidel

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Automatické vyhledávání informace a znalosti v elektronických textových datech

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

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

Přednáška 13 Redukce dimenzionality

Algoritmizace prostorových úloh

Téma 48 (dříve 47) Martin Staviař, 16. srpna 2006

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Úloha - rozpoznávání číslic

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

ANTAGONISTICKE HRY 172

Rekonstrukce diskrétního rozdělení psti metodou maximální entropie

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ

Předzpracování dat. Lenka Vysloužilová

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Základní datové struktury III: Stromy, haldy

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

12. Globální metody MI-PAA

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

GIS Geografické informační systémy

Zavedení a vlastnosti reálných čísel

5 Orientované grafy, Toky v sítích

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Pokročilé neparametrické metody. Klára Kubošová

Dobývání dat a strojové učení

Dobývání a vizualizace znalostí

Grafové algoritmy. Programovací techniky

Markovské metody pro modelování pravděpodobnosti

Strojové učení Marta Vomlelová

Grafové algoritmy. Programovací techniky

A4B33ZUI Základy umělé inteligence

11. Tabu prohledávání

Technologie a řízení letecké dopravy: 6. Základní konstrukce letounů

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

Funkce, elementární funkce.

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

63. ročník Matematické olympiády 2013/2014

Aplikace obrazové fúze pro hledání vad

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Dynamické programování

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

DATA MINING KLASIFIKACE DMINA LS 2009/2010

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze


Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Vytěžování znalostí z dat

ZŠ ÚnO, Bratří Čapků 1332

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

ANALÝZA A KLASIFIKACE DAT

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

3. ANTAGONISTICKÉ HRY

Dobývání a vizualizace znalostí. Olga Štěpánková et al.

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Transkript:

3 Strojové učení rozhodovací stromy 3.1 Úvod do problematiky 3.1.1 Úvod a motivace Naše stroje jsou nedokonalé: potřebují údržbu selhávají (hroutí se),... Rádi bychom dostali varování předem. Konstruktér (tvůrce) předem zná tuší, co jeho stroj potřebuje, ale co běžný uživatel? Můžeme běžného uživatele vybavit souborem jednoduchých instrukcí "co dělat, když"? Jak by měly tyto instrukce vypadat? Jak je můžeme vytvořit? Získávání odpovídajících znalostí pro reálné UI aplikace je tak náročné, že mnohdy může být řešení "hrubou silou" (t.j. prohlédnutím všech možných alternativ) úspěšnější, např. koncovka hry v šachy. Obtíže při získávání znalostí? Znalost v odborných publikacích je vyjádřená pomocí náročných abstraktních pojmů (iniciativa, dobře chráněný král,...). V některých situacích či prostředích není člověk schopen popsat a zdůvodnit slovy své rozhodnutí. Přesto však jeho rozhodnutí funguje.... Není možné pojmy a strategie řešení předávat pomocí příkladů? Mohou se stroje učit z příkladů? 3.1.2 Definice Simon [83]: Učení je schopnost systému měnit se (adaptovat) tak, že vzniklé změny umožňují systému vykonávat stejnou nebo podobnou úlohu při příští příležitosti účinněji nebo efektivněji. 1. Typy učení získávání dovedností - skill refinement (plavání, jízda na kole,...) získávání znalostí (hodnocením zkušeností) knowledge acquisition 2. Získávání znalostí zapamatování zkušeností - Rote Learning (hry jako šachy, dáma), mechanické učení - využívá např. heuristické hodnotící funkce stavu hry, která se postupně v průběhu hry upřesňuje v navštívených stavech tak, že se tyto rozvíjejí do omezené hloubky a jako hodnocení rozvíjeného stavu se používá hodnota získaná metodou MIN-MAX případové usuzování - Case-Based Reasoning: rozhodnutí vzniká jako modifikace rozhodnutí použitého dříve pro velmi podobný případ potřebuje bohatou zásobu již vyřešených případů přijímáním rad od rádce - Advice Taking, obtíž může být v "interpretaci" nebo "operacionalizaci" abstraktní rady hledají se podmínky použití analýzou rozdílů: Winstonova brána hypotéza se konfrontuje s klasifikovanými příklady a postupně se upravuje (pokud hypotéza pokývá negativní příklad => specializace, pokud hypotéza nepokrývá pozitivní příklad => zobecnění) 25

učení z příkladů (s učitelem, hledání skrytého významu v datech,...) - klasifikace (do známých tříd), vytváření vhodných konceptů ve formě hypotéz... 3.1.3 Prostor hypotéz o konceptu Koncept: Reálně existující třída objektů vymezená na známém definičním oboru (např. 3D vektory reálných čísel). Objekty klasifikujeme podle toho, zda ke konceptu patří nebo nepatří. Obvykle známe jen konečnou množinu příkladů prvků daného konceptu (pozitivní příklady), případně i množinu prvků, které ke konceptu nepatří (negativní příklady), t.j. trénovací množinu konceptu. Trénovací množina konceptu popisuje koncept implicitně (t.j. pomocí příkladů). Hypotéza: Pokus o formální charakterizaci konceptu, např. formule ve výrokové logice (pravidla) nebo množina aritmetických výtazů, která má být splněna. Hypotéza je pokus o explicitní popis konceptu. Hypotéza je korektní, když nepokrývá žádný negativní příklad. úplná, když pokrývá všechny pozitivní příklady. Hledáme korektní a úplnou hypotézu. Prostor hypotéz pro daný koncept je tvořen pravidly, která jsou výsledkem učení z příkladů. Tento prostor je částečně uspořádaný a má maximální i minimální prvek: Libovolný popis 1 konkrétního prvku z trénovací množiny do všech podrobností představuje nejspeciálnější hypotézu Nejobecnější hypotéza (maximální prvek) pokrývá všechny možné (positivní i negativní) příklady Operace v prostoru hypotéz: Specializace, Generalizace: Při hledání nejlepší hypotézy lze postupovat podobně jako při prohledávání stavového prostoru, t.j. shora dolů či sdola nahoru 3.2 Rozhodovací stromy 3.2.1 Školní příklad na tvorbu rozhodovacího stromu 5 atributů: Is_smiling {no, yes}, Holding {sword, balloon, falg}, Has_tie {no, yes}, Head_shape {round, squarq, octagone}, Body_shape {round, squarq, octagone}. 26

2 klasifikace: {friendly, } Tréninkové příklady: Class friendly friendly Attributes and values Is_smiling Holding Has_tie Head_shape Body_shape yes balloon yes square square yes flag yes octagon octagon yes sword yes round octagon yes sword no square octagon no sword no octagon round no flag no round octagon Rozhodovací strom: 3.2.2 Algoritmus strojového učení TDIDT (ID3) TDIDT: Top-Down Induction of Decision Trees - indukce rozhodovacích stromů (pro definici konceptu na základě trénovací množiny, která postupuje) shora dolů dáno: S... trénovací množina (množina klasifikovaných příkladů) 1. Nalezneme "nejlepší" atribut at (t.j. atribut, který nese největší množství informace o tom, zda nějaký prvek patří či nepatří k uvažovanému konceptu) a tím ohodnotíme kořen vytvářeného stromu. 2. Rozdělíme množinu S na podmnožiny S 1,S 2,...,S n, kterých je tolik, kolik je hodnot atributu at. Právě tolik následníků bude mít uzel at. Dělení probíhá tak, že do 27

podmnožiny S i patří právě ty příklady, jejichž hodnota atributu at je v i. Takto vzniklé množiny příkladů jsou přiřazeny odpovídajícím uzlům vytvářeného rozhodovacího stromu. 3. Pro každý uzel, kterému je přiřazena podmnožina S i se postupuje takto: Jestliže všechny příklady v S i mají tutéž klasifikaci (všechny jsou pozitivní nebo všechny jsou negativní), pak uzel ohodnocený S i je prohlášen za list vytvářeného rozhodovacího stromu (a tedy se už dále nevětví), jinak jdi na bod 1 s tím, že S = S i. Jak zvolit "nejlepší" atribut? - Měření množství informace uvnitř S i pomocí entropie (Shanon) H(S i ) = -p i + log p i + - p i - log p i -, kde p i + je pravděpodobnost, že libovolný příklad v S i je pozitivní (p i + se odhaduje jako odpovídající frekvence). - Rozdělíme-li množinu S na podmnožiny S 1,S 2,...,S n na základě hodnot diskrétního atributu at, pak celková entropie H(S,at) tohoto systému je H(S,at) = n i=1 P(S i ) H(S i ), kde P(S i ) je pravděpodobnost události S i, tj. poměr S i / S. Zvolíme atribut at s minimální entropií H(S,at). 3.2.3 Praktický příklad použití metody TDIDT Létání na simulátoru F16 Popis úlohy V této úloze, popsané v [Samuel, 95], bylo úkolem řešícího týmu sestavit řídící systém, který by byl schopen ovládat letecký simulátor F16, tak aby splnil předem definovaný plán letu. Plán se skládal z následujících bodů: 1. vzlet a výstup do výšky 2000 stop 2. let v dané výšce severním směrem až do vzdálenosti 32000 stop od místa startu 3. zahnout vpravo v kurzu 330 4. ve vzdálenosti 42000 stop od místa startu (ve směru sever-jih) provést obrat vlevo a zamířit zpět do místa startu, obrat je ukončen při kurzu mezi 140 a 180. 5. vyrovnat směr letu s přistávací dráhou, tolerance 5 pro kurz a 10 pro výchylku křídel 28

oproti horizontu 6. klesat směrem k počátku přistávací dráhy 7. přistát Tréninková data Každý let popsán pomocí 1000 záznamů, které charakterizují polohu a stav letounu pilotem provedený (řídící) zásah Poloha a stav on_gound g_limit wing_stall twist elevation azimuth roll_speed elevation_speed azimuth_speed airspeed climbspeed E/W distance N/S distance fuel Řízení: rollers elevator thrust flaps boolean: je letadlo na zemi? boolean: je překročen g limit letadla? boolean: je letadlo stabilní? integer: 0-360, výchylka křídel vůči obzoru integer: 0-360, výchylka trupu vůči obzoru integer: 0-360, směr letu integer: 0-360, rychlost změny výchylky křídel [ /s] integer: 0-360, rychlost změny výchylky trupu [ /s] integer: 0-360, rychlost změny kurzu [ /s] integer: rychlost letadla v uzlech integer: rychlost změny výšky [stop/s] real: vzdálenost ve směru východ-západ od místa startu real: vzdálenost ve směru sever-jih od místa startu integer: váha paliva v librách real: nastavení ovladače horizontálního vychýlení real: nastavení ovladače vertikálního vychýlení integer: 0-100%, plyn integer: 0, 10 nebo 20, nastavení křídlových lopatek 3 piloti á 30 letů... 90 000 datových příkladů: Každá ze 7 fází letu si vyžaduje vlastní typ řízení (jiné zásahy pilota). Proto jsou trénovací příklady rozděleny do 7 odpovídajících skupin. V každé skupině je zkonstruován zvlášť rozhodovací strom pro všechny řídící zásahy (rollers, elevator, thrust, flaps), t.j. 7 x 4 stromů 3.3 Příklady dalších algoritmů strojového učení 3.3.1 Algoritmus prostoru verzí (version space) oboustranné prohledávání Přípustná verze konceptu (Mitchell 1978) je postupně vymezována pomocí horní a dolní meze G a H. Horní mez G obsahuje všechny nejobecnější hypotézy o konceptu, které jsou přípustné z hlediska dosud zpracovaných příkladů. Dolní mez S obsahuje všechny nejspecifičtější hypotézy o konceptu, které jsou přípustné z hlediska dosud zpracovaných příkladů. Klasifikované příklady jsou nejprve uspořádány a pak jsou postupně zpracovávány, 29

t.j. jsou použity pro eliminaci kandidátů v G a S. Algoritmus pro nalezení konceptu pomocí eliminace kandidátů 1. G := {nejobecnější hypotéza} 2. S := {hypotéza popisující 1. pozitivní příklad} 3. Vyber další příklad p z trénovací množiny: Je-li p pozitivní příklad, pak je použit k zobecnění S a k proškrtání G, t.j. Každý prvek v S nahraď jeho nejmenším zobecněním, které popisuje p Z G odstraň ty koncepty, které nejsou zobecněním p. Je-li p negativní příklad, pak je použit k proškrtání S a ke specializaci G, t.j. Z S odstraň ty koncepty, které pokrývají příklad p. Každý prvek v G nahraď jeho nejmenší specializací, která nepopisuje p 4. Jsou-li G a S jednoprvkové množiny a platí G = S, pak ohlas (HYPOTÉZA NALEZENA, KONEC ) jinak jdi na 3. Příklad použití: Klasifikace aut popsaných atributy: Vyrobeno_v, Výrobce, Barva, Stáří_vozu, Typ_vozu 3.3.2 pokrývání - Covering algorithm (AQ, CN2), sdola nahoru AQ Algoritmus (Michalski 1969) Popis : = Ø Množina příkladů se skládá ze 2 disjunktních množin PE (obsahující právě všechny pozitivní příklady) a NE (obsahující právě všechny negativní příklady) 1. Vyber z množiny PE náhodně 1 příklad a označ jej jádro s (seed) 2. Nalezni všechny maximální generalizace Generalizace(s) popisu jádra s takové, že nepokrývají žádný příklad z NE 3. Nechť podle vhodného prefernčního kriteria je g nejlepší z popisů v Generalizace(s). Označme množinu všech prvků z PE, které vyhovují popisu g, Pokryto(g). Popis g je zařazen do množiny Popis, t.j. 4. Popis : = Popis + { g } 5. Pokud každý prvek z množiny PE je pokryt nějakým prvkem z Popis, ukonči práci. Kapitola 3.3 je nepovinná (je uvedena jen pro informaci) 3.4 Doporučená literatura Kubát, M.: Strojové učení, Kap. 7 v [Mařík et al.] Mařík, V., Štěpánková, O., Lažanský, J.: Umělá inteligence (1), Academia, Praha 1993 Michalski, R., Bratko, I., Kubat, M.: Machine Learning and Data Mining, Methods and Applications, Addison Wesley 1998 Russel, S., Norvig, P.: Artificiall Intelligence. A Modern Approach, Prentice Hall 1995 30