1 / 15

Rozhodovac í stromy

Rozhodovac í stromy. Rozhodovací stromy. mnohoúrovňový systém třídy jsou postupně zamítány, dokud nedosáhneme přijatelné třídy na konci dosáhneme stavu, kdy příznakový prostor je sekvenčně rozdělen do oblastí , které odpovídají jednotlivým třídám

hazina
Télécharger la présentation

Rozhodovac í stromy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rozhodovací stromy

  2. Rozhodovací stromy • mnohoúrovňový systém • třídy jsou postupně zamítány, dokud nedosáhneme přijatelné třídy • na konci dosáhneme stavu, kdy příznakový prostor je sekvenčně rozdělen do oblastí, které odpovídají jednotlivým třídám • pro předložený „neznámý“ příznakový vektor, hledáme oblast, kam bude vektor zařazen pomocí posloupnosti rozhodnutí ve stromové struktuře • stromové schéma je výhodné pro velké množství tříd • nejpopulárnější jsou obecné binární rozhodovací stromy (OBCT = ordinary binary classification trees) • rozdělují prostor do mnohoúhelníků, které mají strany rovnoběžné s osami • posloupnost rozhodnutí je aplikována na jednotlivé příznaky • rozhodování probíhá podle dotazů ve tvaru „je příznak xi≤α?“

  3. Binární klasifikační stromy – ilustrační příklad • postupným dělením prostoru vytvoříme oblasti, které odpovídají jednotlivým třídám: • odpovídající binární strom:

  4. Binární klasifikační stromy – ilustrační příklad • úloha rozděluje 2-dimenzionální prostor • prahy, které určují „řezy“ v jednotlivých uzlech stromu, byly zjištěny pozorováním problému => tento postup není možné použít pro vyšší dimenze • odpovídající binární strom může klasifikovat vektor, aniž by testoval všechny příznaky klasifikace provedena jen základě hodnoty prvního příznaku

  5. Binární klasifikační stromy – vlastnosti • během trénovací fáze (výstavba stromu) musíme brát v úvahu • každý uzel t má svoji trénovací množinu Xt (Xt⊆ X) • kořen stromu pracuje s celou trénovací množinou X • v každém uzlu máme k dispozici množinu dotazů • každý dotaz odpovídá dělení uzlu do 2 synovských uzlů • dělení uzlu je ekvivalentní dělení Xt do dvou disjunktních podmnožin XtY a XtN • v XtY jsou vektory z Xt, na které jsme odpověděli „Yes“ pomocí dotazu v uzlu t • v XtN jsou vektory z Xt, na které jsme odpověděli „No“ pomocí dotazu v uzlu t • pro každé dělení platí: XtY ∩XtN= ø XtY ∪XtN= Xt • dělící kritérium musí být takové, aby vybralo nejlepší dělení z množiny kandidátů • ukončovací podmínka definuje, kdy bude uzel listem (a tedy nedojde k dělení uzlu) • určuje výšku stromu • ke každému listu je přiřazena jeho třída

  6. x2 α21 x1 α11 α12 Binární klasifikační stromy – množina dotazů • pro OBCT stromy jsou dotazy ve tvaru „ je příznak xi≤ α?“ • všechny možné prahovéhodnoty α daného příznaku xi definují dělení množiny Xt • teorie: když se α mění v intervalu Yα⊆ R => je nutné položit nekonečně dotazů • praxe: uvažujeme jen konečně dotazů • počet trénovacích vzorů v X je konečný (označme ho N) • libovolný příznak xk (k=1,...,l) může nabývat nejvýše Nt ≤ N různých hodnot (Nt je kardinalita množiny Xt⊆ X) • pro příznak xk můžeme použít prahové hodnoty αkn pro n=1,..., Ntk (Ntk ≤ Nt) kde αkn je prostřední hodnota mezi dvěma sousedními hodnotami xk v trénovací množině X => celkový počet možných dotazů v uzlu t je: - podle dělícího kritéria se v uzlu t vybere dotaz, který vede k nejlepšímu dělení množiny Xt v uzlu t

  7. Binární klasifikační stromy – dělící kritérium • binární dělení uzlu t • vytvoří se dva synovské uzly tY a tN podle odpovědi „Yes“/„No“ na dotaz v uzlu t • synům přísluší podmnožiny XtY a XtN • podle stromové struktury (od kořene k listu) každé dělení uzlu t musí vytvořit podmnožiny XtY a XtN, které jsou „více třídově homogenní“ než množina Xt v uzlu t • trénovací vzory v každé z nových podmnožin mají „vyšší preference pro danou třídu“ • trénovací data v Xt jsou stejnoměrněji distribuované mezi různými třídami • příklad: • uvažujme 4 třídy a nechť vektory v Xt jsou rozděleny mezi třídy se stejnou pravděpodobností • když uzel t rozdělíme tak, že body z ω1 a ω2 vytvoří podmnožinu XtY a body z ω3 a ω4 vytvoří podmnožinu XtN => nové podmnožiny jsou více homogenní než Xt ... „čistší“ ve stromovém rozhodování • cíl: • definovat míru, která určí „nečistotu“ uzlu • rozdělit uzel tak, aby celková „nečistota“ synů byla nižší ve srovnání s „nečistotou“ otce

  8. Binární klasifikační stromy – dělící kritérium • „nečistota“ uzlu: kde P(ωi|t) je pravděpodobnost, že vektor z množiny Xt uzlu t spadne do třídy ωi (i=1,...,c) • definice odpovídá entropii spojené s množinou Xt (Shannonova teorie informace) • lze ukázat: • I(t) nabývá maxima, když všechny pravděpodobnosti jsou stejné 1/c ... největší „nečistota“ • I(t) se blíží k 0, když pro jednu třídu platí P(ωi|t) =1 a pro ostatní je pravděpodobnosti nulová ... nejmenší „nečistota“ • v praxi pravděpodobnost odhadneme příslušnými poměry Nti / Nt • Ntije počet vzorů v Xt, které padnou do třídy ωi 0∙log20 = 0

  9. Binární klasifikační stromy – dělící kritérium • po rozdělení uzlu do 2 synů: • NtY vzorů přísluší odpovědi „Yes“ (množina XtY) • NtN vzorů přísluší odpovědi „No“ (množina XtN) • pokles „nečistoty“ uzlu je dán: • kde I(tY) a I(tN) jsou „nečistoty“ uzlů tY a tN • cíl: • podle dané množiny vytvořit dotaz, který rozdělí uzel tak, aby došlo k největšímu poklesu „nečistoty“

  10. Binární klasifikační stromy – ukončovací podmínka • kdy ukončit dělení uzlu a prohlásit uzel za list? • použít prahovou hodnotu T • uzel t nebude dělen, když maximum ∆I(t) přes všechny případné dělení uzlu t je menší než T • použít velikost Xt • uzel t nebude dělen, když kardinalita množiny Xt je dostatečně malá • použít „čistotu“ množiny Xt • uzel t nebude dělen, když množina Xt je „čistá“ (tj. ideálně všechny body patří k jediné třídě)

  11. Binární klasifikační stromy – přiřazení listu ke třídě • když uzel prohlásíme za list => list dostane „značku“ třídy • nejčastěji používané pravidlo: • list t dostane značku třídy ωi když • tedy list t dostane značku podle nejvíce zastoupené třídy v Xt

  12. Binární klasifikační stromy – algoritmus na vytvoření stromu • začneme s kořenem Xt= X • pro každý nový uzel t • pro každý příznak xk (k=1,...,l) • pro každou hodnotu αkn (n=1,...,Ntk) • generujeme XtY a XtN podle dotazu „je xk(i) ≤ αkn?“ pro i=1,...,Nt • spočteme pokles „nečistoty“ • end • vyberemeαkn0 , které vede k největšímu poklesu (s ohledem na příznak xk) • end • vybereme xk0 a příslušné αk0n0 , které vede k největšímu celkovému poklesu „nečistoty“ • když je splněno ukončovací kritérium => uzel tse stane listem a určime jeho třídu • když není splněno ukončovací kritérium => uzel tdělíme na 2 syny tY a tN s příslušnými množinami XtY a XtN podle dotazu „je xk0 ≤αk0n0?“ • end

  13. Binární klasifikační stromy – poznámky • kritickým faktorem je velikost stromu • podobně jako u vícevrstvých perceptronů velikost stromu musí být dostatečně velká ale ne příliš velká (jinak nedojde k dobré generalizaci) • pokusy ukázaly, že použití prahové hodnoty jako ukončovací podmínky pro pokles „nečistoty“ nevede ke stromům se správnou velikostí • buď dělení skončí příliš brzy nebo příliš pozdě • v praxi se často nechá vystavět velký strom a pak se použijí metody, které jej prořezají • zatím jsme pracovali s obyčejnými binárními klasifikačními stromy • lze zobecnit • budeme dělit prostor pomocí nadrovin, které nejsou rovnoběžné s osami • dotazy budou mít tvar: „ je ∑ckxk ≤α ?“ • dojde k lepšímu dělení příznakového prostoru

  14. Binární klasifikační stromy – příklad • nechť Xt u uzlu t má Nt= 10 vzorů • 4 patří do třídy ω1 • 4 patří do třídy ω2 • 2 patří do třídy ω3 • rozdělením uzlu t dostaneme množiny XtY a XtN • XtY má vzory: • 3 vzory z ω1 • 1 vzory z ω2 • XtN má vzory: • 1 vzory z ω1 • 3 vzory z ω2 • 2 vzory z ω3 • spočtěte pokles „čistoty“ pro toto dělení uzlu

  15. Binární klasifikační stromy – řešení příkladu • XtN: • 1 vzory z ω1 • 3 vzory z ω2 • 2 vzory z ω3 • zadání • Xt : • 4 vzory z ω1 • 4 vzory z ω2 • 2 vzory z ω3 • řešení • XtY: • 3 vzory z ω1 • 1 vzory z ω2

More Related