Johdatus AdaBoost-algoritmiin

AdaBoost-algoritmia voidaan käyttää parantamaan minkä tahansa koneoppimisalgoritmin suorituskykyä. Koneoppimisesta on tullut tehokas työkalu, joka voi tehdä ennusteita suureen tietomäärään perustuen. Siitä on tullut niin suosittua viime aikoina, että koneoppimisen sovellus löytyy päivittäisestä toiminnastamme. Yleinen esimerkki tästä on ehdotusten hankkiminen tuotteille verkkokaupoissa ostoksilla, jotka perustuvat asiakkaan aiemmin ostamiin tuotteisiin. Koneoppiminen, johon usein viitataan ennustavana analyysinä tai ennustavana mallinnuksena, voidaan määritellä tietokoneiden kykyä oppia ilman, että sitä on ohjelmoitu nimenomaisesti. Se käyttää ohjelmoituja algoritmeja analysoimaan syöttötietoja ennustaakseen tuotoksen hyväksyttävällä alueella.

Mikä on AdaBoost-algoritmi?

Koneoppimisessa vauhdittaminen johtui kysymyksestä, voitaisiinko heikko luokittelujoukko muuntaa vahvaksi luokittelijaksi. Heikko oppija tai luokittelija on oppija, joka on parempi kuin satunnainen arvaaminen, ja tämä on kestävä liian sopivassa asemassa kuten suuressa joukossa heikkoja luokittelijoita, jokaisen heikon luokittelijan ollessa parempi kuin satunnainen. Heikkona luokittelijana käytetään yleensä yksinkertaista kynnystä yhdellä ominaisuudella. Jos ominaisuus on ennustetun kynnyksen yläpuolella, se kuuluu positiiviseen, muuten kuuluu negatiiviseen.

AdaBoost tarkoittaa 'Adaptive Boosting', joka muuttaa heikot oppijat tai ennustajat vahvoiksi ennustajiksi luokitteluongelmien ratkaisemiseksi.

Luokittelua varten lopullinen yhtälö voidaan laittaa seuraavasti:

Tässä f m tarkoittaa m : ta heikkoa luokittelijaa ja m edustaa sitä vastaavaa painoa.

Kuinka AdaBoost-algoritmi toimii?

AdaBoostia voidaan parantaa koneoppimisalgoritmien suorituskyvyn parantamiseen. Sitä käytetään parhaiten heikkojen oppijoiden kanssa ja nämä mallit saavuttavat suuren tarkkuuden satunnaisten mahdollisuuksien yläpuolella luokitteluongelmassa. AdaBoostin kanssa käytetyt yleiset algoritmit ovat päätöksentekopuita, joiden taso on yksi. Heikko oppija on luokitin tai ennustaja, jonka suorituskyky on suhteellisen heikko. Voidaan myös olettaa, että heikkoja oppijoita on helppo laskea ja että monet algoritmien esiintymät yhdistetään luomalla vahva luokitin lisäämisen avulla.

Jos otamme tietojoukon, joka sisältää n määrän pisteitä, otamme huomioon seuraavat

-1 tarkoittaa negatiivista luokkaa ja 1 osoittaa positiivista. Se alustetaan kuten alla, kunkin datapisteen paino seuraavasti:

Jos tarkastellaan iteraatiota m: stä M: ksi, saadaan seuraava lauseke:

Ensin on valittava heikko luokitin, jolla on pienin painotettu luokitteluvirhe sovittamalla heikot luokittelijat tietojoukkoon.

Lasketaan sitten m : n heikon luokittelijan paino seuraavasti:

Paino on positiivinen kaikille luokittelijoille, joiden tarkkuus on yli 50%. Paino kasvaa, jos luokittelija on tarkempi, ja se muuttuu negatiiviseksi, jos luokittelijan tarkkuus on alle 50%. Ennuste voidaan yhdistää kääntämällä merkki. Kääntämällä ennusteen merkki, luokitin, jonka tarkkuus on 40%, voidaan muuntaa 60% tarkkuudeksi. Joten luokitin osallistuu lopulliseen ennustamiseen, vaikka se toimii huonommin kuin satunnainen arvaaminen. Lopullisella ennusteella ei kuitenkaan ole mitään panosta tai se saa tietoja luokittelijasta tarkalleen 50%: n tarkkuudella. Laskimen eksponentiaalinen termi on aina suurempi kuin 1 positiivisen painotetun luokittelijan virheellisesti luokitellussa tapauksessa. Toiston jälkeen virheellisesti luokitellut tapaukset päivitetään suuremmilla painoilla. Negatiiviset painotetut luokittelijat käyttäytyvät samalla tavalla. Mutta on ero, että merkin kääntämisen jälkeen; alun perin oikeat luokitukset muuttaisivat vääriksi luokituksiksi. Lopullinen ennuste voidaan laskea ottamalla huomioon kukin luokitin ja suorittamalla sitten heidän painotetun ennusteen summa.

