Tässä luvussa käsitellään optimaalisten piirteiden valintaa, luokittelijan optimointia ja luokittelijan suorituskyvyn arviointia.

Samankaltaiset tiedostot
Kaksiluokkainen tapaus, lineaarinen päätöspinta, lineaarisesti erottuvat luokat

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Laskennallinen data-analyysi II

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

1. TILASTOLLINEN HAHMONTUNNISTUS

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Demo 1: Simplex-menetelmä

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

SPSS-pikaohje. Jukka Jauhiainen OAMK / Tekniikan yksikkö

¼ ¼ joten tulokset ovat muuttuneet ja nimenomaan huontontuneet eivätkä tulleet paremmiksi.

Johdatus tekoälyyn. Luento : Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

KÄYTTÖOHJEET Serie RV

Harjoitus 7: NCSS - Tilastollinen analyysi

Mat Lineaarinen ohjelmointi

Monitavoiteoptimointi

Lisätehtäviä ratkaisuineen luentomonisteen lukuun 6 liittyen., jos otoskeskiarvo on suurempi kuin 13,96. Mikä on testissä käytetty α:n arvo?

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

805306A Johdatus monimuuttujamenetelmiin, 5 op

S09 04 Kohteiden tunnistaminen 3D datasta

ImageRecognition toteutus

Johdatus verkkoteoriaan 4. luento

Kanta ja dimensio 1 / 23

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

/1. MTTTP5, luento Normaalijakauma (jatkuu) Binomijakaumaa voidaan approksimoida normaalijakaumalla

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

806109P TILASTOTIETEEN PERUSMENETELMÄT I Hanna Heikkinen Esimerkkejä estimoinnista ja merkitsevyystestauksesta, syksy (1 α) = 99 1 α = 0.

11. Javan toistorakenteet 11.1

Kontrollipolkujen määrä

Oma nimesi Tehtävä (5)

riippumattomia ja noudattavat samaa jakaumaa.

Lääkintähelikopterikaluston mallintaminen

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Teema 8: Parametrien estimointi ja luottamusvälit

TUTKIMUSOPAS. SPSS-opas

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

/1. MTTTP5, luento Normaalijakauma (jatkuu) Binomijakaumaa voidaan approksimoida normaalijakaumalla

Sovellettu todennäköisyyslaskenta B

Algoritmit 2. Luento 6 Ke Timo Männikkö

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

JOHDATUS TEKOÄLYYN TEEMU ROOS

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu

811312A Tietorakenteet ja algoritmit I Johdanto

Introduction to Machine Learning

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Sovellettu todennäköisyyslaskenta B

Valitaan testisuure, jonka jakauma tunnetaan H 0 :n ollessa tosi.

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Lineaarinen optimointitehtävä

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

Algoritmit 2. Luento 6 To Timo Männikkö

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Menetelmät tietosuojan toteutumisen tukena - käytännön esimerkkejä. Tilastoaineistot tutkijan työvälineenä - mahdollisuudet ja rajat 2.3.

Ilkka Mellin Tilastolliset menetelmät. Osa 3: Tilastolliset testit. Tilastollinen testaus. TKK (c) Ilkka Mellin (2007) 1

2. TILASTOLLINEN TESTAAMINEN...

Aki Taanila LINEAARINEN OPTIMOINTI

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Numeeriset menetelmät

Osittaistuenta Gaussin algoritmissa: Etsitään 1. sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko. rivi 1. riviksi).

Tekoäly muuttaa arvoketjuja

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus verkkoteoriaan luento Netspace

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

10. Esitys ja kuvaus

Harha mallin arvioinnissa

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

6.1.2 Yhdessä populaatiossa tietyn tyyppisten alkioiden prosentuaalista osuutta koskeva päättely

MTTTP5, luento Otossuureita ja niiden jakaumia (jatkuu)

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

12. Javan toistorakenteet 12.1

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

805306A Johdatus monimuuttujamenetelmiin, 5 op

1.Työpaikan työntekijöistä laaditussa taulukossa oli mm. seuraavat rivit ja sarakkeet

Sovellettu todennäköisyyslaskenta B

Avainsanojen poimiminen Eeva Ahonen

805306A Johdatus monimuuttujamenetelmiin, 5 op

OMQ 30-90D digitaalisen ulkoyksikön säätimen EC2-551 käyttöohje

Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin

Kokonaisuudet johon opintojakso kuuluu Lang=fi&lang=fi&lvv=2014

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

1. Työpaikan työntekijöistä laaditussa taulukossa oli mm. seuraavat rivit ja sarakkeet

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1

Mistä on kyse? Pilvien luokittelu satelliittikuvissa. Sisältö. Satelliittikartoitus. Rami Rautkorpi Satelliittikartoitus

Latinalaiset neliöt. Latinalaiset neliöt. Latinalaiset neliöt. Latinalaiset neliöt: Mitä opimme? Latinalaiset neliöt

Tietotekniikan valintakoe

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Ratkaisuehdotukset LH 8 / vko 47

Väliestimointi (jatkoa) Heliövaara 1

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Algoritmit 1. Luento 3 Ti Timo Männikkö

7.4 Sormenjälkitekniikka

Menetelmä Markowitzin mallin parametrien estimointiin (valmiin työn esittely)

Älykäs datan tuonti kuljetusongelman optimoinnissa. Antoine Kalmbach

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Koodausteoria, Kesä 2014

Osakesalkun optimointi

Transkriptio:

1 Luokittelijan suorituskyvyn optimointi Tässä luvussa käsitellään optimaalisten piirteiden valintaa, luokittelijan optimointia ja luokittelijan suorituskyvyn arviointia. A. Piirteen valinnan menetelmiä Erottelukykyisten piirteiden ideoiminen on ratkaisevan tärkeää suorituskykyisen hahmontunnistusjärjestelmän suunnittelussa. Tämä ei kuitenkaan riitä, vaan lisäksi on suoritettava ns. piirteen valinta (feature selection), jossa haetaan annetusta piirrejoukosta luokat parhaitten erilleen saavat piirteet. Kaikkia laskettavissa olevia piirteitä ei yleensä voida valita mukaan piirrevektoriin, koska jokainen niistä lisää uusia parametreja luokittelijaan, mikä puolestaan edellyttää opetusaineiston määrän kasvattamista tilastollisten mallien kiinnittämiseksi. Käytännön sovelluksissa opetusaineistoa on työlästä hankkia suuria määriä, joten kiinnitettävien parametrien lukumäärää on syytä rajoittaa. Tässä yhteydessä voidaan joutua jättämään osa erottelukykyisistäkin piirteistä pois. Tällöin siis joudutaan tekemään kompromissi luokittelijan tarkkuuden ja aineiston hankkimiseen käytettävän työmäärän/hinnan kesken. Seuraavaksi tarkastellaan eräitä suosittuja piirteen valinnan menetelmiä. A.1. Full search Mikäli piirrejoukko on pienehkö, voidaan testata kaikki eri pituiset piirrevektorit ja piirrekombinaatiot sekä valita niistä paras. Piirteenvalinnan aikakompleksisuus on suuri (O(2 n )), joten suurilla piirremäärillä vie epäkäytännöllisen paljon laskentaaikaa. Jokaisella kierroksellahan täytyy opettaa luokittelija ja testata sen suorituskyky. A.2. Sequential forward/backward floating search Seuraavaksi tarkastellaan erästä suosittua piirteen valinnan menetelmää: sequential forward/backward floating search [Pudil et al 1994]. Ajatuksena on, että piirrevektoriin lisätään yksi piirre kerrallaan, mikäli tämä parantaa suorituskykyä; ja piirteitä poistetaan, mikäli tämä parantaa suorituskykyä (forward malli). Prosessia jatketaan lisäten ja poistaen vuoronperään (floating), etsien paras suorituskyky jokaisella piirrevektorin dimensiolla. Käytännössä usein piirrevektorin dimensio rajataan kuitenkin valittuun maksimiarvoon. Menetelmä on alioptimaalinen, sillä se ei takaa parhaan mahdollisenpiirrevektorin löytymistä. Käytännössä menetelmä tuottaa erinomaisen suorituskyvyn luokittelijalle. Algoritmin voi ajaa myös toiseen suuntaan aloittaen kaikki piirteet valittuna ja sitten poistaen ja lisäten piirteitä vuoronperää (backward malli).

2 Algoritmi: sequential forward floating search 1. Opeta ja testaa luokittelija jokaisella piirteellä erikseen sisällyttäen piirrevektoriin vain kyseinen piirre. Valitse lopuksi paras piirrevektori; dimensio d = 1. 2. Jatka kunnes ehto d = d max on saavutettu: 2.1. lisäämis-vaihe: - lisää yksi jäljellä oleva piirre kerrallaan piirrevektoriin ja testaa luokittelijan suorituskyky (dimensio = d+1) - valitse testien mukainen paras piirrevektori - sisällytä kyseinen piirre piirrevektoriin; d d+1 - Jos d 2 siirry takaisin vaiheen 2.1. alkuun muutoin mene vaiheeseen 2.2. 2.2. poistamis-vaihe - poista yksi piirre kerrallaan piirrevektorista ja testaa luokittelijan suorituskyky (dimensio = d-1) - valitse testien mukainen paras piirrevektori - jos se parantaa suorituskykyä d-1 dimension parhaasen tulokseen nähden, - poista kyseinen piirre piirrevektorista; d d-1 - siirry takaisin vaiheen 2.2. alkuun muutoin mene vaiheeseen 2.1. Huomautus 1: kyseessä on heuristinen hakualgoritmi joka pystyy taaksepäin katsomalla usein näkemään paikallisten maksimien ulkopuolella olevat paremmat piirrevektorit ja siten välttää pesiytymistä. Huomautus 2: mukana oleva piirrejoukko jakautuu kahteen ryhmään piirrevektorissa olevat ja jäljellä olevat käyttämättömät piirteet. Huomautus 3: algoritmi sisältää luokittelijan testaamisen, mikä on kuvattu osiossa B. Huomautus 4: algoritmin voi ajaa myös toiseen suuntaan (sequential backward floating search) aloittaen kaikki piirteet valittuna ja poistaen piirteitä vaiheessa 2.1 ja vastaavasti lisäten vaiheessa 2.2. (Huom. dimensio askeltaa toiseen suuntaan) Lähde: Pudil, P., Novovičová, J. & Kittler J. (1994) Floating search methods in feature selection. Pattern Recognition Letters 15 (11), 1119 1125.

3 B. Luokittelijan testaaminen Kertauksena aiemmasta: luokittelijan parametrit kiinnitetään opetusaineistolla (training data) ja sen suorituskyky arvioidaan riippumattomasti poimitulla testidatalla (test data). Pääperiaate on, että luokittelijan opetusaineiston tulisi olla mahdollisimman laaja, jotta luokittelijan parametrit saadaan kiinnitettyä mahdollisimman tarkasti ja luokittelijan yleistyskyvystä tulee hyvä. Toisaalta myös testiaineistoa tulisi olla mahdollisimman paljon. Koottu aineisto voidaan jakaa eri tavoin opetus- ja testiaineistoksi ja pyrkiä hyödyntämään se mahdollisimman tarkoin. Seuraavaksi esitellään usein käytettyjä menetelmiä aineiston käsittelemiseksi luokittelijan testaamista ajatellen. B.1. Hold-out test Aineisto jaetaan kahteen osaan, opetusaineisto ja testiaineisto, esimerkiksi suhteissa 2/3 ja 1/3. Opetettu luokittelija testataan ja siitä lasketaan määrätyt suorituskykyä kuvaavat tunnusluvut (katso kohta B.3.). Tämä menetelmä sopii silloin, kun aineistoa on paljon käytettävissä, jolloin opettaminen tuottaa hyvin yleistävän luokittelijan ja testaus antaa tarkan tuloksen. B.2. N-fold cross-validation Aineisto jaetaan N:ään yhtä suureen osaan ja niitä jokaista käytetään kerrallaan luokittelijan testaamiseen ja muita osia sen opettamiseen. Lopuksi lasketaan suorityskykysuureiden keskiarvo. Tällä tavoin jokainen datanäyte on mukana sekä opettamisessa että testaamisessa, mikä johtaa aineiston hyvään hyödyntämisasteeseen. Usein valitaan N=10.

