aktív tanulás

Kapcsolódó könyvfejezetek: 
21.1. Bevezetés

 

Aktív tanulás

Az aktív tanulás a hagyományos gépi tanulási módszerektől annyiban tér el, hogy a tanuló adathalmaz egyes mintáit a tanuló rendszer maga választja meg. Ettől a módszertől azt várják a kutatók, hogy a hagyományos véletlen mintavételnél (random sampling) gyorsabban, vagyis kevesebb minta felhasználásával tanul a rendszer.

Szükséges definíciók

 

Az adat <x,y> párokból áll, ahol x a tanuló rendszer bemenete, míg y az x-hez tartozó címke, vagyis az elvárt kimenet. Feltételezzük, hogy már vannak olyan mintáink, amelyek fel vannak címkézve.
Az aktív tanulórendszer szekvenciálisan választ ki olyan mintákat, melyek még nem címkézettek. A soron következő ilyen mintát lekérdezésnek (query) nevezzük. Az az eljárás, vagy személy, ami, vagy aki megmondja, hogy a lekérdezésnek, mi a címkéje, orákulumnak nevezzük. Feltételezzük, hogy egy orákulum van, aki mindig a helyes címkézést adja.
Azt az esetet, amikor az egyes mintákhoz a címkézés adott, de a változó-értékek nem, változóérték lekérdezésnek (feature-value acquisition) nevezzük [1].
A cél egy olyan prediktív modellt tanulni, mely helyesen címkézi (osztályozza) az eddig nem címkézett mintákat, a "lehető legkevesebb" tanulóminta felhasználásával.
 
Alkalmazási területek
·                    Dokumentumosztályozás – a hagyományos osztályozási feladatok egyike: a szabadszöveges dokumentumokat előre definiált diszjunkt halmazokba kell sorolni.
·                    Web keresés – előzőhöz hasonló feladat: pl.: vállalatok számár sokszor fontos, hogy egy kategóriába eső híreket naprakészen olvashassák.
·                    Információkivonatolás (information extraction) – szabadszöveges dokumentumokban szavak annotálása (címkézése).
·                    Email filtering – a nem kívánt leveleket el kell távolítani a postafiókból.
·                    Relevance feedback – a tanulórendszer a felhasználóknak visszajelzést ad arról, hogy pl.: egy film adatbázis, vagy egy webáruház egyes elemei mennyire relevánsak számára.
·                    Rákkutatásban – a tanulórendszer feladata megmondani, hogy mely biológiai jellemzők (biomárkerek) felelősek a rák kialakulásáért.
·                    Betegségek szimptómáinak meghatározásánál – a mezőgazdaságban előforduló probléma, hogy pl.: fák esetén a betegség egy igen költséges eljárással állapítható csak meg. A cél, hogy kiválasszuk azokat a könnyen diagnosztizálható klinikai jellemzőket, melyek alapján a betegség ténye könnyebben meghatározható.
 
Adatok elérhetősége
Az aktív tanulási feladatokat három külön csoportba szokás sorolni az alapján, hogy a nem címkézett adatokhoz hogyan férünk hozzá:
 
·                    Lekérdezés szintézis – ebben az esetben a tanulórendszer a lehetséges inputok teréből keres egyet és adja az orákulumnak címkézésre. Alkalmazási terület pl.: robotkar orientációjának meghatározása a folytonos állapottér egyes elemeihez tartozó kimenet lekérdezésével [2].
 
·                    Szelektív mintavétel – egyesével lehet lekérni az egyes mintákhoz tartozó változóértékeket. A változóértékek egy ismeretlen, de állandó eloszlás szerint érkeznek, a lekérés költsége nulla. A tanulórendszer feladata eldönteni, hogy az aktuálisan lekérdezett változóértékhez kér-e címkézést. Alkalmazási területek pl.: élőbeszéd annotálása, szenzorütemezés.
 
·                    Halmaz alapú mintavétel – adott a minták egy címkézett véges halmaza, ezek közül választhat a tanulórendszer. Alkalmazási terület pl.: osztályozási feladatok, rák diagnosztika, beszédfelismerés.
 
Lekérdezési stratégiák
A lekérdezési stratégiák alapján öt nagyobb csoportba sorolhatóak a feladatok, ezek a: Bizonytalansági mintavételezés, Verziótér csökkentés, Tanult modell várható változása, Hiba várhatóértékének minimalizálása, Modell szórásának minimalizálása
 
Bizonytalansági mintavételezés
A bizonytalansági mintavételezés alapgondolata az, hogy a rendszer olyan lekérdezést választ címkézésre, amelynek címkézésében valamilyen mérték alapján a tanulórendszer a legkevésbé biztos. Négy megoldás terjedt el:
 
1.                           Bináris osztályozás esetén a legegyszerűbb azt a mintát választani, melyhez tartozó címkék feltételes valószínűsége 0.5 közeli, ezzel meghatározva egy bizonytalan minta valódi címkéjét
 
x* = argminx abs(x - 0.5).
 
2.                           Azt az x-et választja, mely egyszerűen a legvalószínűbb kimenethez a legkisebb valószínűséget adja
 
x* = argmaxx (1 - P(y’|x)),
 
ahol y’ vagy maximalizálja a P(y|x) kifejezést, vagy y’-nek választhatjuk egyszerűen a leggyakoribb címkét is. Ezzel a közelítő módszerrel keressük azt a mintát, amelyre a legnagyobb annak valószínűsége, hogy a modellünk helytelenül osztályozza.
 
3.                           A harmadik módszer azt az x-et választja, melyhez tartozó két legnagyobb kimenet valószínűsége a legkisebb
 
x* = argminx (P(y1|x) – P(y2|x)),
 
ahol y1 maximalizálja a P(y|x) kifejezést, míg y2 a második legnagyobb valószínűséget adja. Vagyis azt a mintát választjuk mely esetében a modell a legkevésbé biztos a címkék megkülönböztetésében, ezzel csökkentve a bizonytalanságot.
 
4.                           A negyedik algoritmus azt az x-et választja, amely esetében az összes lehetséges kimenetre az entrópia a legnagyobb
 
x* = argmaxx (-∑i P(yi|x) logP(yi|x)),
 
ahol yi a lehetséges kimeneteket jelöli. Az entrópia szemléletesen egy eloszlás leírásához szükséges információ mennyiségét mutatja, vagyis ezzel a módszerrel azt a mintát választjuk címkézésre, mely a címkézésre nézve a legnagyobb információt hordozza.
 
Szemléletesen az entrópia akkor tűnik a legalkalmasabbnak, ha a veszteségfüggvény logaritmusát szeretnénk minimalizálni, míg a kettes és hármas sorszámú módszer akkor tűnik alkalmasnak, ha az osztályozás hibáját szeretnénk csökkenteni.
 
Verziótér csökkentés
A lehetséges megoldások azon halmazát, melyek konzisztensek az eddig címkézett mintahalmazzal verziótérnek nevezzük. A verziótér csökkentése során a tanulórendszer arra törekszik, hogy olyan mintát válasszon, mely a lehetséges megoldások terét a lehető legjobban csökkenti.
Az egyik ilyen általános algoritmus a query-by-committee (QBC), mely számon tartja a verziótér elemeit, és a tanulás minden lépésében az algoritmus egy olyan mintát fog választani, melynek címkézésében a verziótér elemei a lehető legjobban eltérnek. Ez szemléletesen azt jelenti, hogy olyan mintát választunk, mely valószínűleg a verziótér elemeinek nagy részével inkonzisztens, ezzel csökkentve annak méretét. A QBC algoritmushoz két feltételnek kell teljesülnie:
 
1.                                       számon kell tartani a verziótér elemeit
2.                                       szükséges egy mérték, mely az egyes mintákhoz megadja, hogy a verzió-tér elemei által prediktált címkék mennyire térnek el egymástól
 
Generatív modellek esetén megoldható, hogy a verziótér elemeit mintavételezzük a P(M|L) eloszlás szerint, ahol M a modellt, míg Laz eddig címkézett mintákat jelöli. Nem generatív modellek esetén alkalmazható a boosting, vagy a bootstrap (bagging) eljárás. Boosting során minden egyes lépésben egy újraszámított eloszlás alapján mintavételezünk a minták közül, ahol a lépésenként újraszámított eloszlást úgy alakítja az algoritmus, hogy a félrecímkézett mintákat nagyobb valószínűséggel rendelkezzenek. A bootstrap eljárás során minden lépésben egy új, az eredeti adathalmaznál kisebb adathalmazt generálunk úgy, hogy minden mintát azonos valószínűséggel választunk be az új adathalmazba, akár ismétléssel. Az új adathalmazokon aztán lehetséges modellek tanulása és a tanult modelleket felhasználhatjuk a kettes pontban említett mértékhez [4].
A mérték, ami megmutatja, hogy a tanult modellek egy mintához adott címkéi mennyire térnek el egymástól, több féle is lehet. Ilyenek pl.:
 
Entrópia alapú kiválasztás
 
x* = argmaxx (-∑i V(yi)/C log V(yi)/C),
 
ahol yiegy lehetséges címkézés, C az összes verziótérbeli modell száma, és V(yi) azt jelöli, hogy hány modell adta az yi címkét az x mintához.
 
Egy másik megoldás a Kullback-Leibler divergencia (KL divergencia) alkalmazása:
 
x* = argmaxx 1/C ∑C D(PM || PC),
 
ahol PMegy M modell valószínűsége, PC pedig a PMvalószínűségek átlaga a verziótérben és D(·||·) a KL divergenciát jelöli.
 
Bizonyos modellosztályokban a verziótér csökkentéshez szükséges számításokat a modellosztály implicit támogatja, ilyen pl.: az SVM, ahol a verzióteret a lehetséges paraméterezések (súlyozások) adják, ezt használja ki a [3].
 
Tanult modell várható változása
A tanuló rendszer ebben az esetben olyan mintát választ címkézésre, ami várhatóan a legjobban befolyásolja a modellt, ezzel gyorsítva fel a tanulás folyamatát. Olyan diszkriminatív modellek tanítása esetén alkalmazható, ahol gradiens módszerrel tanítjuk a modellt
 
x* = argmaxxi P(yi|x) || dℓ(L U <x,y>) ||,
 
ahol dℓ (·) jelöli a modell gradiensét, ||·|| az euklideszi távolságot, (L U <x,y>) pedig az L címkézettmintahalmaz és az <x,y> minta unióját jelöli. Ezzel a módszerrel tehát maximalizáljuk a modell változásának várhatóértékét.
 
Hiba várhatóértékének minimalizálása
Az ebbe a kategóriába tartozó algoritmusok  azt a mintát választják címkézésre, melyek a leginkább csökkentik a modell várható hibáját. A címkézett Lmintahalmaz ismeretében nézzük a (L U <x,y>) halmaz várható hibáját a nem címkézett U halmazra vonatkoztatva:
 
x* = argmaxxi P(yi|x) (∑u 1 – P’(y’|xu)),
 
ahol P’ a (L U <x,y>) adathalmazon tanult modell által adott feltételes valószínűség. Az eljárás a 0/1 veszteségfüggvényt minimalizálja.
Ez a technika a leg számításigényesebb az itt felsoroltak közül: nem csak, hogy meg kell becsülni a várható hibát az Ufelett, de minden egyes új címke esetén újra kell tanítani a modellt. A nagy számításigény miatt ennél a módszernél sokszor alkalmaznak pl.: Monte Carlo szimulációt.
 
Modell szórásának minimalizálása
Ez a módszer azt használja ki, hogy egy tanulórendszer négyzetes hibája felbontható három komponensre: egy modell független zajra, egy modellosztály függő biasra és a modell szórására.
 
ET[(y’ - y)2|x] = E[(y – E[y|x])2] + (EL[y’] – E[y|x])2 + EL[(y’ – EL[y’])2],
 
ahol y’ a modell válasza az ismeretlen címkéjű x bemenetre. A tanulórendszer nem képes befolyásolni a zajt, és a modellosztály megválasztása után az azzal járó biast sem. A tanulórendszer egyedül a tanult modell varianciáját csökkentheti. Ezen az elven alapul a Cohn et al. [3] által javasolt megoldás is, ahol három statisztikai módszer lett összehasonlítva: egy neurális hálózat, egy Gaussian mixture model (GMM), és egy lineáris regressziós megoldás Gaussi kernel függvénnyel. A neurális hálózat olyan gyengén teljesített, hogy a kiértékelésbe már nem került be.
A variancia becslésére egy a [3] által is alkalmazott lehetséges megoldás a becsült empirikus szórás közelítése var2y’ . A tanulórendszer azt az x mintát választja, melyre ez az érték a legkisebbnek adódik
 
x* = argminx var2y’.
 
Egy másik lehetőség a variancia becslése Fisher információval. A Cramér-Rao egyenlőtlenség szerint egy valószínűségi változó szórása alulról becsülhető a Fisher információ recipkrokával
 
var(θ) > 1/IL(θ),
 
ahol IL a rendszerre (valószínűségi változóra) vonatkozó Fisher információ a címkézett adatok alapján. A gyakorlatban sokszor szokták ezt a mennyiséget a variancia becslésére használni. Mivel ezt a kifejezést a modell szórásának minimalizálására használjuk, ezért a fenti egyenletben az M modell θ paraméterének szórását becsüljük a Fisher információval. Abban az esetben viszont, ha az M modellnek K paramétere van, egy K×K méretű kovariancia mátrixot kell becsülnünk, ezt a paraméterekre számított K×K méretű Fisher információs mátrix reciprokával tesszük. Azonban felmerül a kérdés, hogy egy mátrix esetében milyen mutatóra optimalizáljunk, egy lehetőség a reciprok mátrix nyoma (trace):
 
x* = argminx trace(IU IL-1),
 
ahol IU a nem címkézett adatokon számolt Fisher információ, szerepe az általánosító képesség megtartása az U halmazra nézve.
Ez a megoldás is igen számításigényes az egyszerűbb bizonytalansági mintavételezéshez képest.
 
Kiegészítő keretrendszer: információ sűrűség
Ahogy a modell szórás minimalizálás során, úgy a többi módszernél is megjelenik a probléma, hogy az új, címkézendő mintát csak a címkézett minták alapján választja a tanulórendszer, tekintet nélkül a nem címkézett adatokra. Egy általános megoldás, ha lekérdezés kiválasztása során figyelembe vesszük az U nem címkézett halmazt is
 
x* = argmaxx ΦA(x) × (1/U ∑u sim(x, xu))β,
 
ahol ΦA(x) az alapmódszer által adott „pontszám” az x változóra, míg a sim(·,·) egy hasonlósági mérték a tesztelt és egy nem címkézett minta között. A β paraméterrel állítható, hogy a tanulórendszer mennyire hagyatkozzon a kiválasztó algoritmusra és mennyire a nem címkézett halmazbeli elemekhez való átlagos hasonlóságra.
 
Nem hagyományos aktív tanulási feladat – változóérték lekérdezés
Hagyományosan az aktív tanulás során az egyes minták esetén ismertek, vagy kis költséggel hozzáférhetőek a változóértékek (x). A változóérték lekérdezés esetében ezek az információk hiányosak, egyes mintákhoz nem feltétlenül adott minden változóhoz érték. Ebben az esetben úgy módosul a feladat, hogy egy lekérdezéssel egy változó egyetlen mintához tartozó értékét kérdezzük le, így nem csak a megfelelő mintát kell megválasztani, hanem a megfelelő változót is. Egy ilyen problémára ad megoldást  Olivetti et al. [5], azzal az eltéréssel, hogy az általuk felvázolt esetben minden mintához adott volt a címke is. Olivetti et al. ráadásul nem egy „legjobb” modellt akar tanulni a meglévő adathalmazon, hanem a címkézésre releváns változókat kiválasztani a lehető legkevesebb információ alapján.
Megoldásuk során a négyzetes hiba minimalizálását Bayesi megközelítéssel redukálják a modell várható változásának maximalizálására. Ebből adódik, hogy az f változóhoz tartozó i minta haszna (benefit)
 
B(i, f) = ∫ ∑j (gj(Dk, xif = x) – gj(Dk))2 p(xif = x | Dk),
 
ahol gj (·) a j változóra vonatkozó kölcsönös információ. A megoldás a p(xif = x | Dk) értékeket EM algoritmussal közelíti.
Az algoritmus tehát az adatmátrix azon elemét választja, melyet a címkézve várhatóan a legnagyobb a címkézésre vonatkozó kölcsönös információ növekedése.
 
Összegzés
Az aktív tanulás a gépi tanulás egy egyre erősödő ága. Olyan területeken alkalmazzák sikerekkel, ahol az adatgyűjtés valamilyen szempontból költséges, ezért már az adatgyűjtés során szükséges a tanulás megkezdése.
A legtöbb gyakorlati megvalósítás azt mutatja, hogy az aktív megoldásoknak bár bizonyos esetekben van hátulütője, de egyes problémák esetén sikeresen alkalmazható, és jelentősen jobb eredményeket lehet vele elérni, mint a passzív tanulási megoldásokkal.

Kapcsolódó irodalom
[1] Burr Settles, Active Learning Literature Survey, Computer Sciences Technical Report 1648, University of Wisconsin–Madison, 2009.
[2] David A. Cohn, Zoubin Ghahramani, Michael I. Jordan, Active Learning with Statistical Models, Journal of Artificial Intelligence Research, 129-145, 1996.
[3] Simon Tong, Daphne Koller, Support Vector Machine Active Learning with Applications to Text Classification, Journal of Machine Learning Research, 45-66, 2001.
[4] Naoki Abe, Hiroshi Mamitsuka, Query Learning Strategies using Boosting and Bagging, International Conference on Machine Learning, 1998
[5] Emanuele Olivetti, Sriharsha Veeramachaneni, Paolo Avesani, Active Learning of Feature Relevance, in Computational Methods of Feature Subset Selection, 89-107, 2008, Chapman and Hall/CRC