Ансамбл учење објашњено најједноставнијим могућим терминима

Kombinovanjem odluka nekoliko modela, učenje ansambla vam može pomoći da donosite bolje odluke i rešavate brojne izazove iz stvarnog života.

Mašinsko učenje (ML) nastavlja da se širi u raznim sektorima i industrijama, bilo da je reč o finansijama, medicini, razvoju aplikacija ili bezbednosti.

Adekvatna obuka ML modela će vam pomoći da ostvarite veći uspeh u poslu, a postoji mnogo različitih metoda da se to postigne.

U ovom tekstu, razmatraćemo učenje ansambla, njegov značaj, primere upotrebe i tehnike.

Nastavite da čitate!

Šta je učenje ansambla?

U mašinskom učenju i statistici, termin „ansambl“ se odnosi na metode koje kreiraju različite hipoteze koristeći zajedničkog osnovnog učenika.

Učenje ansambla je pristup u mašinskom učenju gde se više modela (poput stručnjaka ili klasifikatora) strateški kreira i kombinuje radi rešavanja problema ili pravljenja boljih predviđanja.

Ovaj pristup nastoji da unapredi predviđanje, aproksimaciju funkcija, klasifikaciju, itd. Takođe se koristi da se izbegne mogućnost izbora lošeg ili manje korisnog modela. Za postizanje poboljšanih prediktivnih performansi, koristi se nekoliko algoritama učenja.

Značaj učenja ansambla u ML

U modelima mašinskog učenja postoje izvori grešaka poput pristrasnosti, varijanse i šuma. Učenje ansambla može pomoći u smanjenju ovih izvora grešaka i obezbediti stabilnost i tačnost algoritama mašinskog učenja.

Evo zašto se učenje ansambla koristi u različitim scenarijima:

Odabir odgovarajućeg klasifikatora

Učenje ansambla vam pomaže da odaberete bolji model ili klasifikator, istovremeno smanjujući rizik od lošeg izbora modela.

Postoje različite vrste klasifikatora koji se koriste za različite probleme, kao što su mašine sa vektorima podrške (SVM), višeslojni perceptron (MLP), naivni Bayes klasifikatori, stabla odlučivanja, itd. Postoje i različite implementacije klasifikacionih algoritama. Učinak različitih podataka za obuku takođe može biti različit.

Umesto da se odabere samo jedan model, korišćenjem ansambla svih ovih modela i kombinovanjem njihovih rezultata, možete izbeći izbor lošijih modela.

Količina podataka

Mnoge ML metode i modeli nisu toliko efikasni ako im se daju neadekvatni podaci ili velika količina podataka.

S druge strane, učenje ansambla može da funkcioniše u oba scenarija, čak i ako je količina podataka previše mala ili velika.

  • U slučaju nedostatka podataka, možete koristiti tehniku butstrepinga (bootstraping) za obuku različitih klasifikatora uz pomoć različitih uzoraka podataka.
  • U slučaju velike količine podataka koja može otežati obuku jednog klasifikatora, podaci se mogu strateški podeliti na manje podskupove.

Složenost

Jedan klasifikator možda neće biti u stanju da reši složene probleme. Njihove granice odlučivanja koje razdvajaju podatke različitih klasa mogu biti veoma kompleksne. Dakle, ako primenite linearni klasifikator na nelinearnu, složenu granicu, on neće biti u stanju da je nauči.

Međutim, nakon ispravnog kombinovanja ansambla odgovarajućih, linearnih klasifikatora, možete ga naterati da nauči datu nelinearnu granicu. Klasifikator će podeliti podatke na manje i lakše za učenje particije, a svaki klasifikator će naučiti samo jednu jednostavniju particiju. Na kraju će se kombinovati različiti klasifikatori kako bi se dobila aproksimativna granica odlučivanja.

Procena pouzdanosti

U učenju ansambla, se dodeljuje pouzdanost odluci koju je doneo sistem. Pretpostavimo da imate skup različitih klasifikatora obučenih za određeni problem. Ako se većina klasifikatora slaže sa donetom odlukom, njen ishod se može smatrati zbirom odluke sa visokom pouzdanošću.

S druge strane, ako se polovina klasifikatora ne slaže sa donetom odlukom, to se smatra ansamblom sa odlukom niske pouzdanosti.

Međutim, niska ili visoka pouzdanost nije uvek ispravna odluka. Ali postoji velika šansa da će odluka sa visokom pouzdanošću biti ispravna ako je ansambl pravilno obučen.

Preciznost sa fuzijom podataka

Podaci prikupljeni iz više izvora, kada se kombinuju strateški, mogu poboljšati tačnost odluka o klasifikaciji. Ova tačnost je veća od one koja se postiže uz pomoć samo jednog izvora podataka.

Kako funkcioniše učenje ansambla?

Učenje ansambla uzima više funkcija mapiranja koje su naučili različiti klasifikatori, a zatim ih kombinuje kako bi se kreirala jedinstvena funkcija mapiranja.

Evo primera kako funkcioniše učenje ansambla.

Primer: Kreirate aplikaciju za ishranu namenjenu krajnjim korisnicima. Da biste obezbedili visokokvalitetno korisničko iskustvo, želite da prikupite njihove povratne informacije o problemima na koje nailaze, manama, greškama, itd.

Za ovo možete zatražiti mišljenja od svoje porodice, prijatelja, kolega i drugih ljudi sa kojima često komunicirate o njihovom izboru hrane i iskustvu online naručivanja hrane. Takođe, možete objaviti beta verziju aplikacije da biste prikupili povratne informacije u realnom vremenu, bez pristrasnosti ili šuma.

Ono što ovde zapravo radite je razmatranje više ideja i mišljenja različitih ljudi kako biste unapredili korisničko iskustvo.

Učenje ansambla i njegovi modeli rade na sličan način. Koristi skup modela i kombinuje ih kako bi generisao konačni rezultat radi poboljšanja tačnosti i performansi predviđanja.

Osnovne tehnike učenja ansambla

#1. Mod

„Mod“ je vrednost koja se najčešće pojavljuje u skupu podataka. U učenju ansambla, ML profesionalci koriste više modela za kreiranje predviđanja o svakoj tački podataka. Ova predviđanja se smatraju pojedinačnim glasovima, a predviđanje koje je kreirala većina modela se smatra konačnim predviđanjem. Najčešće se koristi u problemima klasifikacije.

Primer: Četiri osobe su vašu aplikaciju ocenile sa 4, dok je jedna osoba ocenila sa 3, onda bi mod bio 4 pošto je većina glasala za 4.

#2. Prosek/Srednja vrednost

Koristeći ovu tehniku, profesionalci uzimaju u obzir sva predviđanja modela i izračunavaju njihov prosek kako bi došli do konačnog predviđanja. Uglavnom se koristi za pravljenje predviđanja za probleme regresije, izračunavanje verovatnoća u problemima klasifikacije i još mnogo toga.

Primer: U prethodnom primeru, gde su četiri osobe ocenile vašu aplikaciju sa 4, dok je jedna osoba ocenila sa 3, prosek bi bio (4+4+4+4+3)/5=3,8.

#3. Ponderisana srednja vrednost

U ovoj metodi učenja ansambla, profesionalci dodeljuju različite težine različitim modelima za pravljenje predviđanja. Dodatna težina opisuje relevantnost svakog modela.

Primer: Pretpostavimo da je 5 osoba dalo povratne informacije o vašoj aplikaciji. Od toga, 3 su programeri aplikacija, a 2 nemaju iskustva u razvoju aplikacija. Dakle, povratnim informacijama te 3 osobe biće dodeljena veća težina od ostale 2.

Napredne tehnike učenja ansambla

#1. Bagging

Bagging (Bootstrap AGGregatING) je veoma intuitivna i jednostavna tehnika učenja ansambla sa dobrim performansama. Kao što i samo ime kaže, napravljena je kombinovanjem dva termina „Bootstrap“ i „agregacija“.

Bootstraping je još jedan metod uzorkovanja gde treba da kreirate podskupove nekoliko opažanja uzetih iz originalnog skupa podataka sa zamenom. Ovde će veličina podskupa biti ista kao veličina originalnog skupa podataka.

Izvor: Baggy programer

Dakle, u bagging-u, podskupovi ili „vreće“ se koriste za razumevanje distribucije kompletnog skupa. Međutim, podskupovi mogu biti manji od originalnog skupa podataka u „vrećama“. Ova metoda uključuje jedan ML algoritam. Cilj kombinovanja rezultata različitih modela je dobijanje generalizovanog ishoda.

Evo kako bagging funkcioniše:

  • Nekoliko podskupova se generiše iz originalnog skupa, a opažanja se biraju sa zamenama. Podskupovi se koriste u obuci modela ili stabala odlučivanja.
  • Za svaki podskup se kreira slab ili osnovni model. Modeli će biti nezavisni jedan od drugog i radiće paralelno.
  • Konačno predviđanje će biti kreirano kombinovanjem svakog predviđanja iz svakog modela, koristeći statistike poput proseka, glasanja, itd.

Popularni algoritmi koji se koriste u ovoj tehnici ansambla su:

  • Slučajna šuma
  • Stabla odlučivanja u vrećama

Prednost ove metode je što pomaže u smanjenju grešaka varijanse u stablima odlučivanja.

#2. Slaganje

Izvor slike: OpenGenus IQ

U slaganju ili nagomilanoj generalizaciji, predviđanja iz različitih modela, poput stabla odlučivanja, se koriste za kreiranje novog modela za predviđanje na ovom skupu testova.

Slaganje uključuje kreiranje podskupova podataka za pokretanje modela za obuku, slično kao kod „bagging“-a. Ali ovde se izlaz modela koristi kao ulaz koji se šalje drugom klasifikatoru, poznatom kao meta-klasifikator, za konačno predviđanje uzoraka.

Razlog zašto se koriste dva sloja klasifikatora je da se utvrdi da li su skupovi podataka za obuku naučeni na odgovarajući način. Iako je dvoslojni pristup uobičajen, može se koristiti i više slojeva.

Na primer, možete koristiti 3-5 modela u prvom sloju (ili nivou-1) i jedan model u drugom sloju (ili nivou 2). Ovaj drugi model će kombinovati predviđanja dobijena na nivou 1 kako bi se napravilo konačno predviđanje.

Štaviše, možete koristiti bilo koji model ML učenja za agregiranje predviđanja; linearni model kao što je linearna regresija, logistička regresija, itd. je uobičajen.

Popularni ML algoritmi koji se koriste u slaganju su:

  • Blending
  • Super ansambl
  • Naslagani modeli

Napomena: Blending koristi set za validaciju ili zadržavanje iz skupa podataka za obuku za pravljenje predviđanja. Za razliku od slaganja, blending uključuje predviđanja koja se prave samo na osnovu zadržavanja.

#3. Boosting

Boosting je iterativna metoda učenja ansambla koja prilagođava težinu određenog posmatranja u zavisnosti od njegove poslednje ili prethodne klasifikacije. To znači da svaki sledeći model ima za cilj da ispravi greške pronađene u prethodnom modelu.

Ako posmatranje nije pravilno klasifikovano, onda boosting povećava težinu tog posmatranja.

U boosting-u, profesionalci obučavaju prvi algoritam za boosting na kompletnom skupu podataka. Zatim grade sledeće algoritme ML koristeći ostatke izvučene iz prethodnog algoritma za boosting. Dakle, veća težina se daje netačnim opažanjima predviđenim prethodnim modelom.

Evo kako to funkcioniše korak po korak:

  • Podskup će biti generisan iz originalnog skupa podataka. Svaka tačka podataka će u početku imati iste težine.
  • Kreiranje osnovnog modela se odvija na podskupu.
  • Predviđanje će biti kreirano na osnovu kompletnog skupa podataka.
  • Koristeći stvarne i predviđene vrednosti, greške će biti izračunate.
  • Netačno predviđenim opažanjima će se dati veća težina.
  • Novi model će biti kreiran, i konačno predviđanje će biti napravljeno na ovom skupu podataka, dok model pokušava da ispravi ranije napravljene greške. Više modela će biti kreirano na sličan način, svaki ispravljajući prethodne greške.
  • Konačno predviđanje će biti napravljeno na osnovu konačnog modela, koji je ponderisana srednja vrednost svih modela.

Popularni algoritmi za boosting su:

  • CatBoost
  • Light GBM
  • AdaBoost

Prednost povećanja je u tome što generiše superiorna predviđanja i smanjuje greške zbog pristrasnosti.

Druge tehnike ansambla

Mešavina stručnjaka: Koristi se za obuku više klasifikatora, a njihovi rezultati su ansambl sa opštim linearnim pravilom. Ovde su težine date kombinacijama određene modelom koji se može obučiti.

Većinsko glasanje: Uključuje izbor neparnog klasifikatora, a predviđanja se izračunavaju za svaki uzorak. Klasa koja dobije maksimalnu klasu iz grupe klasifikatora biće predviđena klasa ansambla. Koristi se za rešavanje problema kao što je binarna klasifikacija.