4 Algoritmi: N-fold cross-validation 1. Osita data D satunnaispoiminnoilla N yhtä suureen, toisensa poissulkevaan osaan: D 1,...,D N. 2. Suorita kaikilla i-arvoilla: i=1,...,n 2.1. Poimi osa D i testiaineistoksi 2.2. Poimi muut osat D j opetusaineistoksi (j=1,...,n, j i) ja opeta luokittelija 2.3. Testaa luokittelija aineistolla D i ja talleta suorituskykysuure P i 3. Laske keskimääräinen suorituskykysuure P = (P 1 +...+ P N )/N B.3. Luokittelijan suorituskykysuureet Usein käytetään sekaannusmatriisia (confusion matrix), joka kuvastaa sitä kuinka paljon eri luokkiin kuuluvat testinäytteet luokitellaan väärin. Vasemman puolisin sarake luettelee testitapausten oikeat luokat, ja ylärivi luettelee luokittelijan tekemät ratkaisut. Matriisin soluihin merkitään luokittelutapauksista lasketut prosenttiluvut. Matriisin avulla saa palautetta siitä kuinka hyvin piirteet erottelevat luokkia toisistaan ja vihjeitä siitä mihin kannattaisi panostaa uusien piirteiden kehittämisessä. Eräässä esimerkkitapauksessa sekaannusmatriisi näyttää seuraavalta kun luokkia on kolme. Luokka 1 Luokka 2 Luokka 3 Luokka 1 92 6 2 Luokka 2 10 89 1 Luokka 3 3 0 97 Esimerkiksi: Luokan 1 tapauksista 92% on luokiteltu oikein luokkaan 1 kuuluviksi, mutta 6% on luokiteltu virheellisesti luokkaan 2 kuuluviksi ja 2% luokkaan 3 kuuluviksi. Paras tulos on sellainen, jossa päädiagonaalilla on mahdollisimman lähellä 100% olevia lukemia. Päädiagonaalin keskiarvo kuvastaa luokittelijan keskimääristä tarkkuutta (average accuracy) ja ilmoitetaan aina.

5 C. Luokittelijoiden yhdistäminen: hybridiluokittelijat Yksi mahdollisuus suorituskykyisen hahmontunnistusjärjestelmän kehittämisessä on suunnitella useita erilaisia kantaluokittelijoita samaan ongelmaan ja sitten yhdistää ne hybridiluokittelijaksi. Yksikään kantaluokittelijoista ei ole täydellinen, joten niiden yhdistäminen saattaa parantaa suorituskykyä, jos yhdistämisessä painotetaan niiden vahvuuksia oikealla tavalla. Kukin kantaluokittelijoista voi hyödyntää erilaisia piirteitä; esimerkkinä vaikkapa henkilön biometrinen tunnistaminen kamerakuvasta ja puhenäytteestä yhdistämällä kuva-analyysialgoritmien tuottamien kuvapiirteiden luokittelija äänialyysialgoritmien tuottamien äänipiirteiden luokittelija. Tällöin määrätyn hahmon tunnistamiseksi kantaluokittelijoiden tulokset yhdistetään sopivalla tavalla. Tähän on käytettävissä useita erilaisia menetelmiä. C.1. AdaBoost käyttäen yhtä kantaluokittelijaa AdaBoost (Adaptive Boosting) on koneoppimismenetelmä (machine learning), joka kehitettiin 1995. Tässä kurssissa sen periaate esitetään kaksiluokkaisen tunnistusongelman yhteydessä, mutta siitä on kehitetty moniluokkaisiin ongelmiin soveltuvia versioita. Laskennan edetessä algoritmi generoi kantaluokittelijasta (h) annetun määrän uusia luokittelijoita (h t, t=1,...,t) ja jokaiselle painokertoimen (α t ), joista kootaan lopullinen luokittelija H, hybridiluokittelija. Kukin uusi luokittelija muodostetaan eri otoksella opetusaineistoa painottaen virheellisesti luokiteltuja näytteitä, mitä tarkoitusta varten algoritmi laskee datajoukon näytteille (x i, y i ) joka iteraatiolla painokertoimia (D t (i)).

6 Algoritmi: AdaBoost kahdelle luokalle, yksi kantaluokittelija 1. Kokoa data (x 1, y 1 ),...,(x N, y N ), jossa x i on datanäyte ja y i sen luokkaleima: -1 tai +1 2. Alusta datanäytteiden painokertoimet D 1 (i) = 1/N, i= 1,,N 3. Iteroi T kierrosta: t=1,...,t 3.1. Opeta kantaluokittelija h satunnaisotoksella dataa painottaen D t -jakaumalla h t 3.2. Laske luokittelijan h t tekemä virhe 3.3. Laske 3.4. Laske Päivitä 4. Tulosta valmis hybridiluokittelija Huomautus 1: Kohdassa 3.1. kantaluokittelija opetetaan poimimalla aineistosta satunnaisotos (resampling) painottamalla poimintaa D-jakaumalla. D-jakauman alkio D(i) liittyy todennäköisyyteen luokitella datanäyte x i väärin. Alkion D(i) arvo muodostuu korkeaksi, jos usea luokittelija h t luokittelee sen väärin. Tällöin seuraavaa luokittelijaa muodostettaessa kohonnut D(i)-arvo nostaa todennäköisyyttä että kyseinen datanäyte tulee valituksi uuden luokittelijan opetusaineistoon. Siten eniten virheitä tuottavat datanäytteet vaikuttavat eniten uusien luokittelijoiden rakenteeseen, mikä johtaa siihen että uusimmat luokittelijat pyrkivät erikoistumaan hankalien datanäytteiden oikeaan luokitteluun. Alkupään luokittelijoiden opetuksessa painaa enemmän oikein luokittuvat datanäytteet. Hybridiluokittelija pyrkii siis luokittelemaan hyvin sekä helpot (kaukana päätöspinnasta) että vaikeat (lähellä päätöspintaa) sijaitsevat datanäytteet.

7 Hybridiluokittelijassa luokittelijoita painotetaan suhteessa niiden opetusaineistolla tekemään virheen määrään kertoimilla α j. Huomautus 2: Kohdassa 3.1. kantaluokittelijan opettamisessa voidaan soveltaa jopa piirteen valintaa jokaiselle luokittelijalle h t erikseen. Täten voi käydä niin, että jokaiselle niistä muodostuu erilainen piirrevektori. Kaikki ne kuitenkin hyödyntävät samaa alkuperäistä piirrejoukkoa. Huomautus 3: Kantaluokittelijaksi käy mikä hyvänsä opetettavissa oleva luokittelija (knn, lineaarinen kone, neuroverkko,...), mutta se luonnollisesti pysyy samana AdaBoost-algoritmissa; vain data vaihtuu iteroidessa. Lähde: Freund Y, Shapire R. A short introduction to boosting. Journal of Japanese Society for Artificial Intelligence, 14(5):771-780, September, 1999. C.1. AdaBoost käyttäen useaa kantaluokittelijaa Toinen käyttömahdollisuus tälle meta-algoritmille on yhdistää useita kantaluokittelijoita (h k, k=1,...,l). Perusideana on etsiä kullekin kantaluokittelijalle paras konfiguraatio ja sille painokerroin, jolla kyseisen luokittelijan luokittelutulosta painotetaan lopullisen luokittelutuloksen saamiseksi näytteelle. Samoin kuin aiemmin, laskennan edetessä algoritmi laskee datajoukon näytteille painokertoimia, joiden avulla voidaan painottaa väärin luokiteltavia näytteitä satunnaispoiminnoissa. Alla on esitetty eräs versio.

8 Algoritmi: AdaBoost kahdelle luokalle, monta kantaluokittelijaa h k 1. Kokoa data (x 1, y 1 ),...,(x N, y N ), jossa x i on datanäyte ja y i sen luokkaleima: -1 tai +1 2. Alusta datanäytteiden painokertoimet D 1 (i) = 1/N, i= 1,,N, ja luokittelijoiden painokertoimet α 1 k = 0, k=1,...,l 3. Iteroi T kierrosta: t=1,...,t 3.1. Opeta kantaluokittelijat h k satunnaisotoksella dataa painottaen D t -jakaumalla uudet luokittelijat h k t 3.2. Laske kunkin luokittelijan h k t tekemä virhe 3.3. Valitse paras luokittelija h k t eli jolla pienin ε k t-arvo 3.4. Laske parhaalle luokittelijalle h k t ja talleta myös h k t 3.5. Laske käyttäen parasta luokittelijaa h k t Päivitä 4. Tulosta valmis hybridiluokittelija käyttäen kunkin kantaluokittelijan parasta (talletettua) versiota. Huomautus 1: Algoritmi pyrkii etsimään kullekin kantaluokittelijalle mahdollisimman hyvän konfiguraation siten, että se kompensoi muiden luokittelijoiden virheitä.

9 Huomautus 2: Algoritmi pyrkii ohjautumaan kulloinkin parhaan luokittelijan tekemien luokitteluvirheiden mukaisesti ja löytämään niitä paremmin käsittelevän luokittelijan. Huomautus 3: Lopullinen hybridiluokittelija yhdistää parhaat löydetyt kantaluokittelijoiden konfiguraatiot.