Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 1/31 Vytěžování znalostí z dat Pavel Kordík Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Přednáška 11: Kombinování modelů BI-VZD, 09/2011 MI-POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 2/31 Princip kombinování modelů Princip kombinování modelů Skupina modelů(např. rozhodovacích stromů) se naučí na stejný (podobný) úkol. Výstupy naučených modelů se kombinují. Vstupní proměnné Model 1 Model 2 Model 3 Model N Výstupní proměnná Kombinace Výstupní proměnná Skupinový (ensemble) výstup
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 3/31 Princip kombinování modelů Různorodost ensemble modelů Co se stane, když budou všechny modely totožné? =>Degradace na jeden model. Jak zajistíme, aby byly modely různorodé? Různé množiny trénovacích dat (počáteční podmínky) Různé metody konstrukce modelů Jak se dá měřit různorodost modelů? Odchylky výstupů na jednotlivých testovacích datech. Strukturální odlišnosti
Princip kombinování modelů Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 4/31 Funguje to vůbec? Chceme zjistit, za jakých předpokladů se vyplatí modely kombinovat. Zajímá nás proč ensembling funguje. Potřebujeme k tomu analyzovat, čím je chyba modelů způsobena
Dekompozice bias/variance Dekompozicebias/variance Chybu modelu můžeme rozložit na 3 složky: E{E y x {(y-ŷ(x))^2}}=noise(x)+bias 2 (x)+variance(x) Šum(x)= E y x {(y-h B (x)) 2 } Kvantifikuje odchylku výstupu y od optimálního modelu h B (x) = E y x {y}. Bias 2 (x)= (h B (x)-e LS {ŷ(x)}) 2 : Chyba průměrného modelu vzhledem k optimálnímu. Variance(x)= E LS {(ŷ(x)-e LS {ŷ(x)) 2 } : Jak moc se predikceŷ(x)liší pro různé učící množiny LS. Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 5/31
Dekompozice bias/variance Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 6/31 Příklad (1) Najděte algoritmus produkující co nejlepší modely pro následující data: y x
Dekompozice bias/variance Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 7/31 Příklad (2) Optimální model: Vstup x, náhodná proměnná rovnoměrně rozložená v intervalu [0,1] y=h(x)+ε, kde ε N(0,1) je Bayesovský model y a šum y h(x)=e y x {y} x
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 8/31 Dekompozice bias/variance Příklad algoritmus lineární regrese Modely mají malý rozptyl (variance), ale velké zaujetí (bias) nedoučení E LS {ŷ(x)}
Dekompozice bias/variance Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 9/31 Příklad algoritmus RBFN s počtem neuronů = mohutnost LS Nízké zaujetí (bias), velký rozptyl (variance) modelů přeučení E LS {ŷ(x)}
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 10/31 Dekompozice bias/variance Zpět ke kombinování modelů Co se stane, když naučím 2 jednoduché modely na různých podmnožinách LS? y y=f1(x) y=f2(x) y= f1(x)+f2(x) 2 x
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 11/31 Dekompozice bias/variance Ensembling snižujevarianci Trénovací data pro model 1 ensemble model Trénovací data pro model 2
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 12/31 Dekompozice bias/variance Ensemblingsnižujebias model 2 model 1 ensemble model
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 13/31 Dekompozice bias/variance Tedy:
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 14/31 Dekompozice bias/variance Podobně pro klasifikaci? model 1 model 2 model 3 ensemble model třída 1 třída 1 a třída 2 b třída 2 hranice tříd Obrázky z TCD AI Course, 2005 Snižuje se bias nebo variance?
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 15/31 Dekompozice bias/variance Jaké modely kombinovat? Co se stane, když zkombinují optimálně naučené modely? model 3 model 2 model 1 ensemble model Výhodně se dají kombinovat jednoduché modely (tzv. weaklearners). redukujeme bias Modely musí být různorodé! Musejí vykazovat různé chyby na jednotlivých trénovacích vzorech. redukujeme varianci
Populární ensemble metody Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 16/31 Populární ensemble metody Bagging (Bootstrap Aggregating) omodely naučím nezávisle a jednoduše zkombinuji jejich výstup Boosting omodely se učí sekvenčně, trénovací data jsou závislá na chybách předchozích modelů Stacking omodely se učí nezávisle, kombinují naučením speciálního modelu
Bagging Bagging Myšlenka:průměrný modele LS {ŷ(x)} má stejný biasjako původní metoda, ale nulovou varianci Bagging(Bootstrap AGGregatING): o K vypočteníe LS {ŷ(x)}, potřebujeme nekonečně mnoho skupin LS(velikosti N) o Máme však jen jednu skupinuls, musíme si sami nějak pomoc Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 17/31
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 18/31 Bagging Bootstrapping: trocha historie Rudolf Raspe, Baron Munchausen s Narrative of his Marvellous Travels and Campaings in Russia, 1785 He hauls himself and his horse out of the mud by lifting himself by his own hair. This term was also used to refer to doing something on your own, without the use of external help since 1860s Since 1950s it refers to the procedure of getting a computer to start (to boot, to reboot)
Bagging Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 19/31 X=(3.12, 0, 1.57, 19.67, 0.22, 2.20) Mean=4.46 Co je Bootstrap? X1=(1.57,0.22,19.67, 0,0,2.2,3.12) Mean=4.13 X2=(0, 2.20, 2.20, 2.20, 19.67, 1.57) Mean=4.64 X3=(0.22, 3.12,1.57, 3.12, 2.20, 0.22) Mean=1.74 statistika: odhad intervalu spolehlivosti
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 20/31 Bagging Příkladbootstrap (Opitz, 1999) Trénovací vzory 1 2 3 4 5 6 7 8 vzorek 1 2 7 8 3 7 6 3 1 vzorek 2 7 8 5 6 4 2 7 1 vzorek M 4 5 1 4 6 4 3 8
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 21/31 Bagging Bagging LS LS 1 LS 2 LS T x ŷ 1 (x) ŷ 2 (x) ŷ T (x) Pro regresi: ŷ(x) = 1/k * (ŷ 1 (x)+ŷ 2 (x)+ +ŷ T (x)) Pro klasifikaci: ŷ(x) = majoritní třída z {ŷ 1 (x),,ŷ T (x)}
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 22/31 Bagging Bagging(Bootstrapagregating) Výběrem s opakovánímutvořte M trénovacích souborů o nvzorech (místo jednoho původního souboru o n vzorech). Postavte model pro každý trénovací soubor. Zkombinujte modely. Bootstrap samples! výběr s opakováním vzorek 1 trénovací algoritmus Model 1 průměrování nebo hlasování Trénovací data vzorek 2 trénovací algoritmus Model 2 Ensemble model výstup... vzorek M trénovací algoritmus Model M vynálezce: Breiman (1996)
Bagging Náhodné (rozhodovací) lesy randomforests K bagginguse ještě přidá to, že náhodně vybíráme podmnožinu vstupních atributů Tedy: Postav rozhodovací strom z bootstrap vzorku Najdi best split mezi náhodnou podmnožinoukatributů, ne mezi všemi jako normálně (= bagging, když k je rovno počtu attributů) Odhadnete vliv k? Menší k redukuje varianci a zvyšuje bias Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 23/31
Boosting Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 24/31 Boosting Iterativní procedura adaptivně měnící rozložení učicích dat zvýrazňujíce špatně klasifikované vzory Používá se zejména ke kombinaci slabých modelů (weak learners), které mají velké zaujetí Výrazně redukuje bias náchylnost k přeučení
Boosting Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 25/31 LS Boosting (2) LS 1 LS 2 LS T x ŷ 1 (x) ŷ 2 (x) ŷ T (x) Pro regresi: ŷ(x) = β 1 *ŷ 1 (x)+ β 2 *ŷ 2 (x)+ + β T *ŷ T (x)) Pro klasifikaci: ŷ(x) = majorita tříd z {ŷ 1 (x),,ŷ T (x)} s použitím vah {β 1,β 2,,β T }
Boosting Algoritmus AdaBoost Při inicializaci jsou váhy vzorů stejné, puntíky mají stejnou velikost. Vzory se mají klasifikovat do modré a červené třídy. Po 1. iteraci AdaBoostu rostou váhy špatně klasifikovaných vzorů na pomezí tříd 3. iterace Po naučení 20 klasifikátorů jsou váhy vzorů mimo hranici tříd téměř nulové (nejsou vybírány do trénovací množiny) fromelder, John. From Trees to Forests and Rule Sets -A Unified Overview of Ensemble Methods. 2007. Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 26/31
Stacking Stacking Používá meta model pro kombinaci výstupů ensemble modelů (oproti jednoduchému průměrování,nebohlasování) o Výstupy ensemble modelů jsou použity jako trénovací data pro meta model Ensemblemodelyjsouvětšinounaučenyrůznými algoritmy Teoretická analýza stackingu je obtížná, jedná se o blackmagic Slide from Ensembles of Classifiers by Evgueni Smirnov Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 27/31
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 28/31 Argumenty proti kombinování modelů? Argumenty proti kombinování modelů? Okamova břitva v jednoduchosti je síla o Je lepší mít jednoduchý optimální model, než kombinaci mnoha modelů o ale jak najít optimálnímodel? o Domingos, P. Occam s two razors: the sharp and the blunt. KDD 1998. Kombinováním modelů se často kamufluje nedokonalost metod produkujících nedoučené nebo přeučené modely Kombinováním dostanu model s horšími výsledky na testovacích datech, než mají kombinované modely
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 29/31 Argumenty proti kombinování modelů? Argumenty pro kombinování Většinou zlepším výsledky na testovacích datech Algoritmy jsou implicitně nastaveny, je třeba experimentovat s jejich konfigurací, aby produkované modely byly optimální konkrétních datech Dostanu povědomí o jistotě modelu když se pro jeden vstupní vektor jednotlivé modely hodně liší, zřejmě jsme mimo oblast trénovacích dat Netflix prize
Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 30/31 Příklady použití ensemble metod Otázky Jakou novou informaci získáme použitím skupiny modelů oproti použití pouze jednoho modelu? Může ensemble zpřesnit předpověď, pro jaké modely? Jaké jsou nevýhody ensemble předpovědi?
Další vylepšení Pavel Kordík (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 11 31/31 Další vylepšení Hierarchické kombinování modelů Meta-learning templates Šlechtění topologie ensemblu na konkrétních datech více v MI-MVI