Egy osztályozó teljesítményének a kiértékelése

A 4.4.4. szakaszban számos módszert leírtunk egy modell általánosítási hibájának becslésére a tanítás során. A becsült hiba a modell kiválasztásban segíti a tanuló algoritmust, vagyis annak a megfelelő bonyolultságú modellnek a megtalálásában, amely nem fogékony a túlillesztésre. Miután felépült a modell, a teszthalmazon lehet alkalmazni korábban ismeretlen rekordok osztálycímkéinek az előrejelzésére.

Gyakran hasznos a modell teljesítményét a teszthalmazon mérni, mivel egy ilyen mérés a modell általánosítási hibájának egy torzítatlan becslését adja. A teszthalmazon számolt pontosságot vagy hibaarányt szintén használhatjuk különböző osztályozók ugyanazon a területen vett relatív teljesítményének az összehasonlítására. Ahhoz azonban, hogy ezt megtegyük, ismernünk kell a tesztrekordok osztálycímkéit. Ebben a pontban néhány, osztályozók teljesítményének a kiértékelésére általánosan használt módszert tekintünk át.

Visszatartó módszer

A visszatartó (holdout) módszerrel a címkézett esetekből álló eredeti adatokat két diszjunkt halmazra bontjuk, melyeket tanító- és teszthalmaznak nevezünk. Az osztályozási modellt ezután a tanulóhalmazon építjük fel, és teljesítményét a teszthalmazon értékeljük ki. A tanulásra és a tesztelésre fenntartott adatok arányát az elemzők általában saját belátásuk szerint állapítják meg (például fele-fele, vagy kétharmad a tanulásra és egyharmad a tesztelésre). Az osztályozó pontosságát a felépített modell teszthalmazon mért pontossága alapján lehet becsülni.

A visszatartó módszernek számos jól ismert korlátja van. Először is kevesebb címkézett eset áll rendelkezésére a tanuláshoz, mert néhány rekordot a teszteléshez tartunk vissza. Ennek eredményeképpen a felépített modell nem lehet olyan jó, mintha az összes címkézett esetet a tanulásra használnánk. Másodszor, a modell nagyban függhet a tanuló- és teszthalmazok összetételétől. Minél kisebb a tanulóhalmaz mérete, annál nagyobb a modell szórása. Másrészt, ha a tanulóhalmaz túl nagy, akkor a kisebb teszthalmazból számított becsült pontosság kevésbé megbízható. Egy ilyen becslésről azt mondhatjuk, hogy szélesebb konfidencia intervallummal rendelkezik. Végül, a tanuló- és teszthalmazok nem függetlenek egymástól. Mivel a tanuló- és teszthalmazok egyaránt az eredeti adatok részhalmazai, egy olyan osztály, amely felülreprezentált az egyik részhalmazban, alulreprezentált lesz a másikban, és fordítva.

Véletlen alulmintavételezés

A visszatartó módszert többször megismételhetjük azért, hogy egy osztályozó teljesítményének a becslését javítsuk. Ez a megközelítés az úgynevezett véletlen alulmintavételezés (random subsampling). Legyen ac c i a modell pontossága az i -edik iterációnál. A teljes pontosság az ac c sub = i=1 k ac c i /k képlettel adódik. A véletlen alulmintavételezés még mindig szembe találja magát néhány, a visszatartó módszerrel kapcsolatos problémával, mert nem használ annyi adatot a tanításra, amennyit lehetséges. Emellett nincs hatalma afölött, hogy egy rekordot hány alkalommal használunk tanításra és tesztelésre. Ennek következtében bizonyos rekordokat lehet, hogy gyakrabban használunk a tanulásnál, mint másokat.

Keresztellenőrzés

A véletlen alulmintavételezés egy alternatívája a keresztellenőrzés (cross-validation). Ebben a megközelítésben minden rekordot ugyanannyiszor használunk tanításra és pontosan egyszer tesztelésre. A módszer szemléltetésére tegyük fel, hogy az adatokat két egyenlő nagyságú részhalmazra osztjuk. Válasszuk először ki az egyik részhalmazt tanításra, a másikat pedig tesztelésre. Ezután cseréljük fel a részhalmazok szerepét, így a korábbi tanulóhalmaz lesz a teszthalmaz, és fordítva. Ez a megközelítés az úgynevezett kettős keresztellenőrzés. A teljes hibát úgy kapjuk, hogy mindkét futás hibáját összegezzük. Ebben a példában minden egyes rekordot pontosan egyszer használjuk tanításra és egyszer tesztelésre. A k -szoros keresztellenőrzés módszere ezt a megközelítést általánosítja úgy, hogy az adatokat k egyenlő méretű partícióra osztja fel. Mindegyik futás során az egyik partíciót választjuk ki tesztelésre, míg a megmaradóakat a tanításra használjuk. Ezt a folyamatot k -szor ismételjük meg, így minden egyes partíciót pontosan egyszer használunk tesztelésre. A teljes hibát ismét az összes k számú futás hibájának az összegzésével kapjuk. A k -szoros keresztellenőrzés módszerének egy speciális eseteként legyen k=N , az adatállomány mérete. Ebben az úgynevezett hagyj-ki-egyet (leave-one-out) megközelítésben minden teszthalmaz egyetlen rekordot tartalmaz. Ennek a megközelítésnek az az előnye, hogy annyi adatot használ a tanításnál, amennyi csak lehetséges. Ezenkívül a teszthalmazok egymást kölcsönösen kizáróak és ténylegesen lefedik a teljes adatállományt. Ennek a megközelítésnek az a hátránya, hogy számításilag költséges N -szer megismételni az eljárást. Továbbá, mivel mindegyik teszthalmaz csak egy rekordot tartalmaz, a becsült teljesítménymérték varianciája általában nagy.

Bootstrap

A eddig bemutatott módszerek feltételezik, hogy a tanulórekordokat visszatevés nélküli mintavételezéssel kapjuk. Ennek eredményeként nincsenek ismétlődő rekordok a tanuló- és teszthalmazokban. A bootstrap megközelítésben a tanulórekordokat visszatevéses módon mintavételezzük, azaz egy, a tanulásra már kiválasztott rekord visszakerül az eredeti rekordok közé, így azonos eséllyel húzzuk ki újra. Ha az eredeti adatok N rekordból állnak, akkor belátható, hogy átlagosan egy N elemű bootstrap minta az eredeti adatok 63,2% -át tartalmazza. Ez a közelítés abból a tényből következik, hogy egy rekord kiválasztásának a valószínűsége a bootstrap mintába 1 (11/N) N . Amikor N elég nagy, ez a valószínűség aszimptotikusan 1 e 1 =0,632 . Azok a rekordok, amelyek nem szerepelnek a bootstrap mintában, a teszthalmaz részei lesznek. A tanulóhalmazon felépített modellt ezután a teszthalmazon alkalmazzuk azért, hogy a bootstrap minta ε i pontosságát megbecsüljük. A mintavételi eljárást ezt követően b -szer ismételjük meg azért, hogy b számú bootstrap mintát generáljunk.

Számos változata van a bootstrap mintavételezési megközelítésnek aszerint, hogy hogyan számítják az osztályozó teljes pontosságát. Az egyik széles körben használt megközelítés a 0,632 bootstrap, amely mindegyik bootstrap minta ε i pontosságának és egy az eredeti adatok összes címkézett esetét tartalmazó tanulóhalmaz ac c s pontosságának a kombinálásával számítja ki a teljes pontosságot:

Pontosság:  ac c boot = 1 b i=1 b (0,632× ε i +0,368×ac c s ). (4.11)