Maksimalno pravilo: Koristi distribuciju verovatnoće svakog klasifikatora i koristi samopouzdanje u pravljenju predviđanja. Koristi se za više-klasne probleme klasifikacije.

Stvarni slučajevi upotrebe učenja ansambla

#1. Detekcija lica i emocija

Ensemble učenje koristi tehnike kao što je analiza nezavisnih komponenti (ICA) za obavljanje detekcije lica.

Nadalje, učenje ansambla se koristi za otkrivanje emocija osobe kroz detekciju govora. Pored toga, njegove mogućnosti pomažu korisnicima da detektuju emocije na licu.

#2. Bezbednost

Otkrivanje prevara: Učenje ansambla pomaže da se poboljša moć modeliranja normalnog ponašanja. Zbog toga se smatra efikasnim u otkrivanju lažnih aktivnosti, na primer, u sistemima kreditnih kartica i bankarskim sistemima, telekomunikacionim prevarama, pranju novca, itd.

DDoS: Distribuirano uskraćivanje usluge (DDoS) je smrtonosni napad na ISP. Klasifikatori ansambla mogu da smanje detekciju grešaka i takođe razlikuju napade od pravog saobraćaja.

Detekcija upada: Učenje ansambla se može koristiti u sistemima za praćenje, kao što su alati za otkrivanje upada, za otkrivanje kodova uljeza praćenjem mreža ili sistema, pronalaženjem anomalija i tako dalje.

Otkrivanje zlonamernog softvera: Ensemble učenje je prilično efikasno u otkrivanju i klasifikovanju koda zlonamernog softvera kao što su računarski virusi i crvi, ransomver, trojanski konji, špijunski softver itd. korišćenjem tehnika mašinskog učenja.

#3. Inkrementalno učenje

U inkrementalnom učenju, ML algoritam uči iz novog skupa podataka, dok zadržava prethodna učenja, ali bez pristupa prethodnim podacima koje je video. Sistemi ansambla se koriste u inkrementalnom učenju tako što ga čine da uči dodatni klasifikator na svakom skupu podataka čim postane dostupan.

#4. Medicina

Ansambl klasifikatori su korisni u medicinskoj dijagnostici, kao što je otkrivanje neuro-kognitivnih poremećaja (kao što je Alchajmerova bolest). On vrši detekciju uzimajući MRI skupove podataka kao ulazne podatke i klasifikujući citologiju grlića materice. Osim toga, primenjuje se u proteomici (proučavanje proteina), neuronauci i drugim oblastima.

#5. Daljinsko otkrivanje

Otkrivanje promena: Klasifikatori ansambla se koriste za otkrivanje promena pomoću metoda kao što su Bayesov prosek i većinsko glasanje.

Mapiranje zemljišnog pokrivača: Metode učenja ansambla, kao što su boosting, stabla odlučivanja, analiza glavnih komponenti jezgra (KPCA) itd., se koriste za efikasno otkrivanje i mapiranje zemljišnog pokrivača.

#6. Finansije

Tačnost je ključan aspekt u finansijama, bilo da se radi o proračunima ili predviđanjima. To veoma utiče na rezultate odluka koje donosite. Oni takođe mogu analizirati promene u podacima berzanskog tržišta, otkriti manipulaciju cenama akcija i još mnogo toga.

Dodatni resursi za učenje

#1. Ansambl metode za mašinsko učenje

Ova knjiga će vam pomoći da naučite i primenite važne metode ansambl učenja od početka.

#2. Metode ansambla: osnove i algoritmi

Ova knjiga sadrži osnove učenja ansambla i njegove algoritme. Takođe opisuje kako se koristi u stvarnom svetu.

#3. Ensemble Learning

Nudi uvod u metod ujedinjenog ansambla, izazove, aplikacije itd.

#4. Ensemble Machine Learning: Metode i primene:

Pruža široku pokrivenost naprednim tehnikama učenja ansambla.

Zaključak

Nadam se da sada imate jasniju sliku o učenju ansambla, njegovim metodama, slučajevima upotrebe i razlozima zašto njegovo korišćenje može biti korisno za vaš slučaj upotrebe. Ima potencijal da reši mnoge izazove iz stvarnog života, od bezbednosti i razvoja aplikacija do finansija, medicine i još mnogo toga. Njegova upotreba se širi, tako da se može očekivati dodatno poboljšanje ovog koncepta u bliskoj budućnosti.

Takođe možete istražiti neke alate za sintetičku generaciju podataka za obuku modela mašinskog učenja.