Uvod v algoritem AdaBoost

Algoritem AdaBoost je mogoče uporabiti za povečanje učinkovitosti katerega koli algoritma strojnega učenja. Strojno učenje je postalo močno orodje, ki lahko na podlagi velike količine podatkov napoveduje napovedi. V zadnjem času je postala tako priljubljena, da lahko aplikacijo strojnega učenja najdemo v vsakodnevnih dejavnostih. Pogost primer tega je pridobivanje predlogov za izdelke med spletnim nakupovanjem na podlagi preteklih izdelkov, ki jih je kupil kupec. Strojno učenje, ki ga pogosto imenujemo prediktivna analiza ali prediktivno modeliranje, je mogoče opredeliti kot zmožnost računalnikov, da se učijo, ne da bi bili izrecno programirani. Uporablja programirane algoritme za analizo vhodnih podatkov za napovedovanje izhoda v sprejemljivem območju.

Kaj je algoritem AdaBoost?

Pri strojnem učenju je spodbuda izvirala iz vprašanja, ali je mogoče niz šibkih klasifikatorjev pretvoriti v močnega klasifikatorja. Slab učenec ali klasifikator je učenec, ki je boljši od naključnega ugibanja in bo to močan pri pretiranem prileganju kot v velikem nizu šibkih klasifikatorjev, pri čemer je vsak šibki klasifikator boljši od naključnega. Kot šibek klasifikator se običajno uporablja preprost prag posamezne funkcije. Če je funkcija nad pragom, kot je bilo predvideno, pripada pozitivnemu, sicer pa negativnemu.

AdaBoost pomeni „Adaptive Boosting“, ki šibke učence ali napovedovalce pretvori v močne napovedovalce, da bi rešili težave s klasifikacijo.

Za razvrstitev lahko končno enačbo postavimo na naslednji način:

Tu f označuje m th šibki klasifikator in m predstavlja njegovo ustrezno težo.

Kako deluje algoritem AdaBoost?

AdaBoost je mogoče uporabiti za izboljšanje zmogljivosti algoritmov strojnega učenja. Najbolje se uporablja s šibkimi učenci in ti modeli dosegajo visoko natančnost nad naključno priložnostjo pri klasifikaciji. Pogosti algoritmi, ki jih uporablja AdaBoost, so odločitvena drevesa prve stopnje. Šibek učenec je klasifikator ali napovedovalec, ki glede na natančnost deluje relativno slabo. Prav tako lahko sklepamo, da je šibke učence enostavno izračunati in da se številni primeri algoritmov združijo in tako ustvarijo močan klasifikator s spodbujanjem.

Če vzamemo niz podatkov, ki vsebuje n število točk, in upoštevamo spodnje

-1 predstavlja negativni razred, 1 pa pozitivno. Inicializira se spodaj, teža za vsako podatkovno točko je:

Če štejemo ponovitev od 1 do M za m, dobimo spodnji izraz:

Najprej moramo izbrati šibki klasifikator z najnižjo uteženo napako klasifikacije, tako da šibke klasifikatorje namestimo v podatkovni niz.

Nato izračunamo težo m . Šibkega klasifikatorja, kot je spodaj:

Teža je pozitivna za vsakega razvrščevalca z natančnostjo nad 50%. Teža postane večja, če je klasifikator natančnejši in postane negativen, če ima klasifikator točnost manjšo od 50%. Napoved je mogoče kombinirati z obračanjem znaka. Z obračanjem znaka napovedi se lahko klasifikator s 40-odstotno natančnostjo pretvori v 60-odstotno natančnost. Tako klasifikator prispeva k končni napovedi, čeprav deluje slabše od naključnega ugibanja. Vendar končna napoved ne bo imela nobenega prispevka ali informacije od klasifikatorja dobili z natančno 50-odstotno natančnostjo. Izrazni izraz v števcu je za napačno razvrščen primer klasifikatorja s pozitivno utežmi vedno večji od 1. Po iteraciji se napačno razvrščeni primeri posodobijo z večjimi utežmi. Negativno uteženi klasifikatorji se obnašajo enako. Obstaja pa razlika, ko je znak obrnjen; pravilne klasifikacije bi se prvotno spremenile v napačno razvrstitev. Končno napoved je mogoče izračunati tako, da se upošteva vsak razvrščevalec in nato izvede seštevek njihove tehtane napovedi.

Posodobitev teže za vsako podatkovno točko, kot je spodaj:

Z m je tukaj faktor normalizacije. Zagotavlja, da seštevek vseh uteži primerkov postane enak 1.

Za kaj se uporablja algoritem AdaBoost?

AdaBoost se lahko uporablja za zaznavanje obrazov, saj se zdi, da je to standardni algoritem za zaznavanje obrazov na slikah. Uporablja kaskado zavrnitve, sestavljeno iz številnih plasti klasifikatorjev. Ko okno za zaznavanje na kateri koli plasti ni prepoznano kot obraz, se zavrne. Prvi klasifikator v oknu zavrže negativno okno, pri čemer računalniške stroške zmanjša na minimum. Čeprav AdaBoost združuje šibke klasifikatorje, se načela AdaBoost uporabljajo tudi za iskanje najboljših funkcij za uporabo v vsaki plasti kaskade.

Prednosti in slabosti algoritma AdaBoost

Ena izmed številnih prednosti algoritma AdaBoost je, da je hitro, enostavno in enostavno programiranje. Prav tako ima prilagodljivost, da se kombinira s katerim koli algoritmom strojnega učenja in ni potrebe po nastavljanju parametrov, razen T. Razširjen je na težave z učenjem zunaj binarne klasifikacije in je vsestranski, saj se lahko uporablja z besedilom ali številkami podatkov.

AdaBoost ima tudi malo pomanjkljivosti, na primer iz empiričnih dokazov in še posebej občutljiv na enakomeren hrup. Prešibki klasifikatorji lahko povzročijo nizke marže in prekomerno opremljanje.

Primer algoritma AdaBoost

Lahko si omislimo primer sprejema študentov na univerzo, kjer bodo bodisi sprejeti bodisi zavrnjeni. Kvantitativne in kakovostne podatke lahko tu najdemo z različnih vidikov. Na primer, rezultat sprejema, ki je lahko da / ne, je lahko količinski, medtem ko je lahko katero koli drugo področje, kot so spretnosti ali hobiji študentov, kakovostno. S pravilnim razvrščanjem podatkov o usposabljanju lahko lažje zasledimo pogoje, na primer, če je študent dober predmet pri določenem predmetu, potem je sprejet. Toda težko je najti zelo natančno napoved in takrat pridejo v poštev šibki učenci.

Sklep

AdaBoost pomaga pri izbiri kompleta za usposabljanje za vsakega novega klasifikatorja, ki se usposablja na podlagi rezultatov prejšnjega klasifikatorja. Tudi med kombiniranjem rezultatov; določi, koliko teže naj bo dodeljen odgovor vsakega razvrščevalca. Združuje šibke učence, da ustvari močnega, da popravi napake pri razvrščanju, kar je tudi prvi uspešen spodbujevalni algoritem za težave z binarnim klasifikacijo.

Priporočeni članki

To je vodnik po algoritmu AdaBoost. Tu smo s primerom razpravljali o konceptu, uporabi, delu, prednostih in slabostih. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Naivni Bayesov algoritem
  2. Vprašanja za intervju s socialnimi mediji
  3. Strategije krepitve povezav
  4. Platforma za trženje socialnih medijev

Kategorija: