Egy jelentős figyelmet kiváltó osztályozási módszer a tartóvektor-gép (SVM -- Support Vector Machine). A módszer a statisztikai tanulás elméletéből származik és ígéretes tapasztalati eredményeket mutat sok gyakorlati alkalmazásban, a kézzel írt számjegyek felismerésétől kezdve a szövegosztályozásig. Az SVM nagyon jól működik sokdimenziós adatokkal, elkerüli a dimenzióproblémát. A módszer egy másik egyedi jellege, hogy a döntési határt a tanulóesetek egy részhalmazának segítségével reprezentálja, amelyeket tartóvektoroknak (support vector) nevezünk.
Az SVM alapötletének szemléltetéséhez először bevezetjük a maximális margójú hipersík (maximal margin hyperplane) fogalmát és megmagyarázzuk egy ilyen hipersík választásának értelmét. Ezután bemutatjuk, hogyan tanítható a lineáris SVM arra, hogy kifejezetten ezt a fajta hipersíkot keresse lineárisan szeparálható adatokban. Annak megmutatásával zárunk, hogy hogyan terjeszhető ki az SVM módszertan nemlineárisan szeparálható adatokra.
Az 5.21. ábrán egy olyan adathalmaz ábrázolása látható, amely két különböző osztályba tartozó eseteket tartalmaz (az osztályokat négyzetek és körök reprezentálják). Az adathalmaz lineárisan szeparálható, azaz találhatunk olyan hipersíkot, amelynek egyik oldalán van az összes négyzet, a másik oldalán pedig az összes kör. Mint azonban az 5.21. ábrán is látható, végtelen sok ilyen hipersík lehetséges. Noha ezek a tanulóhalmazon mért hibája nulla, nincs garancia arra, hogy a hipersíkok egyformán jól fognak teljesíteni korábban még nem látott esetekre. Az osztályozó ki kell, hogy válassza a hipersíkok egyikét a döntési határ reprezentálásához annak alapján, hogy várhatólag milyen jól teljesítenek a teszteseteken.
Hogy tisztább képet kapjunk arról, hogy a hipersíkok különböző
megválasztása milyen hatással van az általánosítási hibára, tekintsük
az 5.22. ábrán látható két döntési határt,
A maximális margó indoklása
A nagy margóval rendelkező döntési határoknak általában jobb az általánosítási hibájuk, mint a kis margóval rendelkezőknek. Intuitívan, ha a margó kicsi, akkor a döntési határ bármilyen kis perturbációjának elég jelentős hatása lehet az osztályozásra. A kis margóval rendelkező döntési határokat létrehozó osztályozók ezért hajlamosabbak a modell túlillesztésre és korábban nem látott eseteken gyakran rosszul általánosítanak.
Egy formálisabb magyarázatot ad a lineáris osztályozó margójának
és általánosítási hibájának kapcsolatára a strukturális kockázat minimalizálásként
(SRM -- structural risk minimization) ismert
statisztikai tanulási elv. Ez az elv egy felső korlátot ad egy
osztályozó általánosítási hibájára (
ahol
A lineáris modell kapacitása fordítottan arányos a margóval. A kis margóval rendelkező modelleknek nagyobb kapacitása van, mert rugalmasabbak és sok tanulóhalmazra tudnak illeszkedni, a nagy margóval rendelkező modellektől eltérően. Az SRM-elv szerint mivel azonban a kapacitás nő, az általánosítási hibahatár is nőni fog. Ezért a döntési határaik margóit maximalizáló lineáris osztályozók tervezése kívánatos annak biztosításához, hogy minimális legyen a legrosszabb esetre vett általánosítási hiba. Az egyik ilyen osztályozó a lineáris SVM, amelyet a következő szakasz ismertet.
A lineáris SVM egy olyan osztályozó, amely egy a legnagyobb margóval rendelkező hipersíkot keres, éppen ezért nevezik gyakran maximális margójú osztályozónak (maximal margin classifier). Ahhoz, hogy megértsük, hogyan tanul meg az SVM egy ilyen határt, néhány a lineáris osztályozó döntési határáról és margójáról szóló bevezető fejtegetéssel kezdjük.
Lineáris döntési határ
Tekintsünk egy
ahol
Az 5.23. ábra egy négyzetekből és körökből álló kétdimenziós
tanulóhalmazt mutat. Folytonos vonal szemlélteti a tanulóeseteket a
megfelelő osztályokra kettéválasztó döntési határt. Bármely a döntési
határ mentén elhelyezkedő eset ki kell hogy elégítse az (5.28)
egyenletet. Például ha
A két egyenlet egymásból kivonása a következőt eredményezi:
ahol
Bármely a döntési határ felett elhelyezkedő
ahol
ahol
A lineáris osztályozó margója
Tekintsük a döntési határhoz legközelebbi négyzetet és kört.
Mivel a négyzet a döntési határ felett helyezkedik el, ki kell hogy
elégítse az (5.29) egyenletet valamilyen pozitív
A döntési határ margóját a két hipersík közötti távolság adja meg. A margó kiszámításához legyen x1 egy bi1-en elhelyezkedő adatpont, x2 pedig egy adatpont bi2-n, ahogyan azt az 5.23. ábra mutatja. Ezeket a pontokat az (5.32) és az (5.33) egyenletekbe helyettesítve a d margó meghatározható a második egyenletnek az első egyenletből kivonásával:
A lineáris SVM modell tanulása
Az SVM tanulási fázisa magában foglalja a döntési határ
Ezek a feltételek azokat a követelményeket fogalmazzák meg, hogy
minden az
Bár az előző feltételek alkalmazhatók bármely lineáris osztályozóra (a perceptronokat is beleértve), az SVM egy további követelményt támaszt, azt, hogy a döntési határ margója maximális kell, hogy legyen. A margó maximalizálása azonban ekvivalens az alábbi célfüggvény minimalizálásával:
5.1. Definíció
(lineáris SVM: szeparálható eset) AZ SVM tanulási feladat az alábbi feltételes optimalizálási problémaként formalizálható:
Mivel a célfüggvény kvadratikus és a korlátozások lineárisak a
Először a célfüggvényt egy olyan alakba kell átírnunk, amely figyelembe veszi a megoldásokra előírt korlátozásokat. Az új célfüggvény az optimalizálási probléma úgynevezett Lagrange-függvénye:
ahol a
A Lagrange-függvény minimalizálásához vennünk kell és nullává
kell tegyük
Mivel a Lagrange-multiplikátorok ismeretlenek, továbbra sem
tudjuk meghatározni
Az egyenlőtlenség alakú korlátozások kezelésének egyik lehetséges módja ezek átalakítása egyenlőség alakú korlátozásokká. Ez lehetséges, amennyiben a Lagrange-multiplikátorok csak nemnegatívak lehetnek. Az ilyen transzformációk a következő Lagrange-multiplikátorokra vonatkozó korlátozásokhoz vezetnek, amelyek Karush-Kuhn-Tucker (KKT) feltételekként ismeretesek:
Első pillantásra úgy tűnhet, hogy annyi Lagrange-multiplikátor
van, ahány tanulóeset. Megmutatható, hogy az (5.42) egyenletben
megadott korlátozás alkalmazása után sok Lagrange-multiplikátor nulla
lesz. A korlátozás azt fejezi ki, hogy a
Az előbbi optimalizálási probléma megoldása továbbra is elég
ijesztő feladat, mert nagyszámú paramétert tartalmaz:
A következők a duális és a primál Lagrange-függvények közötti legfontosabb különbségek:
A duális Lagrange-függvény csak a Lagrange-multiplikátorokat és a tanulóadatokat tartalmazza, míg a primál Lagrange-függvény a Lagrange-multiplikátorokat valamint a döntési határ paramétereit. Mindazonáltal a két optimalizálási probléma megoldásai ekvivalensek.
A kvadratikus tag az (5.43) egyenletben negatív előjelű,
amely azt jelenti, hogy az
Nagy adathalmazokra a duális optimalizálási probléma numerikus
eljárásokkal oldható meg, mint például a kvadratikus programozás,
amely egy a könyv kereteit meghaladó téma. Miután megtaláltuk a
Az (5.42) egyenletet a tartóvektorokra megoldva kapjuk meg
5.5. Példa.
Tekintsük az 5.24 ábrán látható kétdimenziós adathalmazt, amely
nyolc tanulópéldányt tartalmaz. Kvadratikus programozás segítségével
megoldhatjuk az (5.43) egyenletben meghatározott optimalizálási
problémát, hogy minden tanulópéldányra megkapjuk a
Jelöljék
A
Ezeket átlagolva azt kapjuk, hogy
A döntési határ paramétereinek megtalálása után a
következőképpen osztályozunk egy
Ha
Az 5.25. ábra egy az 5.22. ábrához hasonló adathalmazt mutat,
azzal a különbséggel, hogy két új esetet (
Míg az (5.37) egyenletben adott eredeti célfüggvény továbbra is
alkalmazható, a
ahol minden
A
A döntési határ megtalálásához elvileg alkalmazhatjuk ugyanazt a célfüggvényt, mint korábban, és előírhatjuk az (5.45) egyenletben adott feltételeket. Mivel azonban nincsenek korlátozások a döntési határ által elkövethető hibák számára, a tanuló algoritmus olyan döntési határt találhat, amelynek nagyon széles a margója, de sok tanulóesetet hibásan osztályoz, ahogy az az 5.27. ábrán látható.
A probléma elkerüléséhez a célfüggvényt módosítani kell, hogy a kiegészítő változók nagy értékeivel büntessük a döntési határt. A módosított célfüggvényt a következő egyenlet adja meg:
ahol
Ebből következik, hogy a korlátozott optimalizálási probléma Lagrange-függvénye a következőképpen írható fel:
ahol az első két tag a minimalizálandó célfüggvény, a harmadik
tag a kiegészítő változókhoz tartozó egyenlőtlenség alakú
korlátozásokat reprezentálja, az utolsó tag pedig a
Megjegyezzük, hogy az (5.48) egyenletben megadott
Lagrange-multiplikátor csak akkor nem eltűnő, ha a tanulópéldány a
Az
Az (5.50), (5.51) és (5.52) egyenletek behelyettesítése a Lagrange-függvénybe a következő duális Lagrange-függvényt eredményezi:
amely azonos a lineárisan szeparálható adatok duális
Lagrange-függvényével (lásd az (5.40) egyenletet a 268. oldalon). A
A duális probléma numerikusan oldható meg, kvadratikus
programozási eljárások segítségével előállítva a
Az SVM az előző szakaszokban leírt megfogalmazásai egy lináris döntési határt hoznak létre a tanulóesetek osztályoknak megfelelő szétválasztásához. Ez a szakasz egy módszertant mutat be az SVM olyan adatokra alkalmazásához, amelyek döntési határa nemlineáris. A trükk itt az adatok áttranszformálása az eredeti koordinátatérből egy új térbe úgy, hogy a transzformált térben a példányok egy lineáris döntési határral legyenek szétválaszhatók. A transzformáció elvégzése után alkalmazhatjuk az előző szakaszokban bemutatott módszertant ahhoz, hogy egy lineáris döntési határt találjunk a transzformált térben.
Attribútum transzformáció
Annak szemléltetéséhez, hogy attribútum transzformáció hogyan
vezethet lineáris döntési határhoz, az 5.28. (a) ábra (
Emiatt az adatokhoz a döntési határ az alábbiak szerint írható fel:
amely a következő kvadratikus egyenletté egyszerűsíthető tovább:
Egy
A transzformált térben találhatunk olyan
Szemléltetés céljából ábrázoljuk grafikusan
A módszer egy lehetséges problémája az, hogy felmerülhet a sokdimenziós adatokhoz gyakran kapcsolódó dimenzióprobléma. Ebben a szakaszban később meg fogjuk mutatni, hogy hogyan kerüli el a nemlineáris SVM ezt a problémát (a kernel-trükkként ismert módszer segítségével).
Nemlineáris SVM modell tanulása
Bár az attribútum transzformációs megközelítés ígéretesnek tűnik, számos implementációs kérdést vet fel. Először is nem világos, hogy milyen típusú leképező függvényt kell használni annak biztosításához, hogy lineáris döntési határ legyen alkotható a transzformált térben. Egy lehetőség az adatok egy végtelen dimenziós térbe transzformálása, azonban egy ilyen sokdimenziós tér nem kezelhető olyan egyszerűen. Másodszor, ha ismernénk is a megfelelő leképező függvényt, számításigényes feladat a korlátozott optimalizálási probléma megoldása a sokdimenziós tulajdonságtérben.
Ezeknek a problémáknak a bemutatásához és kezelésük módjainak
vizsgálatához tegyük fel, hogy van egy alkalmas
5.2. Definíció
(nemlineáris SVM) A következő optimalizálási problémaként formalizálható a nemlineáris SVM-hez a tanulási feladat:
Vegyük észre a nemlineáris SVM és a lináris SVM tanulási
feladata közötti hasonlóságot. (Lásd az 5.1. definíciót a 268.
oldalon.) A legfontosabb különbség az, hogy az eredeti x attribútumok használata helyett a tanulási
feladat a
Ha kvadratikus programozási módszerek segítségével megkapjuk a
amelyek hasonlóak a lineáris SVM az (5.39) és (5.40)
egyenleteihez. Végül egy
Megjegyezzük, hogy az (5.57) egyenlet kivétével a hátralévő
számítások (az (5.58) és az (5.59) egyenlet) magukban foglalják a
transzformált térbeli vektorok
Kernel-trükk
A belső szorzatot gyakran tekintik két vektor közötti hasonlóság
mértékének. A 2.4.5. szakaszban a 75. oldalon bemutatott
koszinusz-hasonlóság például két egyre normált vektor belső
szorzataként definiálható. Hasonlóképpen a
A kernel-trükk egy módszer a transzformált térbeli hasonlóságnak
az eredeti attribútumhalmaz felhasználásával történő kiszámításához.
Tekintsük az (5.55) egyenletben adott
Ez az elemzés azt mutatja, hogy a transzformált térbeli belső szorzat kifejezhető az eredeti térbeli hasonlósági függvény segítségével:
Kernelfüggvénynek (kernel function) nevezzük a
Az 5.29. ábra (5.61) egyenletben adott polinomiális
kernelfüggvényt használó SVM-mel kapott nemlineáris döntési határt
mutatja. Egy
ahol b az (5.58) egyenlet segítségével kapott paraméter. A nemlineáris SVM által kapott döntési határ elég közel van az 5.28. (a) ábrán látható valós döntési határhoz.
Mercer-tétel
A nemlineáris SVM-hez használt kernelfüggvénnyel szembeni fő követelmény az, hogy léteznie kell egy olyan alkalmas transzformációnak, hogy a kernelfüggvény két vektorra történő kiszámítása ekvivalens a vektorok transzformált térbeli belső szorzatával. A követelmény formálisan a Mercer-tétel alakjában fogalmazható meg.
5.1. Tétel
(Mercer-tétel) Egy
alakban, ha minden olyan
Az 5.1. tételt kielégítő kernelfüggvényeket pozitív definit kernelfüggvényeknek nevezzük. Az alábbiakban ilyen függvényekre sorolunk fel példákat:
Vegyük (5.63) egyenletben adott polinomiális kernelfüggvényt.
Legyen
Mivel az integrálás eredménye nemnegatív, a polinomiális kernelfüggvény kielégíti a Mercer-tételt.
Az SVM-nek sok kívánatos tulajdonsága van, amelyek az egyik legelterjedtebben használt osztályozó algoritmussá teszik. Az SVM általános jellemzőit az alábbiakban foglaljuk össze:
Az SVM tanulási probléma megfogalmazható konvex optimalizálási problémaként, amelyhez hatékony algoritmusok állnak rendelkezésre a célfüggvény globális minimumának meghatározására. Más osztályozási módszerek, például a szabályalapú osztályozók és a mesterséges neurális hálók egy mohó stratégiát alkalmaznak a hipotézistér kereséséhez. Az ilyen módszerek hajlamosak csak lokálisan optimális megoldásokat megtalálni.
Az SVM kapacitás-szabályozást végez a döntési határ
margójának maximalizálásával. Mindazonáltal a felhasználó továbbra
is meg kell, hogy adjon további paramétereket, például a
használandó kernelfüggvények típusát és a kiegészítő változókat
behozó
SVM alkalmazható kategorikus adatokra, az adatokban
jelenlevő minden kategorikus attribútumhoz fiktív változók
bevezetésével. Például ha a Családi állapot három
lehetséges értéke { Egyedülálló, Házas, Elvált } ,
akkor minden egyes attribútumértékhez bevezethetünk egy bináris
változót.
A fejezetben bemutatott SVM megfogalmazás bináris oszályozási feladatokhoz alkalmas.Az 5.8. szakaszban kerül bemutatásra néhány az SVM többosztályos problémákra kiterjesztéséhez rendelkezésre álló módszer.