Mikä on Adaboost -tehostustekniikka? (01.25.22)

Tehostaminen on eräänlainen kokonaisopetustekniikka, jossa käytämme heikkojen oppijoiden priorisointia vahvoiksi oppijoiksi muodostamalla erilaisia ​​päätöspuita ja sitten pakkaamalla ne pienempiin paketteihin ja lopulta äänestämällä näistä paketeista saadaksemme tuloksen. Tehostamistekniikoita on erilaisia, ja jotkut ovat liukuvärin tehostaminen, XG -tehostus, Ada -tehostus, kissan tehostus jne. Nämä kaikki toimivat samalla periaatteella, vaikka kaikkien näiden tehostamismekanismit voivat vaihdella. Tänään keskustelemme Ada Boostingista antaaksemme teille paremman käsityksen tämän tekniikan oivalluksista.

Mikä on Adaboost?

Adaboost (Adaptive Boosting) on ​​tehostava tekniikka, jossa pyrimme yleensä muuttamaan heikot oppijat vahvoiksi oppijoiksi määrittämällä aluksi näytepainoja ja käyttämällä päätöspuita. Näytepainojen määrittämiskaava sisältää 1/n , jossa n on tietojoukossa olevien tietueiden kokonaismäärä. Adaboostissa päätöspuita kutsutaan myös perusoppilaiksi , ja niiden tulisi sisältää vain 1 syvyys, joka tunnetaan myös nimellä kannot . Joten jos luomme useita päätöspuita tietojoukossamme olevista ominaisuuksista ja voimme sitten tarkistaa parhaan päätöspuun, jolla on pienempi entropia ja suuri tiedon saanti. Nyt parhaan puun valitsemisen jälkeen näemme puun luokittelun tarkkuuden tavoitteiden perusteella. Jos sanomme, että puu luokitteli 90% tietueista oikein, mutta epäonnistui luokittelemaan loput 10%, selvitämme väärin luokitellun mallin kokonaisvirheen ja yritämme päivittää painot virheen vähentämiseksi.

No, kuinka AdaBoost toimii päätöksenteko -kantojen kanssa. Päätöskannat ovat kuin puut satunnaisessa metsässä, mutta eivät "täysin kasvaneet".Niissä on yksi solmu ja kaksi lehteä. AdaBoost käyttää tällaisten kantojen metsää puiden sijasta.

Kannot eivät yksinään ole hyvä tapa tehdä päätöksiä. Täysikasvuinen puu yhdistää kaikkien muuttujien päätökset ennustaakseen tavoitearvon. Kanto sen sijaan voi käyttää vain yhtä muuttujaa päätöksenteossa. Yritetään ymmärtää askel askeleelta AdaBoost-algoritmin kulissien takana katsomalla useita muuttujia sen määrittämiseksi, onko henkilö "hyvässä kunnossa" (hyvässä kunnossa) vai ei.


Kuvan lähde: blog.paperspace.com

Kaava kokonaisvirheen selvittämiseksi on

Virheiden kokonaismäärä / ei.

Kun olemme löytäneet kokonaisvirheen, yritämme selvittää kannon suorituskyvyn käyttämällä

kaavaa:

½ loge (1-Virhe yhteensä/Virhe yhteensä)

Nyt painojen päivitys suoritetaan siten, että

vähennetään oikein luokiteltujen tietueiden painot ja lisätä väärin luokiteltujen tietueiden painoja. Joten painojen päivittämiseen käytämme väärin luokiteltujen kaavojen kaavaa seuraavasti:

Edellinen paino * suorituskyky

Oikein luokitelluille kaava menee kuten:

Edellinen paino * e-suorituskyky

Kun olemme löytäneet päivitetyt painot, näemme, että yhteenlasku on 1, jos se ei ole 1, niin normalisoimme päivitetyt painot niin, että summasta tulee 1. Kaava normalisointia varten annetaan seuraavasti:

Jokainen päivitetty painoarvo/summan arvot päivitetyt painot

Seuraava askel on käyttää uudelleen päätöspuiden muodostamisen käsitettä, mutta tätä varten meidän on jaettavanormalisoidut painot kauhojen muodossa, joilla on tietty koko, joka annetaan 0, ensimmäinen normalisoitu arvo summaus- ja toinen normalisoitu painoarvo ja niin edelleen ...

Tämän jälkeen satunnaisesti malli ottaa näytteenoton ja se tarkistaa ämpäri, jossa näyte on, ja muodostaa sen perusteella uuden tietojoukon. Sitten uusi tietojoukko muodostaa uudelleen kantojen prosessin ja virheiden minimointi painon päivittämisen kautta suoritetaan ja prosessi jatkuu siihen asti, kunnes kaikki päätöspuut eivät ole peitossa ja virheaste ei ole minimoitu. Nyt testitietojoukon luokittelua varten malli tarkastelee kantoja ja ottaa tavoitteen enemmistöpäätöksen ja palauttaa saman kuin tulos, kun taas regression tapauksessa pääasiassa kaikkien päätöspuukannojen keskiarvo otetaan ja palautetaan

Adaboost vaatii käyttäjiä määrittämään joukon heikkoja oppijoita (vaihtoehtoisesti se luo satunnaisesti joukon heikkoja oppijoita ennen todellista oppimisprosessia). Se oppii painot kuinka lisätä nämä oppijat vahvaksi oppijaksi. Jokaisen oppijan paino opitaan ennustamalla otos oikein tai ei. Jos oppija ennustaa näytteen väärin, oppijan paino pienenee hieman. Se toistaa tällaisen prosessin lähentymiseen asti. Adaboostissa menetykset ja suorituskyky ovat parametrit, jotka otetaan huomioon painojen päivittämisessä. pitäisi kokeilla Ada Boosting -tekniikkaa ja tehostusalgoritmeja, koska ne pystyvät itse suorittamaan mahdollisimman paljon tehtäviä näiden algoritmien sisäänrakennettujen mekanismien vuoksi.


YTube Video: Mikä on Adaboost -tehostustekniikka?

01, 2022