Ensemble Machine Learning -algoritmien käyttäminen Wekassa

Ensemble-algoritmit ovat tehokas koneoppimisalgoritmien luokka, joka yhdistää useiden mallien ennusteet. Etu Wekan käytöstä koneoppimisessa on, että saatavilla on niin paljon erilaisia ​​yhtyeiden koneoppimisalgoritmeja.

Ensemble Algorithms Overview

Käymme tutustumassa viiden parhaan joukkoon yhtyeiden koneoppimisalgoritmit Wekassa. Jokainen käsiteltävä algoritmi kuvataan lyhyesti sen toiminnan suhteen ja keskeiset algoritmiparametrit korostetaan, samoin kuin itse algoritmi esitettäisiin Weka Explorer -käyttöliittymässä.

Viisi algoritmia, jotka tarkastelemme seuraavia:

  1. pussitus
  2. satunnainen metsä
  3. AdaBoost
  4. äänestäminen
  5. pinoaminen

Kunkin algoritmin esittelyssä käytetään tavanomaista koneoppimisen luokitusongelmaa. Erityisesti Ionosfäärin binääriluokitteluongelma. Tämä on hyvä aineisto luokittelualgoritmien osoittamiseksi, koska syötemuuttujat ovat numeerisia ja kaikilla on sama asteikko, ongelmalla on vain kaksi luokkaa erotella.

Kukin esimerkki kuvaa tutkan paluuominaisuudet ilmakehästä ja tehtävänä on ennustaa onko ionosfäärissä rakennetta vai ei. On olemassa 34 numeerista syötemuuttujaa, jotka ovat yleensä saman mittakaavan. Lisätietoja tästä tietoaineistosta on UCI-koneoppimisen arkistossa . Huipputulokset ovat 98 prosentin tarkkuudella.

Käynnistä Weka Explorer:

  1. Avaa Weka GUI Chooser.
  2. Napsauta Resurssienhallintaa ”-Painiketta avataksesi Weka Explorer.
  3. Lataa Ionosphere-tietojoukko data / ionosphere.arff -tiedostosta
  4. Napsauta“ Classify ”avataksesi Classify-välilehden .

1. Baging

Bootstrap Aggregation tai Bagging for short on kokonaisuusalgoritmi, jota voidaan käyttää luokitteluun tai regressioon. Bootstrap on tilastollinen estimointitekniikka, jossa tilastollinen määrä, kuten keskiarvo, arvioidaan useista satunnaisista näytteistä (korvaavilla). Se on hyödyllinen tekniikka, kun sinulla on rajallinen määrä tietoa ja olet kiinnostunut vakaammasta arvioinnista tilastollisesta suuruudesta.

Tätä näyteperiaatetta voidaan käyttää koneoppimismalleissa. Useita satunnaisnäytteitä harjoitustiedoista otetaan korvaavilla ja niitä käytetään useiden eri koneoppimismallien kouluttamiseen. Kutakin mallia käytetään sitten ennusteen tekemiseen ja tulosten keskiarvo antaa vahvemman ennusteen.

Sitä voidaan parhaiten käyttää malleissa, joilla on pieni esijännitys ja suuri varianssi, mikä tarkoittaa, että niiden tekemät ennusteet ovat suuresti riippuvaisia ​​tiedoista, joista heidät on koulutettu. Käytetyimmät pussitusalgoritmit, jotka sopivat tähän suurten varianssien vaatimukseen, ovat päätöspuita.

Valitse pussitusalgoritmi:

  1. Napsauta Valitse-painiketta ja valitse Laukku meta-ryhmän alla.
  2. Napsauttamalla algoritmin nimeä voit tarkistaa algoritmin kokoonpanon.
Weka-määritys pussitusalgoritmille

Pussin avainkokoonpanoparametri on pussitettavan mallin tyyppi . Oletusarvo on REPTree, joka on Weka-toteutus vakiopäätöspuusta, jota kutsutaan myös lyhyesti luokitus- ja regressiopuuksi tai CARTiksi. Tämä määritetään luokitteluparametrissa.

Kunkin satunnaisen otoksen koko määritetään “bagSizePercent” -kohdassa, joka on prosenttiosuus raakakoulutuksen tietojoukosta. Oletusarvo on 100%, mikä luo uuden satunnaisotoksen, joka on kooltaan sama kuin harjoitustietojoukko, mutta jolla on erilainen koostumus.

Tämä johtuu siitä, että satunnainen otos piirretään korvaavalla, mikä tarkoittaa, että joka kerta esimerkki vedetään satunnaisesti harjoittelutietojoukosta ja lisätään otokseen, se lisätään myös takaisin harjoitustietojoukkoon, mikä tarkoittaa, että se voidaan valita uudelleen ja lisätä kaksi tai useampi kerta otokseen.

Lopuksi, pussien määrä (ja luokittelijoiden lukumäärä) voidaan määrittää parametrilla “numIterations”. Oletusarvo on 10, vaikkakin on tavallista käyttää satoja tai tuhansia arvoja. Lisää numIterations-arvon arvoa, kunnes mallissa ei enää ole parannusta tai muisti loppuu.

  1. Sulje algoritmin kokoonpano napsauttamalla “OK”.
  2. Napsauta Käynnistä-painiketta, jos haluat suorittaa algoritmin Ionosphere-tietojoukossa.

Voit nähdä, että oletusasetusten mukaan pussituksella saavutetaan 91%: n tarkkuus:

Weka-luokittelutulokset pussitusalgoritmille

2.Satunnainen metsä

Satunnainen metsä on jatkopäätös päätöksentekopuille, jota voidaan käyttää luokitteluun tai regressioon. Pussitettujen päätöspuiden alaosa on se, että päätöspuut rakennetaan ahnealla algoritmilla, joka valitsee parhaan jakopisteen puun rakennusprosessin jokaisessa vaiheessa. Sellaisena tuloksena olevat puut näyttävät lopulta hyvin samanlaisilta, mikä vähentää kaikkien säkkien ennusteiden varianssia, mikä puolestaan ​​vahingoittaa tehtyjen ennusteiden luotettavuutta.

Satunnainen metsä on parannus säkittyihin päätöspuihin, jotka häiritsee ahneita halkaisualgoritmeja puun luomisen aikana siten, että jakopisteet voidaan valita vain syötemääritteiden satunnaisesta osajoukosta. Tällä yksinkertaisella muutoksella voi olla suuri vaikutus, joka vähentää säkittyjen puiden samankaltaisuutta ja puolestaan ​​tuloksena olevia ennusteita.

Valitse satunnainen metsäalgoritmi:

  1. Napsauta Valitse-painiketta -painiketta ja valitse ”puut” -ryhmästä ”RandomForest”.
  2. Napsauttamalla algoritmin nimeä voit tarkistaa algoritmin kokoonpanon.
Weka-määritys satunnainen metsäalgoritmille

Lueteltujen parametrien lisäksi Edellä säkitystä varten satunnaisen metsän avainparametri on kussakin jakopisteessä huomioon otettavien ominaisuuksien määrä. Wekassa tätä voidaan hallita numFeatures-määritteellä, joka on oletusarvoisesti 0, joka valitsee arvon automaattisesti nyrkkisäännön perusteella.

  1. Sulje algoritmin kokoonpano.
  2. Napsauta Käynnistä-painiketta, jos haluat suorittaa algoritmin Ionosphere-tietojoukossa.

Voit nähdä, että oletusasetuksilla satunnaiset metsät saavuttavat tarkkuuden. / 92%:

Satunnaisen metsäalgoritmin Weka-luokitustulokset

3. AdaBoost

AdaBoost on yhdistetty koneoppimisalgoritmi luokitusongelmille. Se on osa ryhmäparannusmenetelmiä, joita kutsutaan tehostamiseksi, jotka lisäävät uusia koneoppimismalleja sarjaan, jossa seuraavat mallit yrittävät korjata aikaisempien mallien tekemät ennustevirheet. AdaBoost oli ensimmäinen onnistunut tämäntyyppisen mallin toteutus.

Adaboost suunniteltiin käyttämään lyhyitä päätöspuumalleja, joista jokaisella oli yksi päätöspiste. Tällaisia ​​lyhyitä puita kutsutaan usein päätöskannoiksi.

Ensimmäinen malli on rakennettu normaalin mukaisesti. Jokainen koulutustietojoukon tapaus painotetaan ja painot päivitetään mallin yleisen tarkkuuden ja sen mukaan, onko ilmentymä luokiteltu oikein vai ei. Seuraavia malleja koulutetaan ja lisätään, kunnes saavutetaan vähimmäistarkkuus tai muut parannukset eivät ole mahdollisia. Jokainen malli painotetaan sen taitojen perusteella, ja näitä painoja käytetään yhdistettäessä kaikkien mallien ennusteet uusiin tietoihin.

Valitse AdaBoost-algoritmi:

  1. Napsauta Valitse-painike ja valitse meta-ryhmästä AdaBoostM1.
  2. Napsauta algoritmin nimeä tarkistaaksesi algoritmin kokoonpanon.
Weka-määritys AdaBoost-algoritmille

Heikko oppija sisällä AdaBoost-malli voidaan määrittää luokitteluparametrilla. Oletusarvo on päätöskannan algoritmi, mutta muita algoritmeja voidaan käyttää. keskeinen parametri heikon oppijan lisäksi on sarjoina luotavien ja lisättävien mallien lukumäärä. Tämä voidaan määrittää parametrilla “numIterations” ja oletusarvoisesti 10.

  1. Sulje algoritmin kokoonpano napsauttamalla OK.
  2. Suorita napsauttamalla Käynnistä-painiketta. Ionosphere-tietojoukon algoritmi.

Voit nähdä, että oletusasetuksilla AdaBoost saavuttaa 90 prosentin tarkkuuden:

Weka-luokitustulokset AdaBoost-algoritmille

4. Äänestäminen

Äänestäminen on ehkä yksinkertaisin kokonaisuusalgoritmi, ja se on usein erittäin tehokas. Sitä voidaan käyttää luokittelu- tai regressio-ongelmiin. Äänestys toimii luomalla kaksi tai useampia alimalleja. Jokainen alimalli tekee ennusteita, jotka on yhdistetty jollakin tavalla, esimerkiksi ottamalla ennustusten keskiarvo tai tila, jolloin kukin alimalli voi äänestää lopputuloksen olevan.

Valitse Ääni algoritmi:

  1. Napsauta Valitse-painiketta ja valitse meta-ryhmästä Äänestys.
  2. Napsauta algoritmin nimeä tarkistaaksesi algoritmin kokoonpanon.
Weka-asetukset äänestysryhmän algoritmille

Ääniyhdistelmän avainparametri on alimallien valinta. Mallit voidaan määrittää Wekassa “luokittelijat” -parametrissa.Tätä parametria napsauttamalla voit lisätä joukon luokittelijoita:

Weka-algoritmin valinta äänestysryhmän algoritmille

Napsauttamalla Muokkaa-painiketta valitun luokittelijan avulla voit määrittää kyseisen luokittelijan tiedot. Alamallien valinnan tavoitteena on valita mallit, jotka tekevät melko erilaisia ​​ennusteita (korreloimattomat ennusteet). Sellaisena on hyvä nyrkkisääntö valita hyvin erilaiset mallityypit, kuten puut, esimerkkipohjaiset menetelmät, toiminnot ja niin edelleen.

Toinen avainparametri, joka määritetään äänestämistä varten, on kuinka alamallit yhdistetään. Tätä ohjaa parametri ”combinationRule”, joka on asetettu ottamaan oletusten todennäköisyyksien keskiarvo.

  1. Sulje algoritmin kokoonpano napsauttamalla ”OK”.
  2. Napsauta Käynnistä-painikkeella algoritmin ajamiseksi Ionosphere-tietojoukossa.

Voit nähdä, että oletusasetuksilla äänestys saavuttaa 64%: n tarkkuuden. Ilmeisesti tällä tekniikalla saavutettiin huonoja tuloksia, koska vain ZeroR-alimalli valittiin.

5. Pinoaminen

Pinottu yleistäminen tai lyhyt pinoaminen on yksinkertainen jatko äänestysryhmille, jota voidaan käyttää luokittelu- ja regressio-ongelmiin.

Useiden alimallien valinnan lisäksi pinoaminen antaa sinun Määritä toinen malli oppiaksesi parhaiten yhdistämään alimallien ennusteet. Koska alimallien ennusteiden yhdistämiseksi parhaiten käytetään metamallia, tätä tekniikkaa kutsutaan joskus sekoitukseksi, kuten ennusteiden sekoittamisessa.

Valitse Pinoamisalgoritmi:

  1. Napsauta Valitse-painiketta ja valitse pinoaminen meta-ryhmästä.
  2. Napsauta algoritmin nimeä tarkistaaksesi algoritmin kokoonpanon.
Weka-kokoonpano pinontayhtymän algoritmille

Kuten Ääni-luokittelussa, voit määrittää alimallit luokittelijat-parametrissa. Malli, joka opetetaan oppimaan parhaiten yhdistämään ennustukset alimallista, voidaan määrittää ”metaClassifier” -parametrissa, joka on oletusarvoisesti nolla. On tavallista käyttää lineaarista algoritmia, kuten lineaarinen regressio tai logistinen regressio regressio- ja luokitustyyppisiin ongelmiin. Näin saavutetaan tulos, joka on yksinkertainen lineaarinen yhdistelmä alimallien ennusteista.

  1. Sulje algoritmin kokoonpano napsauttamalla “OK”.
  2. Napsauta Käynnistä-painike, jos haluat suorittaa algoritmin Ionosphere-tietojoukossa.

Voit nähdä, että oletusasetusten mukaan pinoaminen saavuttaa 64% tarkkuuden:

Weka-luokitustulokset pinontayhtymän algoritmille

Uudelleen , sama kuin äänestäminen, Stacking saavutti huonoja tuloksia, koska vain ZeroR-alimalli valittiin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *