Školení rozhodovacího stromu

Trénink rozhodovacího stromu využívá rozhodovací strom (jako prediktivní model ) k přechodu od pozorování objektů (reprezentovaných ve větvích) k odvození o cílových hodnotách objektů (reprezentovaných v listech). Toto učení je jedním z přístupů predikčního modelování používaných ve statistice , dolování dat a strojovém učení . Stromové modely, kde může cílová proměnná nabývat diskrétní sadu hodnot, se nazývají klasifikační stromy . V těchto stromových strukturách představují listy štítky tříd a větve představují spojky funkcí , které vedou k těmto štítkům tříd. Rozhodovací stromy, ve kterých může cílová proměnná nabývat spojitých hodnot (obvykle reálných čísel ), se nazývají regresní stromy .

V rozhodovací analýze lze rozhodovací strom použít k vizuální a explicitní reprezentaci rozhodování . Při dolování dat rozhodovací strom popisuje data (ale výsledný klasifikační strom může být vstupem pro rozhodování ). Tato stránka se zabývá rozhodovacími stromy v dolování dat .

Diskuse

Trénink rozhodovacího stromu je technika běžně používaná v data miningu [1] . Cílem je vytvořit model, který předpovídá hodnotu cílové proměnné na základě některých vstupních proměnných. Příklad je uveden na obrázku vpravo. Každý vnitřní uzel odpovídá jedné ze vstupních proměnných. Pro každou možnou hodnotu této vstupní proměnné existují hrany pro děti. Každý list představuje hodnotu cílové proměnné, která je určena hodnotami vstupních proměnných od kořene po list.

Rozhodovací strom je jednoduchou reprezentací příkladů klasifikace. V této části předpokládejme, že všechny vstupní prvky jsou konečné diskrétní množiny a existuje jediný cílový prvek zvaný „klasifikace“. Každý prvek klasifikace se nazývá třída . Rozhodovací strom nebo klasifikační strom je strom, ve kterém je každý vnitřní (nelistový) uzel označen vstupní funkcí. Oblouky vycházející z uzlu označeného vstupním parametrem jsou označeny všemi možnými hodnotami výstupního prvku, nebo oblouk vede k podřízenému rozhodovacímu uzlu s jiným vstupním prvkem. Každý list stromu je označen třídou nebo rozdělením pravděpodobnosti přes třídy.

Strom lze „trénovat“ rozdělením sady na podmnožiny na základě kontrol hodnot atributů. Tento proces, který se rekurzivně opakuje na každé výsledné podmnožině, se nazývá rekurzivní dělení . Rekurze je ukončena, když podmnožina v uzlu má stejnou hodnotu cílové proměnné, nebo když rozdělení nepřidává žádnou hodnotu předpovědím. Tento proces indukce rozhodovacích stromů ( TDIDT ) shora dolů [2] je příkladem chamtivého algoritmu a je nejběžněji používanou strategií pro učení rozhodovacích stromů z dat.  

V dolování dat lze rozhodovací stromy také popsat jako kombinaci matematických a výpočetních technik pro popis, kategorizaci a zobecnění daného souboru dat.

Údaje přicházejí ve formě záznamů formuláře:

Závislá proměnná Y je cílová proměnná, kterou se snažíme pochopit, klasifikovat nebo zobecnit. Vektor x se skládá z prvků x 1 , x 2 , x 3 atd., které jsou použity pro úlohu.

Typy rozhodovacích stromů

Rozhodovací stromy se používají při dolování dat a existují ve dvou hlavních typech:

Termín analýza klasifikačního a regresního stromu ( CART) je obecný termín a používá se k označení dvou výše uvedených postupů, z nichž první zavedl Breiman et al. v roce 1984 [3] . Stromy používané pro regresi a stromy používané pro klasifikaci mají určité podobnosti, ale také se liší, jako je postup používaný k určení místa rozdělení [3] .  

Některé techniky, často označované jako metody sestavení , vytvářejí více než jeden rozhodovací strom:

Speciálním případem rozhodovacích stromů je rozhodovací seznam [8] , což je jednosměrný rozhodovací strom takový, že každý vnitřní uzel má přesně 1 list a přesně 1 vnitřní uzel jako potomek (kromě nejspodnějšího uzlu, jehož jediné dítě je jeden list). I když jsou tyto seznamy méně expresivní, jsou snáze srozumitelné než obecné rozhodovací stromy kvůli jejich řídkosti, která umožňuje metody učení bez chamtivosti [9] a také umožňuje monotónní omezení [10] .

Trénink rozhodovacího stromu je konstrukce rozhodovacího stromu z trénovacích n-tic označených třídou. Rozhodovací strom je struktura podobná vývojovému diagramu, ve které každý vnitřní (nelistový) uzel představuje test atributů, každá větev představuje výsledek testu a každý list (koncový uzel) obsahuje označení třídy. Horní vrchol je kořenový uzel.

Existuje mnoho algoritmů rozhodovacího stromu. Nejpozoruhodnější z nich jsou:

ID3 a CART byly vyvinuty nezávisle a přibližně ve stejnou dobu (mezi lety 1970 a 1980), ale používají podobné přístupy k trénování rozhodovacího stromu z trénovacích n-tic.

Metriky

Algoritmy vytváření rozhodovacího stromu obvykle pracují shora dolů tak, že v každém kroku volí proměnnou, která nejlépe rozdělí sadu prvků [14] . Různé algoritmy používají různé metriky k měření „nejlepšího“ řešení. Obvykle měří homogenitu cílové proměnné na podmnožinách. Některé příklady jsou uvedeny níže. Tyto metriky jsou aplikovány na každou podmnožinu a výsledné hodnoty jsou kombinovány (např. je vypočítán průměr), aby se získala míra kvality oddílu.

Nečistota (kritérium) Gini

Kritérium Gini používané v algoritmu klasifikačního a regresního stromu (CART) je  měřítkem toho, jak často je náhodně vybraný prvek ze sady nesprávně označen, pokud je označen náhodně podle rozložení štítků v podmnožině. Giniho kritérium lze vypočítat sečtením pravděpodobnosti prvku s vybraným štítkem vynásobené pravděpodobností chyby kategorizace pro tento prvek. Kritérium přijímá minimum (nulu), když všechny případy v uzlu spadají do stejné cílové kategorie.

Chcete-li vypočítat Giniho kritérium pro sadu prvků s třídami, předpokládejme, že , a nechť je poměr prvků označených třídou v sadě.

Informační zisk

V algoritmech generování stromu ID3 , C4.5 a C5.0. využívá se informační zisk , který vychází z konceptu entropie a množství informací z teorie informace .

Entropie je definována následovně

,

kde jsou zlomky, které se sčítají do 1, což představuje procento každé třídy získané z rozdělení ve stromu [15] .

já G ( T , A ) ⏞ Informační zisk = H ( T ) ⏞ Entropie (rodič) − H ( T | A ) ⏞ Vážený součet entropie (děti) {\displaystyle \overbrace {IG(T,a)} ^{\text{Information Gain}}=\overbrace {\mathrm {H} (T)} ^{\text{Entropy (rodič)))-\overbrace { \mathrm {H} (T|a)} ^{\text{Vážená suma entropie (děti)}}}

Ve vzorci

Zisk informací se používá k rozhodnutí, kterou vlastnost použít pro rozdělení v každém kroku konstrukce stromu. Jednoduchost je nejlepší volbou, proto chceme, aby byl stromeček malý. K tomu musíme v každém kroku zvolit rozdělení, které vede k nejjednodušším potomkům. Běžně používaná míra jednoduchosti se nazývá informace , která se měří v bitech . Pro každý uzel stromu hodnota informace „představuje očekávané číslo, které je potřeba k určení, zda by měl být nový objekt klasifikován jako ano nebo ne, za předpokladu, že příklad dosáhne tohoto uzlu“ [15] .

Zvažte příklad datové sady se čtyřmi atributy: počasí (slunečno, zataženo, déšť), teplota (horko, mírné, chladné), vlhkost (vysoká, normální) a vítr (ano, ne) s binární cílovou proměnnou (ano nebo ne) . a 14 datových bodů. Abychom vytvořili rozhodovací strom založený na těchto datech, musíme porovnat informační zisk každého ze čtyř stromů, do kterých je rozdělen podle jednoho ze čtyř znaků. Rozdělení s maximálním informačním ziskem se bere jako první rozdělení a proces pokračuje, dokud nejsou všichni potomci prvočíslí nebo dokud není informační zisk nulový.

Výsledkem rozdělení pomocí větru prvku jsou dva podřízené uzly, jeden uzel pro větrný prvek s hodnotou ano a jeden uzel s hodnotou ne . V tomto datovém souboru je šest datových bodů s hodnotou ano pro vítr , tři pro hru s cílovou hodnotou ano a tři s hodnotou ne . Osm zbývajících datových bodů pro parametr vítr s hodnotou ne obsahuje dva ne a šest ano . Informační vítr =ano uzel se vypočítá pomocí rovnice entropie výše. Protože v tomto uzlu je stejný počet ano a ne , máme

Pro uzel s větrem =ne bylo osm datových bodů, šest s cílem ano a dva s ne . Tak máme

Abychom našli informace o rozdělení , vypočítáme vážený průměr těchto dvou čísel na základě počtu pozorování, která spadala do každého uzlu.

(vítr - ano nebo ne)

Abychom našli informační zisk rozdělení pomocí větru , musíme před rozdělením vypočítat informace v datech. Počáteční údaje obsahovaly devět ano a pět ne .

Nyní můžeme vypočítat informační zisk získaný rozdělením podle atributu větru .

(vítr)

K sestavení stromu potřebujeme vypočítat informační zisk každého možného prvního rozdělení. Nejlepší první rozdělení je to, které poskytuje největší informační zisk. Tento proces se opakuje pro každý uzel (se smíšenými funkcemi), dokud není strom sestaven. Tento příklad je převzat z článku Wittena, Franka a Halla [15] .

Snížení rozptylu

Snížení rozptylu uvedené v CART [3] se často používá v případech, kdy je cílová proměnná spojitá (regresní strom), což znamená, že použití mnoha dalších metrik by před aplikací vyžadovalo vzorkování. Redukce rozptylu uzlu N je definována jako celkové snížení rozptylu cílové proměnné x v důsledku rozdělení v tomto uzlu:

,

kde a jsou množina indexů před rozdělením, množina indexů, pro které je test vyhodnocen jako pravdivý, a množina indexů, pro které je test vyhodnocen jako nepravda, v daném pořadí. Každý z výše uvedených výrazů je odhadem velikosti odchylky , i když je zapsán bez přímého odkazu na střední hodnotu.

Aplikace

Výhody

Kromě jiných metod analýzy dat mají rozhodovací stromy řadu výhod:

Omezení

Implementace

Mnoho balíčků pro dolování dat implementuje jeden nebo více algoritmů rozhodovacího stromu.

Příklady jsou Salford Systems CART (která licencovala proprietární kód původních autorů CART) [3] , IBM SPSS Modeler , RapidMiner , SAS Enterprise Miner , Matlab , R (open source software pro statistické výpočty , která zahrnuje několik implementací CART, jako jsou balíčky rpart, party a randomForest), Weka (open source balíček pro dolování dat obsahující mnoho algoritmů rozhodovacího stromu), Orange , KNIME , Microsoft SQL Server [1] a scikit -learn (bezplatná a otevřená knihovna Pythonu pro strojové učení).

Rozšíření

Rozhodovací grafy

V rozhodovacím stromu všechny cesty od kořenového uzlu k listu procházejí spojkou ( AND ). V rozhodovacím grafu je možné pomocí disjunkce ( OR ) kombinovat cesty pomocí zprávy minimální délky ( angl.  Minimum message length , MML) [25] . Rozhodovací grafy jsou dále rozšířeny o rozlišení dříve nepoužívaných atributů, které lze dynamicky trénovat a používat na různých místech grafu [26] . Obecnější schéma kódování vede k lepším předpovědím a výkonu při ztrátě protokolu. Obecně platí, že rozhodovací grafy vytvářejí modely s méně listy než rozhodovací stromy.

Alternativní metody vyhledávání

Evoluční algoritmy byly použity k eliminaci lokálních optimálních řešení a hledání rozhodovacích stromů s menším předchozím zkreslením [27] [28] .

Stromy lze zjednodušit pomocí metody Monte Carlo pro Markovovy řetězce ( Markovův řetězec Monte Carlo , MCMC) [29] . 

Strom lze prohlížet zdola nahoru [30] .

Viz také

Poznámky

  1. Rokach, Maimon, 2008 .
  2. Quinlan, 1986 , str. 81-106.
  3. 1 2 3 4 Breiman, Friedman, Olshen, Kámen, 1984 .
  4. Friedman, 1999 .
  5. Hastie, Tibshirani, Friedman, 2001 .
  6. Breiman, 1996 , s. 123–140.
  7. Rodriguez, Kuncheva, Alonso, 2006 , str. 1619–1630.
  8. Rivest, 1987 , s. 229–246.
  9. Letham, Rudin, McCormick, Madigan, 2015 , str. 1350–1371.
  10. Wang, Rudin, 2015 .
  11. Kass, 1980 , str. 119–127.
  12. 1 2 3 Hothorn, Horník, Zeileis, 2006 , str. 651–674.
  13. 1 2 Strobl, Malley, Tutz, 2009 , str. 323–348.
  14. Rokach, Maimon, 2005 , s. 476–487.
  15. 1 2 3 Witten, Frank, Hall, 2011 , str. 102–103.
  16. 1 2 3 4 5 Gareth, Witten, Hastie, Tibshirani, 2015 , str. 315.
  17. Mehtaa, Raghavan, 2002 , str. 609–623.
  18. Hyafil, Rivest, 1976 , str. 15–17.
  19. Murthy, 1998 .
  20. Ben-Gal, Dana, Shkolnik, Singer, 2014 , str. 133–147.
  21. Bramer, 2007 .
  22. Deng, Runger, Tuv, 2011 , str. 293–300.
  23. Brandmaier, von Oertzen, McArdle, Lindenberger, 2012 , str. 71–86.
  24. Painsky a Rosset, 2017 , str. 2142–2153.
  25. CiteSeerX . Získáno 2. ledna 2019. Archivováno z originálu dne 21. března 2008.
  26. Tan & Dowe (2003) . Staženo 2. ledna 2019. Archivováno z originálu 28. května 2016.
  27. Papagelis, Kalles, 2001 , str. 393–400.
  28. Barros, Basgalupp, Carvalho, Freitas, 2012 , str. 291–312.
  29. Chipman, George, McCulloch, 1998 , str. 935–948.
  30. Barros, Cerri, Jaskowiak, Carvalho, 2011 , str. 450–456.

Literatura

Čtení pro další čtení

Odkazy