Többosztályos problémák

A fejezetben leírt osztályozási módszerek némelyikét, például a tartóvektor-gépeket és az AdaBoost módszert eredetileg bináris osztályozási problémákhoz tervezték. Sok olyan valós probléma van azonban, mint például a karakterfelismerés, az arcazonosítás és a szövegosztályozás, ahol a bemenő adatok kettőnél több kategóriába vannak osztva. Ez a szakasz néhány olyan módszert mutat be, amelyek a bináris osztályozókat terjesztik ki többosztályos problémák kezeléséhez. A módszerek szemléltetéséhez legyen Y={ y 1 , y 2 ,, y K } a bemenő adatok osztályainak halmaza.

Az első módszer a többosztályos problémát K bináris problémára bontja. Minden y i Y osztályhoz egy bináris problémát hozunk létre, ahol minden az y i osztályhoz tartozó példányt pozitív esetként, míg a kimaradó példányokat negatív esetekként tekintjük. Ezután egy bináris osztályozót alkotunk az y i osztály példányainak az összes többi osztálytól való elválasztásához. Ezt ``egy a többi ellen'' (one-against-rest, 1-r) módszernek nevezik.

A második, ``egy az egy ellen'' (one-against-one, 1-1) nevű módszer K(K1)/2 bináris osztályozót hoz létre, ahol minden egyes osztályozót egy ( y i , y j ) osztálypár megkülönböztetésére használunk. Az ( y i , y j ) párhoz tartozó osztályozó létrehozásánál figyelmen kívül hagyjuk azokat a példányokat, amelyek nem tartoznak sem az y i , sem az y j osztályhoz. Az 1-r és az 1-1 módszernél is a bináris osztályozók által létrehozott predikciók kombinálásával osztályozunk egy tesztpéldányt. A predikciók kombinálásához tipikusan egy szavazási sémát alkalmaznak, ahol a legtöbb szavazatot kapott osztályt rendelik hozzá a tesztpéldányhoz. Az 1-r módszernél ha egy példány negatívként osztályozott, akkor a pozitív osztályt kivéve minden osztály egy szavazatot kap. Ez a módszer azonban a külöböző osztályok közötti döntetlenhez vezethet. Egy másik lehetőség a bináris osztályozók kimeneteinek valószínűség-becslésekké transzformálása, majd a tesztpéldánynak a legnagyobb valószínűségű osztályhoz rendelése.

5.10. Példa.

Vegyünk egy többosztályos problémát, ahol Y={ y 1 , y 2 , y 3 , y 4 } . Tételezzük fel, hogy egy tesztpéldányt az 1-r módszer szerint (+,,,) módon osztályozunk. Más szavakkal, pozitívként osztályozzuk, ha y 1 -et használjuk pozitív osztályként, és negatívként, ha y 2 , y 3 és y 4 a pozitív osztály. Egyszerű többségi szavazás használata esetén y 1 kapja a legtöbb számú szavazatot, négyet, míg az összes többi osztály csak három szavazatot kap. A tesztpéldányt ezért y 1 osztályúként osztályozzuk.

Tételezzük fel, hogy a tesztpéldányt a következőképpen osztályozzuk az 1-1 módszer segítségével:

Bináris

+ : y 1

+ : y 1

+ : y 1

+ : y 2

+ : y 2

+ : y 3

osztálypár

: y 2

: y 3

: y 4

: y 3

: y 4

: y 4

Osztályozás

+

+

+

+

A táblázat első két sora az osztályozó építéséhez választott ( y i , y j ) osztálypároknak felel meg, az utolsó sor pedig a tesztpéldány prediktált osztályát reprezentálja. A predikciók kombinálása után y 1 és y 4 két szavazatot kap, míg y 2 és y 3 csak egy szavazatot kap. A tesztpéldányt ezért y 1 vagy y 4 osztályúként osztályozzuk, a döntetlen helyzetek megoldásához használt eljárástól függően.

Hibajavító kimenet kódolás

Az előző két módszer egy lehetséges problémája, hogy túl érzékenyek a bináris osztályozási hibákra. Az 5.10. példában adott 1-r módszernél ha legalább az egyik bináris osztályozó egy hibát vét az előrejelzéseiben, akkor az együttes végül az osztályok közötti döntetlent jelenthet vagy hibás előrejelzést adhat. Tételezzük fel például, hogy a tesztpéldány (+,,+,) módon osztályozott a harmadik osztályozó általi hibás osztályozásnak köszönhetően. Ebben az esetben bonyolult lesz megmondani, hogy a példányt vajon y 1 vagy y 3 osztályúként kell-e osztályozni, hacsak nem vesszük figyelembe az egyes osztálypredikciókhoz tartozó valószínűségeket.

A hibajavító kimenet kódolás (ECOC -- error-correcting output coding) módszer egy robusztusabb módját biztosítja többosztályos problémák kezelésének. A módszert egy zajos csatornákon keresztüli üzenetküldés információelméleti megközelítése ihlette. A módszer mögötti ötlet az átvitt üzenetekhez redundancia hozzáadása egy kódszó segítségével úgy, hogy a vevő érzékelheti a kapott üzenet hibáit, és visszanyerheti az eredeti üzenetet, ha a hibák száma kicsi.

Többosztályos tanuláshoz minden y i osztályt egy kódszónak nevezett egyedi, n hosszú bitsorozat reprezentál. Ezután n bináris osztályozót tanítunk a kódszó bitsorozat minden egyes bitjének előrejelzéséhez. Egy tesztpéldány prediktált osztályát az a kódszó adja meg, amelynek Hamming-távolsága a legközelebbi a bináris osztályozók által előállított kódszóhoz. Emlékezzünk arra, hogy két bitsorozat közötti Hamming-távolságot az eltérő bitek száma adja meg.

5.11. Példa.

Tekintsünk egy többosztályos problémát, ahol Y={ y 1 , y 2 , y 3 , y 4 } . Tételezzük fel, hogy az osztályokat a következő 7-bites kódszavakkal kódoljuk:

Osztály

Kódszó

      

y 1

1

1

1

1

1

1

1

y 2

0

0

0

0

1

1

1

y 3

0

0

1

1

0

0

1

y 4

0

1

0

1

0

1

0

A kódszó minden egyes bitjét egy bináris osztályozó tanításához használjuk fel. Ha egy tesztpéldányt (0,1,1,1,1,1,1) módon osztályoznak a bináris osztályozók, akkor a kódszó és y 1 közötti Hamming-távolság 1 , míg a többi osztálytól 3 a Hamming-távolság. A tesztpéldányt ezért y 1 osztályúként osztályozzuk.

A hibajavító kimenet kódolás egy érdekes tulajdonsága, hogy ha bármely kódszópár közötti minimális Hamming-távolság d , akkor a kimeneti kód bármely (d1)/2 számú hibája javítható a legközelebbi kódszó segítségével. Mivel a minimális Hamming-távolság bármely kódszópár között 4 az 5.11. példában, az együttes elviselheti a hét bináris osztályozó egyike által vétett hibákat. Ha egynél több osztályozó vét hibát, akkor az együttes nem minden esetben képes a hiba kompenzálására.

Egy fontos kérdés a különböző osztályokhoz megfelelő kódszóhalmaz tervezésének módja. A kódelméletben hatalmas számú algoritmus került kifejlesztésre korlátos Hamming-távolságú n -bites kódszavak generálására. Ezeknek az algoritmusoknak a tárgyalása azonban kívül esik ennek a könyvnek a keretein. Érdemes megjegyezni, hogy szignifikáns különbség van a kommunikációs feladatokhoz használt hibajavító kódok és a többosztályos tanuláshoz használtak tervezése között. Kommunikációhoz a kódszavaknak a sorok közötti Hamming-távolságot kell maximalizálni, hogy a hibajavítás elvégezhető legyen. A többosztályos tanulás azonban megköveteli, hogy a kódszavak soronkénti és oszloponkénti távolságai jól elkülönültek legyenek. Egy nagyobb oszloponkénti távolság biztosítja azt, hogy a bináris osztályozók kölcsönösen függetlenek, amely egy fontos követelmény az együttes tanulási módszereknél.