sličica|Razlika v procesu ločevanja med učenjem ansamblov ter ostalimi metodami strojnega učenja
Ansambelsko učenje () je v strojnem učenju pristop, v katerem se za reševanje določene naloge (najpogosteje klasifikacije ali regresije) namesto enega samega modela uporabi več različnih modelov (imenovanih tudi osnovni modeli, angl. base learners). Z načrtnim ustvarjanjem in kombiniranjem osnovnih modelov se lahko doseže boljša napovedna zmogljivost, kot bi jo dosegel katerikoli od osnovnih modelov posamično. Priljubljena metafora, ki ponazarja princip delovanja metod ansambelskega učenja, je »glas ljudstva« v kvizu Lepo je biti milijonar.
Oblikovanje ansambla več modelov je običajno bolj učinkovito kot implementacija napovednega modela superiorne zmogljivosti, kadar osnovni modeli v ansamblu zadovoljijo določene pogoje. Pri tem sta bistveni pravilna kombinacija izhodnih podatkov posameznih modelov tako, da se pravilne odločitve ojači oz. nepravilne izloči, ter raznovrstnost ansambla. Nekatere izmed najbolj pogostih tehnik ustvarjanja ansamblov (bagging in boosting) delujejo na osnovi prerazporejanja učnih podatkov, druge pa se zanašajo na spreminjanje izhodnih podatkov ali selekcioniranja parametrov vhodnih podatkov.
Za optimalno delovanje ansambelskih metod je pomemben tudi način združevanja napovedi osnovnih modelov. Pri nalogah klasifikacije se za združevanje napovedi najpogosteje uporabljajo različne metode glasovanja, za naloge regresije pa različne oblike povprečenja. Ansambelske metode se uporabljajo tudi za napovedovanje strukturiranih vrednosti.
Ansambelsko učenje se uporablja na številnih področjih, kjer je potrebna ocena zanesljivosti napovedi (npr. finančno odločanje, medicinska diagnostika) ali kadar lahko boljšo napovedno natančnost dosežemo z združitvijo podatkov iz različnih virov, ki terjajo uporabo različnih osnovnih modelov.
Sestavljanje ansambla
Med procesom ansambelskega učenja se za reševanje iste naloge uči dva ali več osnovnih modelov. Osnovni modeli se lahko učijo s pomočjo enotnega algoritma (z različnimi parametri, na različnih učnih množicah) ali pa tudi s pomočjo več različnih algoritmov.
Bistvenega pomena je sestaviti raznolik nabor osnovnih modelov za reševaje iste naloge, tako da osnovni modeli posamično kažejo slabo napovedno sposobnost (t.j. pristranost, preveliko poenostavitev problema), a so obenem med seboj raznoliki (t.j. imajo visoko varianco med napovedi). Ti šibki modeli sami po sebi ne bi dosegli zadovoljivih rezultatov, vendar njihova kombinacija (povprečenje, glasovanje ali uteženo združevanje) izhode posameznih osnovnih modelov združi tako, da nastane en sam, visoko zmogljiv, natančen in nizko-variabilen model, ki ustreza zahtevani nalogi. Z ustrezno kombinacijo sicer nepopolnih modelov lahko bistveno zmanjšamo končno napako pri napovedih.
Spodnja ilustracija ponazarja ta koncept na primeru klasifikacije podatkovnih točk na podlagi dveh značilk ponazorjenih na x- in y-osi v tri razrede, ki so ponazorjeni s krožci, kvadratki in trikotniki. Vsak model (klasifikator), ki je bil naučen na različnih podmnožicah učnih podatkov (podatki, ki so bili vključeni v posamezno učeno množico so označeni z odebeljeno obrobo) dela različne napake (podatki označeni z rdečo barvo so zunaj območja, ki ga določijo odločitvene meje prikazane s črtkanimi črtami). Kombinacija danih modelov zagotavlja boljšo klasifikacijo kot posamezni modeli (pri skupni odločitveni meji prikazani s polno črto je največ podatkov znotraj pravilnega območja).
400px|sličica|sredina|Združevanje več nepopolnih klasifikatorjev empirično vodi k zmanjšanju skupne napake pri klasifikaciji
Uspeh ansambla si lahko opredelimo kot njegovo zmožnost popravljanja napak posameznih modelov. To je v veliki meri odvisno od raznolikosti modelov, ki sestavljajo ansambel. Večja kot je raznolikost, boljše so možnosti, da bodo slabe odločitve preglasovane.
Zagotavljanje raznolikosti Da bi zagotovili raznolikost morajo modeli znotraj ansambla delati različne napake na različnih instancah. Raznolikost je možno doseči na več načinov.
Najbolj razširjena metoda je uporaba različnih podatkovnih naborov za učenje posameznih klasifikatorjev. Tovrstni nabori so pogosto pridobljeni s pomočjo tehnik vzorčenja, kot na primer bootstraping ali bagging. Nabori podatkov za učenje so izbrani naključno iz celotnega nabora podatkov z ali brez ponavljanja.
Poleg tega nastavljanje parametrov učenja omogoča nadziranje (ne)stabilnosti posameznih klasifikatorjev (stabilnost je definirana kot konsekventnost odločitev klasifikatorja) in tako pripomore k raznolikosti. Šibki klasifikatorji so pogosto uporabljeni kot bazični klasifikatorji, saj tudi za najmanjše spremembe pri vhodnih podatkih pridejo do drugačnih zaključkov. V ansambel tako lahko združimo po funkcionalnosti sicer popolnoma enakih večplastnih perceptronov, z različnimi začetnimi utežmi, številom plasti, itd.
Alternativen pristop je uporaba popolnoma različnih tipov klasifikatorjev, kot na primer kombinacija perceptronov, odločitvneih dreves, metoda podpornih vektorjev.
Podoben efekt ima tudi uporaba različnih značilnosti ali različnih naborov značilnosti. Najbolj znan primer tega pristopa je metoda naključnih dreves.
Pomembni ansambelski modeli
Učenje ansamblov pa je možno z uporabo različnih strategij, kot so uporaba različnih podmnožic podatkov pri učenju, spreminjanje parametrov osnovnih modelov ali uporaba različnih podmnožic značilk. Sledi pregled nekaterih pomembnejših metod za učenje ansamblov.
Bagging
sličica|Shematična ponazoritev učenja s pristopom bagging
Bagging (okrajšava za angl. bootstrap aggregation) je eden najstarejših in najpreprostejših algoritmov za učenje ansamblov, ki ga je leta 1994 predlagal Leo Breiman. Raznolikost klasifikatorjev se doseže z vzorčenjem učnih podatkov po metodi stremena (angl. bootstrap method).
Algoritem: Učenje s pristopom Bagging
Vhod: primeri – učni podatki L – osnovni učni algoritem n – velikost ansambla f – število ali delež točk v posameznem vzorcu
Za i med 1 in n vzorec i ← naključni izbor f točk iz množice primeri model i ← učenje modela s pomočjo L na množici vzorec
Izhod: Modeli od 1 do n
Končna odločitev ansambla je v primeru klasifikacije razred, izbran s strani večine klasifikatorjev (enostavno glasovanje večine). V primeru verjetnostnih napovedi, napovemo povprečno napovedano verjetnost za vsakega od razredov. Pri regresijskih modelih napovemo srednjo vrednost napovedi posameznih modelov.
Pri metodi bagging se lahko vzorčene množice učnih podatkov znatno prekrivajo, kar lahko vodi do preveč podobnih napovedi med posameznimi modeli v ansamblu.
Naključni gozdovi
thumb|Prikaz učenja naključnega gozda. Nabor učnih podatkov (v tem primeru 250 podatkovnih vrstic s po 100 značilkami) se n-krat naključno vzorči . Nato se na vsakem vzorcu usposobi odločitveno drevo. Za končno odločitev se združijo rezultati vseh n dreves.
Metodo naključnih gozdov (angl. random forests) lahko opišemo kot različico algoritma bagging, ki za osnovne klasifikatorje uporablja odločitvena drevesa (angl. decision trees). Poleg vzorčenja učnih podatkov, naključni gozdovi za zagotavljanje raznolikosti uporabljajo tudi spremenjen algoritem za učenje odločitvenih dreves.
Osnovna ideja metode naključnih gozdov je dodajanje naključnosti v gradnjo odločitvenih dreves. Namesto izbire najbolj informativne značilke na vsakem nivoju drevesa, je Brieman predlagal naključno izbiro značilke izmed najbolje ocenjenimi značilkami, kjer je privzeto nastavljen na koren števila primerov v učni množici (zaokroženo navzdol; ). Na ta način se zagotovi različnost odločitevnih dreves v naključnem gozdu.
Pri napovedovanju s pomočjo naključnega gozda, se v posameznih odločitvenih drevesih vhodni podatek (značilke, ki opisujejo podatek) vnese na vrhu. Med spuščanjem po drevesu (glede na vrednosti značilk) je nabor možnih odgovorov vedno manjši, dokler ni mogoče določiti končne napovedi.
Pri metodi naključnih gozdov je glavni parameter število dreves v gozdu, tipično se uporablja nekaj sto dreves. Naključni gozdovi veljajo za metodo z visoko napovedno natančnostjo, kratkim napovednim časom ter se lahko uporabijo tudi za probleme z neuravnoteženimi učnimi množicami (bistveno različno število primerov za različne napovedi) oz. manjkajočimi podatki. Slabosti naključnih gozdov so, da pri uporabi za regresijo ne morejo napovedati zunaj obsega v učnih podatkih ter da so občutljivi na prekomerno prileganje (angl. overfitting) v primeru podatkov z veliko šuma.
Osnovni algoritem je leta 1995 predlagal Tin Kam Ho. Kasneje sta ga razširila Breiman in Cutler ter prijavila blagovno znamko.
Boosting
sličica|Shematična ponazoritev učenja s pristopom boosting.
Boosting (angl. za krepitev) je meta-algoritem, ki naslavlja vprašanje, ali lahko več šibkih modelov tvori močnega, ki ga je leta 1988 postavil Michael Kearns, rešitev pa je dve leti kasneje predlagal Robert Schapire.
Podobno kot pri baggingu se tudi pri boostingu s ponovnim vzorčenjem podatkov ustvari ansambel klasifikatorjev, ki se jih združi z glasovanjem. Vendar pa je pri boostingu vzorčenje nastavljeno tako, da izbira najbolj informativne učne primere za vsak naslednji klasifikator. Ponavadi se to izvede s povečanjem uteži tistih primerov, ki jih je prejšnji model napovedal nepravilno. Na ta način boosting zagotavlja preprosto in učinkovito metodo za spreminjanje šibkih modelov v močne modele.
Za prvo praktično implementacijo velja algoritem AdaBoost (okrajšava za adaptivno krepitev, oz. angl. adaptive boosing), ki sta ga leta 1996 predlagala Yoav Freund in Robert Schapire. Njegova objava je bila odmevna in je v strojnem učenju v 90. letih povzročila pomik od raziskav optimizacije posameznih metod k ansamblskim metodam. Algoritem je pomembno vplival tudi na razvoj drugih krepitvenih metod, ki so ga sčasoma presegle.
Zlaganje
Pri zlaganju (angl. stacking, tudi stacked generalization) so izhodi posameznih modelov v ansamblu vhodi za drug model strojnega učenja. Na podlagi izhodov se ta model nauči napovedovati končni rezultat. Učenje je dvostopenjsko. Najprej se nauči osnovne modele z uporabo razpoložljivih podatkov, nato se nauči ločen model združevalca za izdelavo končne napovedi z uporabo vseh napovedi osnovnih modelov.
Združevanje praviloma daje boljše rezultate kot katerikoli od posameznih naučenih modelov. Uspešno je bil uporabljen tako za različne naloge nadzorovanega kot nenadzorovanega učenja. Pristopi za združevanje napovedi
Za združevanje napovedi se pri ansambelskih metodah uporabljajo različni pristopi. Nekateri pristopi delujejo izključno na podlagi napovedih posameznih osnovnih modelov (npr. prvi in drugi model napovesta razred A, tretji napove razred B, četrti spet razred A), medtem ko drugi uporabljajo tudi druge podatke (npr. s kakšno verjetnostjo je nek osnovni model napovedal različne možnosti oz. njihovo razvrstitev) ali pa ločen model za določitev končne napovedi (kot pri zlaganju).
Pri nalogah klasifikacije se za združevanje napovedi najpogosteje uporabljajo različne metode glasovanja, za naloge regresije pa različne oblike povprečenja napovedi.
Klasifikacija
Najpogosteje se uporablja večinsko glasovanje (angl. majority voting, tudi plurality voting).
S kjer je število osnovnih modelov in število možnih izhodov, označimo odločitve posameznih modelov v ansamblu. Če -ti model v ansamblu izbere razred potem je sicer 0.
Uteženo oz. ponderirano večinsko glasovanje deluje podobno:
Uteževanje modelov ima v primerjavi z običajnim večinskim glasovanjem prednost, da lahko tvori modele z večjo natančnostjo pri končni napovedi.