Päivitetään kunkin datapisteen paino seuraavasti:

Z m on tässä normalisointikerroin. Se varmistaa, että kaikkien instanssipainojen summa on yhtä suuri kuin 1.

Mihin AdaBoost-algoritmia käytetään?

AdaBoostia voidaan käyttää kasvojentunnistukseen, koska se näyttää olevan vakioalgoritmi kuvien kasvojentunnistukselle. Se käyttää hylkäysjärjestystä, joka koostuu monista kerroksista luokittelijoita. Kun tunnistusikkunaa ei tunnisteta missään kerroksessa kasvona, se hylätään. Ikkunan ensimmäinen luokitin hylkää negatiivisen ikkunan pitäen laskennalliset kustannukset minimissä. Vaikka AdaBoost yhdistää heikot luokittelijat, AdaBoostin periaatteita käytetään myös löytämään parhaat ominaisuudet käytettäväksi jokaisen kaskadin kerroksen kanssa.

Plussaa ja miinusta AdaBoost-algoritmissa

Yksi AdaBoost-algoritmin monista eduista on, että se on nopea, yksinkertainen ja helppo ohjelmoida. Sillä on myös joustavuus yhdistää mihin tahansa koneoppimisalgoritmiin, eikä parametreja tarvitse virittää paitsi T. Se on laajennettu koskemaan binaariluokituksen ulkopuolisia oppimisongelmia ja on monipuolinen, koska sitä voidaan käyttää tekstin tai numeerisen kanssa tiedot.

AdaBoostilla on myös vähän haittoja, kuten empiirisistä todisteista ja se on erityisen alttiita yhtenäiselle melulle. Heikko luokittelulaite on liian heikko voi johtaa pieniin marginaaleihin ja ylikuormitukseen.

Esimerkki AdaBoost-algoritmista

Voimme harkita esimerkkiä opiskelijoiden pääsystä yliopistoon, johon he joko otetaan tai hylätään. Täältä löytyy kvantitatiivinen ja laadullinen tieto eri puolista. Esimerkiksi hyväksynnän tulos, joka voi olla kyllä ​​/ ei, voi olla kvantitatiivinen, kun taas mikä tahansa muu ala, kuten opiskelijoiden taidot tai harrastukset, voivat olla laadullisia. Voimme keksiä koulutustietojen oikean luokittelun paremmin kuin mahdollisuus olosuhteisiin, kuten jos opiskelija osaa tietyn aiheen, niin hänet hyväksytään. Mutta on vaikea löytää erittäin tarkkaa ennustetta, ja heikot oppijat tulevat kuvaan.

johtopäätös

AdaBoost auttaa valitsemaan harjoitusjoukon jokaiselle uudelle luokittelijalle, joka koulutetaan edellisen luokittajan tulosten perusteella. Samalla kun tuloksia yhdistetään; se määrittelee, kuinka paljon painoa tulisi antaa kunkin luokittelijan ehdottamalle vastaukselle. Se yhdistää heikot oppijat luomaan vahvan luokitteluvirheiden korjaamiseksi, mikä on myös ensimmäinen onnistunut parannusalgoritmi binaariluokitteluongelmiin.

Suositellut artikkelit

Tämä on opas AdaBoost-algoritmiin. Tässä keskustelimme käsitteestä, käyttötavoista, työskentelystä, eduista ja haitoista esimerkillä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Naiivi Bayes-algoritmi
  2. Sosiaalisen median markkinointihaastattelukysymykset
  3. Linkki rakennusstrategioita
  4. Sosiaalisen median markkinointiympäristö

Luokka: