Együttes tanulás (Ensemble learning)

Slides:



Advertisements
Hasonló előadás
TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
Advertisements

Becsléselmélet - gyakorlat október 14.. Példa 1 - Feladatgyűjtemény Egy nagyvállalat személyzeti osztályvezetője azt gyanítja, hogy különbség van.
Gazdasági jog IV. Előadás Egyes társasági formák Közkeresleti társaság, betéti társaság.
Hogyan partícionáljuk meghajtónkat?
Póker.
Valószínűségi kísérletek
Muraközy Balázs: Mely vállalatok válnak gazellává?
A kérdőívek, a kérdőívszerkesztés szabályai
Adatbázis normalizálás
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
Leíró statisztika Becslés
Becslés gyakorlat november 3.
Microsoft Office Publisher
Montázs készítése.
Egy üzemben sok gyártósoron gyártanak egy bizonyos elektronikai alkatrészt. Az alkatrészek ellenállását időnként ellenőrzik úgy, hogy egy munkás odamegy.
HÉL (Hasonló értelmű licit)
Észlelés és egyéni döntéshozatal, tanulás
Becsléselmélet - Konzultáció
Technológiai folyamatok optimalizálása
CSOPORT - A minőségellenőrök egy megfelelő csoportja
Struktúra predikció ápr. 6.
Colorianne Reinforce-B
Kockázat és megbízhatóság
Monte Carlo integrálás
Mintavételes eljárások
Rangsorolás tanulása ápr. 13..
Kvantitatív módszerek
A mozgási elektromágneses indukció
Hipotézisvizsgálat.
Statisztika 10 évf. 3 osztály 82 tanuló 9 évf. 4+1 osztály 118 tanuló Minden osztályt külön pedagógus javított 8 fő - részben of, ha vállalta.
Mintavételes eljárások
V. Optimális portfóliók
Gazdaságstatisztika Korreláció- és regressziószámítás II.
Logikai programozás 2..
Tartalékolás 1.
Nyelvek típusossága.
Adatbázis-kezelés (PL/SQL)
Varianciaanalízis- ANOVA (Analyze Of VAriance)
2. Bevezetés A programozásba
Kvantitatív módszerek
Kvantitatív módszerek
A évi pályázati felhívás legfontosabb szabályai
Algoritmusok és Adatszerkezetek I.
Érték-, ár-, volumenindexek
Számítógépes Hálózatok
„Mindegy, hogy képességeid mekkorák, fő, hogy a tőled telhető legjobbat formáld belőlük és általuk.” (Weöres Sándor)
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
Tilk Bence Konzulens: Dr. Horváth Gábor
AVL fák.
Informatikai gyakorlatok 11. évfolyam
A villamos installáció problémái a tűzvédelem szempontjából
Online jegyzőkönyv kitöltési segédlet
A csoportok tanulása, mint a szervezeti tanulás alapja
Gauss-eloszlás illesztése adatokra Maximum Likelihood és Bayes-módszer
Megerősítéses tanulás Mély Q-hálók
Bináris kereső fák Definíció: A bináris kereső fa egy bináris fa,
3(+1) osztályozó a Bayes világból
Algoritmusok és Adatszerkezetek I.
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Matematika 11.évf. 1-2.alkalom
Binomiális fák elmélete
Scool-Túra Kft Miskolc Széchenyi út 36.
Munkagazdaságtani feladatok
Megerősítéses tanulás Mély Q-hálók
Mesterséges neuronhálók és alkalmazásaik
Együttes tanulás (Ensemble learning)
Megerősítéses tanulás Mély Q-hálók
Algoritmusok.
Hipotéziselmélet Adatelemzés.
Mintavételes eljárások
Előadás másolata:

Együttes tanulás (Ensemble learning)

Alapötlet Concordet tétele (1785): tegyük fel, hogy emberek egy csoportjának két lehetőség között kell döntenie (melyek közül egy helyes). Tfh. a szavazataik függetlenek, és p valószínűséggel helyesek. A szavazatokat többségi alapon összesítjük. Jelölje M annak a valószínűségét, hogy a többségi alapon hozott döntés helyes. A tétel azt mondja ki, hogy ha p>0.5, akkor M1 ha a szavazatok száma végtelenhez tart. Ez azt jelenti, hogy tömeg okosabb mint az egyének viszonylag enyhe feltételek mellett is Az egyes egyéneknek p>0.5 eséllyel kell helyesen dönteniük (a véletlen tippelésnél jobbnak kell lenniük) Egymástól függetlenül kell tippelniük Rendben, de hogy lehet ezt használni a gépi tanulásban?

Erős és gyenge tanulók “Strong learner”: Egyetlen osztályozó tanulására törekszünk, és azt szeretnénk, ha ennek a hibáját tetszőleges kicsire lehetne csökkenteni Az eddigi módszereknél mindig erre törekedtünk “Weak learner”: olyan osztályozó, ami épp csak jobb hatásfokú a véletlen találgatásnál Most csak ez lesz az egyetlen feltevésünk Együttes tanulás: egytlen erős osztályozó helyett, egy csomó gyenge osztályozót csinálunk, majd ezek kimentét egyesítjük egyetlen végső döntéssé Concordet tétele szerint bizonyos feltételek teljesülése esetén az egyesített modell is tesztőlegesen kicsi hibát érhet el Miközben sok-sok gyenge tanulót előállítani remélhetőleg könnyebb feladat, mint egyetlen erőset

Együttes tanulás – általános séma

Feltételek Ugyanazt az osztályozót ugyanazon az adaton betanítva ugyanazt az eredményt kapjuk a legtöbb gépi tanulási algoritmus esetén Kivéve azon algoritmusokat, amelyekben valami véletlenszerűség van Az így kapott osztályozókat semmi értelme kombinálni Az osztályozók kombinálása akkor működik a legjobban, ha Az osztályozók különféle eredményeket adnak ugyanazon az inputon Az osztályozók függetlenek (vagy legalább részben függetlenek) Minden osztályozónak van valami egyedi vagy “lokális” tudása Pl. eltérő (vagy legalább részben eltérő) adatokon voltak tanítva Emellett szükségünk lesz még valamilyen formalizmusra az osztályozók kimenetének kombinálására (aggregálására)

Eltérő osztályozók - Hogyan? Kombinálhatunk különböző tanulóalgoritmusokat (“hybridization”) Pl. taníthatunk egy GMM-et, SVM-et, k-NN-et,… ugyanazon az adaton, majd ezek kimenetét kombináljuk Kombinálhatjuk ugyanazon algoritmus kimenetét ugyanazon az adaton többször egymásután betanítva Csak akkor működik, ha az algoritmusban van valami véletlenszerű Pl.: neuronhálók eltérő random incializálással tanítva Kombinálhatjuk ugyanazon algoritmus kimenetét a tanítóadatok eltérő részhalmazain többször egymásután betanítva Vagy taníthatjuk őket a jellemők különböző részhalmazain Esetleg az osztályok részhalmazain (sok osztályos feladat esetén) Bizonyos algoritmusok esetén használhatjuk ugyanazt az algoritmust ugyanazokon a példákon, de a példákat eltérően súlyozva

Döntési fák randomizálása A döntési fák nagyon népszerűek az együttes tanuláson alapuló módszerek körében A (kicsi) döntési fák nem igazán hatékony tanulók De a tanításuk gyors és egyszerű, ezért könnyű létrehozni egy együttes tanulót sok-sok (kis) döntési fa kombinálásával A döntési fa algoritmusa determinisztikus, hogyan módosíthatjuk, hogy többször futtatva eltérő eredményeket adjon? Adatrandomizálás – a fákat a példák eltérő részhalmazain tanítjuk “Random altér” módszer – a fák tanítsa során a jellemzők eltérő részhalmazait használjuk Algoritmus randomizálása – Az egyes csúcsokban a legjobb attributum helyett véletlenszerűen választunk a K legjobb attributumból

Aggregálási módszerek Az osztályozók kimeneteit többféle módon kombinálhatjuk (aggregálhatjuk) Ha a kimenet osztálycímke: Többségi szavazás Súlyozott többségi szavazás (pl. az egyes osztályo- zókat a megbízhatóságuk szerint súlyozzuk (amit persze me kell valahogy becsülni…) Ha a kimenetek számok (pl. valószínűségi becslések minden ci osztályhoz): A dj kimenti értékeknek vehetjük a (súlyozott átlagát), szorzatát, minimumát, maximumát, … Stacking A fenti egyszerűs aggregációs szabályok helyett, betaníthatunk egy újabb osztályozót az alap osztályozók kimenetén

Együttes tanuláson alapuló módszerek Az osztályozók kombinálása egy általános alapelv, amit bármely feladat, és osztályozók bármilyen eltérő halmaza esetén bevethetünk (az eltérőség garantálására ez előbb láttunk módszereket) De ma azokról a módszerekről lesz szó, amelyeket direkt az együttes tanulási elv kihasználására hoztak létre Ezek először létrehoznak egy csomó alap tanulót (“base learners”) Ezek lehetnek gyenge tanulók is, mivel az egyesítéstől várjuk, hogy felfokozza a hatékonyságot Ezért jó sok ilyen alap tanulót hozunk létre Arra fogunk törekedni, hogy ezek különbözőek legyenek, sőt, a jobb algoritmusok esetében kijavítsák egymás hibáit A kombinálásuk során maximális osztálozási pontosságra törekszünk Ezeket a módszereket fogjuk megnézni: Bagging, Boosting, AdaBoost, Random Forests

Bagging Bagging = Bootstrap + aggregating Ún. “bootstrap resampling” eljárással az eredeti példahalmazból L különböző példahalmazt generálunk Az L példahalmazon L különböző alap tanulót tanítunk be A kiértékelés során az L tanulóalgoritmust (egyenlő súlyozású) átlagolással, esetleg többségi szavazással kombináljuk A tanulóalgoritmusok sokféleségét sehogy sem szabályozzuk, a véletlenszerűségre, illetve az alap tanulók instabilitására bízzuk Az egyesített modell majdnem mindig jobb lesz, mint ez egyes alap tanulók külön-külön, ha az alap tanulók instabilak (ennek definíciója, hogy a tanítópéldákon végzet kicsi változtatás nagy különbséget eredményezhet a tanulás kimenetében)

Bootstrap resampling Tfh. van egy tanítóhalmazunk n példával Ebből szeretnénk L különböző tanító példahalmazt kreálni A “bootstrap” újramintavételezési módszer véletlenszerűen húz példákat az eredeti halmazból, visszatevést is megengedve A véletlenszerűség azért kell, hogy L menetben L különböző példahalmazt kaphassunk A visszatevést azért kell megengedni, hogy akár n méretű halmazokat is tudjunk kreálni az n méretű eredeti halmazból Mivel az L tanítóhalmaz eltérő, az ezeken tanított osztályozók is többé-kevésbé eltérőek lesznek, akármilyen algoritmust is használunk De instabil tanulókkal ez jobban működik (pl. neuronhálók, döntési fák) Stabil tanulókkal kevésbé (pl. k-NN, SVM)

Bagging - Összegzés

Random Forests – egy együttes módszer döntési fákhoz Input: training data set Sn, T, m

Boosting 1 A bagging az alap tanulók sokféleségét a tanítópéldák véletlenszerű újramintavételezésével garantáltuk Ez azoban ez nem ad elvi biztosítékot arra, hogy az eltérő tanulók tényleg segítenek egymásnak Jobb eredményt kaphatnánk, ha valahogy törekednénk arra, hogy az egyes tanulók kiegészítsék egymást Például a minta különböző részhalmazain legyenek “szakértők” Azaz más-más részhalmazokon más-más tanulók működjenek jobban A boosting módszer alapötlete, hogy a tanulóknak egy olyan sorozatát állítsuk elő, amelyek kiegészítik egymás tudását E célből minden egyes tanulót arra fogunk késztetni, hogy az előző tanuló hibáit próbálja kijavítani

Boosting 2 Minden egyes példához egy súlyt fogunk rendelni, amely a példa fontosságát reprezentálja korrekt osztályozás  csökkentjük a súlyt félreosztályozás  növeljük a súlyt A súlyok az algoritmust kétféleképp befolyásolhatják Boosting by sampling: a súlyok az újramintavételezésnél számítanak Ez az általánosabban használható megoldás Boosting by weighting: a súlyok a tanulóalgoritmust befolyásolják Ez csak bizonyos tanulóalgoritmusokkal működik Boosting esetén az aggregálás is kifinomultabb, mint bagging-nél: az alap tanulók kimenetét súlyozott összegzéssel egyesítjük A pontosabb tanulók nagyobb súlyt kapnak Iteratívan újabb és újabb alap tanulókat veszünk fel, így iteratívan növeljük a kombinált modell pontosságát

AdaBoost (Adaptive Boosting) Egyforma súlyokkal kezdünk Random resampling Becsült címkék kiszámítása A hiba az elrotnott példák súlyozott összege Nem gyenge tanuló, megállunk Súlyok változtatása Súlyok újranormalizálása Az osztályozók súlyozott egyesítése

Példa Két osztály 5-5 tanítópéldával Két folytonos jellemző Íme tanítópéldák egy lehetséges jó megoldással (döntési felülettel): Alap tanulóként 1 mélységű döntési fákat fogunk használni Ezek neve “decision stump” Folytonos jellemzők esetén tengelyekkel párhuzamos egyeneseknek felelnek meg: A kimenet 1 az egyik oldalon, -1 a másikon

Inicializálás + első iteráció A súlyokat egyenlőre inicializáljukD1 Betanítjuk az első stumpot, kiszámoljuk a hibáját és kombinációs súlyát Az elrontott minták súlyát növeljük  az új eloszlás D2

Második iteráció A D2 eloszlás alapján új mintavételezést végzünk Betanítjuk a második stumpot, kiszámoljuk a hibáját és kombinációs súlyát Az elrontott minták súlyát növeljük  az új eloszlás D3

Harmadik iteráció A D3 eloszlás alapján új mintavételezést végzünk Megállunk, mivel az egyesített modell hibája 0

A végleges osztályozó előállítása A 3 stumpot kombinálni kell a súlyaik alapján

Az együttes osztályozó A 3 stumpot kombinálni kell a súlyaik alapján

Az együttes tanulók torzítása és varianciája Bagging: Elméleti és gyakorlati eredmények is igazolják, hogy a bagging csökkenti a hiba variancia részét A variancia hatékony csökkentése az oka például annak, hogy a Random Forest módszerben nem érdemes az egyes döntési fákat visszametszeni AdaBoost: a gyakorlati eredményekből úgy tűnik, hogy az AdaBoost módszernél az alap tanulók hibájának mind a bias, mind a variancia komponense csökken. A bias leginkább a korai iterációkban, a variancia pedig a későbbieken.