Mikä on tehostamisalgoritmi?

Tehostaminen on menetelmä algoritmeissa, jotka muuttavat heikon oppijan vahvaksi oppijaksi. Se on tekniikka, joka lisää uusia malleja olemassa olevien mallien virheiden korjaamiseksi.

Esimerkki:

Ymmärretään tämä käsite seuraavan esimerkin avulla. Otetaan esimerkki sähköpostista. Kuinka tunnistat sähköpostisi, onko se roskapostia vai ei? Voit tunnistaa sen seuraavilla ehdoilla:

  • Jos sähköposti sisältää paljon lähteitä, niin se on roskapostia.
  • Jos sähköposti sisältää vain yhden tiedostokuvan, se on roskapostia.
  • Jos sähköpostiviesti sisältää viestin ”You're lottery of $ xxxxx”, se tarkoittaa roskapostia.
  • Jos sähköposti sisältää jonkin tunnetun lähteen, se ei ole roskapostia.
  • Jos se sisältää virallisen verkkotunnuksen, kuten educationba.com, jne., Se tarkoittaa, että se ei ole roskapostia.

Edellä mainitut säännöt eivät ole kovin voimakkaita tuntemaan roskapostia vai ei, joten näitä sääntöjä kutsutaan heikoiksi oppijoiksi.

Yhdistä heikon oppijan ennustaminen seuraavilla menetelmillä muuntaa heikko oppija vahvaksi oppijaksi.

  1. Käyttämällä keskimääräistä tai painotettua keskiarvoa.
  2. Arvioi, että ennusteella on enemmän ääniä.

Ota huomioon edellä mainitut 5 sääntöä, roskapostista on 3 ääntä ja 2 ei ääntä roskapostista. Koska roskapostia on paljon, pidämme sitä roskapostina.

Kuinka tehostamisalgoritmit toimivat?

Algoritmien lisääminen yhdistää jokaisen heikon oppijan luomaan yhden vahvan ennustesäännön. Heikon säännön tunnistamiseksi on olemassa perusoppimisalgoritmi (Machine Learning). Aina kun Base-algoritmia sovelletaan, se luo uusia ennustesääntöjä iterointiprosessin avulla. Jonkin verran iteraation jälkeen se yhdistää kaikki heikot säännöt yhdeksi ennusteeksi.

Oikean jaon valitseminen tapahtuu alla mainittujen vaiheiden mukaisesti:

Vaihe 1: Perusoppimisalgoritmi yhdistää kunkin jakauman ja kohdistaa yhtä suureen painoon jokaisessa jaossa.

Vaihe 2: Jos jonkin verran ennusteita tapahtuu ensimmäisen perustason oppimisalgoritmin aikana, kiinnitämme huomiota siihen ennustusvirheeseen.

Vaihe 3: Toista vaihe 2, kunnes perusoppimisalgoritmin raja on saavutettu tai korkea tarkkuus.

Vaihe 4: Lopuksi se yhdistää kaikki heikot oppijat luomaan yhden vahvan ennusteen.

Hyödyntämisalgoritmin tyypit

Tehostamisalgoritmit käyttävät erilaisia ​​moottoreita, kuten päätöksentekoleima, marginaalin maksimointiluokittelualgoritmi jne. On olemassa kolmen tyyppisiä tehostamisalgoritmeja, jotka ovat seuraavat:

  1. AdaBoost (Adaptive Boosting) -algoritmi
  2. Gradient Boosting algoritmi
  3. XG Boost -algoritmi

AdaBoost (Adaptive Boosting) -algoritmi

Katso AdaBoost ymmärtääksesi seuraavaa kuvaa:

Laatikko 1: Laatikossa 1 jokaiselle tietojoukolle annettiin yhtä suuret painot ja plus- (+) ja miinus (-) -merkin luokittelua varten käytetään kantoa D1, joka luo pystysuoran viivan ruudun 1 vasempaan reunaan. Tämä viiva on väärin ennusti kolme plusmerkkiä (+) miinusna (-), joten käytämme suurempia painoja näihin plusmerkkiin ja käytämme toista päätöksen kantoa.

Laatikko 2: Laatikossa 2 kolmen väärin ennustetun plusmerkin (+) koko kasvaa toiseen verrattuna. Toinen päätöksentekopaikka D2 lohkon oikealla puolella ennustaa tämän väärin ennustetun plusmerkin (+) merkin oikeiksi. Mutta koska luokitteluvirhe tapahtui epätasaisen painon vuoksi miinusmerkillä (-), annamme suuremman painon miinusmerkille (-) ja käytämme toista päätöksen kantoa.

Laatikko 3: Laatikossa 3 virheellisen luokitteluvirheen vuoksi kolmella miinusmerkillä (-) on korkea paino. tässä päätöksen kantoa D3 käytetään ennustamaan tämä virheellinen luokittelu ja korjaamaan se. Tällä kertaa luokitellaan plus (+) ja miinus (-) merkki vaakaviiva luodaan.

Laatikko 4: Laatikossa 4 päätöskannat D1, D2 ja D3 yhdistetään uuden vahvan ennusteen luomiseksi.

Adaptiiviset tehostustoimet ovat samanlaisia ​​kuin edellä mainittiin. Siinä yhdistetään heikko oppijapohja painokokeen perusteella vahvan oppijan luomiseksi. Ensimmäisessä iteraatiossa se antaa saman painon jokaiselle tietojoukolle ja alkaa ennustaa sitä. Jos väärät ennusteet tapahtuvat, se antaa kyseiselle havainnolle suuren painoarvon. Adaptiivinen tehostaminen toista tämä toimenpide seuraavassa iterointivaiheessa ja jatka, kunnes tarkkuus on saavutettu. Yhdistä tämä sitten luomaan vahva ennuste.

Gradientin lisäämisalgoritmi

Gradientin lisäämisalgoritmi on koneoppimistekniikka häviöfunktion määrittelemiseksi ja vähentämiseksi. Sitä käytetään luokitteluongelmien ratkaisemiseen ennustemallien avulla. Se sisältää seuraavat vaiheet:

1. Tappiotoiminto

Häviötoiminnon käyttö riippuu ongelman tyypistä. Kaltevuuden korotuksen etuna on, että kullekin häviötoiminnolle ei tarvita uutta korotusalgoritmia.

2. Heikko oppija

Kaltevuuden lisäämisessä päätöksentekopuita käytetään heikkona oppijana. Regressiopuuta käytetään antamaan todellisia arvoja, jotka voidaan yhdistää toisiinsa oikeiden ennusteiden luomiseksi. Kuten AdaBoost-algoritmissa, käytetään pieniä puita, joissa on yksi halkaisu, ts. Päätöksenteon kanto. Suurempia puita käytetään suurille tasoille i, e 4-8.

3. Lisäainemalli

Tässä mallissa puut lisätään yksi kerrallaan. nykyiset puut pysyvät ennallaan. Puiden lisäämisen aikana käytetään kaltevuuslaskua häviötoiminnan minimoimiseksi.

XG Boost

XG Boost on lyhyt Extreme Gradient Boosting -tekniikka. XG Boost on päivitetty Gradient Boosting Algorithmin toteutukseen, joka on kehitetty nopeaan laskennopeuteen, skaalautuvuuteen ja parempaan suorituskykyyn.

XG Boost -laitteella on erilaisia ​​ominaisuuksia, jotka ovat seuraavat:

  1. Rinnakkaisprosessointi: XG Boost tarjoaa rinnakkaisprosessin puunrakennukseen, joka käyttää CPU-ytimiä harjoituksen aikana.
  2. Ristiinvalidointi: XG Boost antaa käyttäjille suorittaa vahvistusprosessin ristiinvalidoinnin jokaisessa iteraatiossa, jolloin on helppo saada tarkka optimaalinen määrä tehostavia iteraatioita yhdellä ajon aikana.
  3. Välimuistin optimointi: Se tarjoaa algoritmien välimuistin optimoinnin suuremman suoritusnopeuden saavuttamiseksi.
  4. Hajautettu tietojenkäsittely : Suurten mallien kouluttamiseen XG Boost sallii hajautetun laskennan.

Suositellut artikkelit

Tässä artikkelissa olemme nähneet, mikä on tehostamisalgoritmi, erityyppiset vahvistusalgoritmi koneoppimisessa ja heidän työskentelynsä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on koneoppiminen? | Määritelmä
  2. Ohjelmointikielet algoritmien oppimiseen
  3. Mikä on Blockchain-tekniikka?
  4. Mikä on algoritmi?

Luokka: