Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Gépi tanulási alapfogalmak
2
Jellemzőkinyerés A tényleges tanulást megelőző lépés, amely előállítja a tanulás inputját képező jellemzővektort Az optimális jellemzőkészlet nyilván feladatfüggő Ideális esetben a feladatot ismerő szakember mondja meg De a gyakorlatban mégis sokszor az informatikusra marad Jó jellemzőkészlet: minél relevánsabb, és minél kevesebb jellemző Általában nem egyértelmű, hogy mely jellemzők segíthetik a tanulást Pl. influenza – láz segít, szemszín nem, életkor ??? Ha bizonytalanok vagyunk, vegyük be, legfeljebb nem segít Nem ilyen egyszerű: a nem releváns jellemzők bevétele két okból is nehezíti a tanulást Curse of dimensionality Zajt visz az adatokba, sok algoritmus ezt nehezen kezeli
3
Curse of Dimensionality
A sok jellemző megnehezíti a tanulást Jellemzők száma = jellemzőtér dimenziószáma Magasabb dimenziószámú térben nehezebb tanulni Példa: tekintsük az alább egyszerű tanulóalgoritmust Tanulás: a teret felosztjuk kis hiperkockákra, megszámoljuk a beléjük eső példákat. Minden kockát felcímkézünk aszerint, hogy melyik osztályból esik bele a legtöbb példa Osztályozás: egy új tesztpéldát mindig a befoglaló kocka címkéje szerint azonosítunk A kockák száma a dimenziószámmal exponenciálisan nő! Rögzített példaszám mellett egyre több lesz az üres kocka Adott példasűrűség eléréséhez egyre több példa kell A valódi tanulóalgoritmusok ennél okosabbak, de a probléma hasonló Több jellemző sokkal több tanítópélda kell
4
Irreleváns jellemzők hatása
Az irreleváns jellemzők megzavarhatják a tanulóalgoritmus működését Példa: legközelebbi szomszéd módszere Tanulás: tanítópéldák eltárolása Osztályozás: egy új pontot a legközelebbi szomszédja címkéje szerint azonosítunk Jó jellemzők: az egy osztályba tartozó pontok közel esnek egymáshoz Beveszünk egy zaj-jellegű jellemzőt: a pontokat egy új tengely mentén véletlenszerűen eltolja, a távolságviszonyokat teljesen felborítja A legtöbb tanulóalgoritmus okosabb ennél, de az irreleváns jellemzők az ő tanításukat is megnehezítik
5
A jellemzőtér optimalizálása
Általában kézileg próbáljuk a legjobb jellemzőket kiválasztani De természetesen erre is vannak automatikus módszerek Jellemzőkiválasztási (feature selection) algoritmusok N jellemzőből megtart M<N jellemzőt A jellemzőtér nem csak jellemzők eldobálásával, hanem a jellemzőtér transzformálásával redukálható Jellemzőtér-transzformációs (feature space transformation) módszerek Az új jellemzők a régi jellemzők valamilyen kombinálásával állnak elő Általában egyúttal a dimenziószámot is redukáljuk (az új tér dimenziószáma kisebb, mint a régié)
6
A tanult modell kiértékelése
A tanítópéldák alapján a tanítóalgoritmus készít egy modellt, azaz egy hipotézist a (x1,…,xN)c függvényre Ez a tér tetszőleges (x1,…, xN) pontjára meg tudja tippelni,hogy az melyik osztályba esik Fő célunk nem a tanítópéldák címkéjének hibátlan megtanulása, hanem a tanítás során nem látott példákra való általánosítás Hogyan tudunk becslést adni az általánosító képességre? A példáink egy részét nem használjuk fel a tanítás során teszthalmaz Kiértékelés: A modell lefuttatása a teszthalmazon tippelt címkék A tippelt és a valódi címkék összehasonlítása
7
A tanult modell kiértékelése 2
A hiba számszerűsítése regresszió esetén: Példa: az algoritmus kimenete egy egyenes – a hibát a sárga nyilak mutatják A sárga nyilak hosszának számszerűsítése: Mean squared error vagy Root-mean-squared error
8
A tanult modell kiértékelése 3
A hiba számszerűsítése osztályozás esetén: Legegyszerűbb megoldás: osztályozási hibaarány Eltévesztett tesztpéldák száma/Összes tesztpélda száma Részletesebb hibaanalízis: tévesztési mátrix vizsgálata Segít megérteni, hogy mely osztályokat keveri a gép A különböző hibákat különböző súllyal számíthatjuk a hibafüggvénybe Ehhez egy költségmátrixban kell megadni az egyes cellák súlyát „0-1 loss”: a főátló elemeit 0-val, a többi cellát 1-gyel súlyozzuk Megegyezik az osztályozási hibaaránnyal
9
A tanult modell kiértékelése 4
Eltérő költségsúlyozás Leginkább két osztály esetén szokásos Példa: betegség diagnosztizálása A költségmátrix 2x2-es: Hiba 1: False negative: a páciens beteg, de a gép nem jelzett Hiba 2: False pozitív: a gép jelzett, pedig a páciens nem beteg Nem egyforma súlyú! Metrikák: ld. ábra Orvosok által kedvelt metrika: Sensitivity: tp/(tp+fn) Specificity: tn/(tn+fp)
10
„No Free Lunch” tétel Nincs olyan univerzális tanulóalgoritmus, ami minden feladaton jobb, mint a többi Az optimális tanulóalgoritmus mindig a feladattól függ Minden tanulóalgoritmushoz lehet olyan feladatot találni, amin jól működik, és olyat is, amin rosszul Szemléltetés: Módszer 1 és Módszer 2 hipotézise ugyanazokon a példákon: Melyik a helyes? Attól függ, hogy mi a valódi eloszlás:
11
„No Free Lunch” tétel 2 Egy másik megfogalmazás: az „összes lehetséges feladatra” nézve az össze tanulóalgoritmus átlagos teljesítménye ugyanakkora Oké, de akkor mi értelme az egész gépi tanulásnak? Nem az „össze lehetséges feladatra” kell megoldást keresnünk, hanem csak egy feladattípusra Van értelme jó algoritmust keresni pl. arcfelismerésre vagy beszédfelismerésre Nagyon óvatosan kell fogalmazni, ha azt akarjuk mondani, hogy A algoritmus jobb, mint B Gépi tanulási adatbázisok: gépi tanulási algoritmusok széles körű, objektív összehasonlítására szolgálnak Pl: UCI Machine Learning Repository
12
Általánosítás és túltanulás
No Free Lunch tétel: sosem lehetünk biztosak benne, hogy a tanult modell jól általánosít a tanulás során nem látott esetekre Jó, de akkor hogyan válasszon a modell a hipotézisek közül? Tapasztalat: a modell méretének komplexitásának növelésével a modell rugalmassága nő, egyre pontosabb lesz a tanítópéldákon Viszont a tesztpéldákon egy ponton túl romlani fog a teljesítménye Ezt hívják túltanulásnak (overfitting): a modell az általános tulajdonságok után már az aktuális véges mintahalmaz egyedi furcsa- ságait kezdi megtanulni
13
Az „Occam borotvája” heurisztika
Tapasztalat: általában az egyszerűbb modell általánosít jobban De persze a túl egyszerű modell sem jó Einstein: „Things should be explained as simple as possible. But no simpler.” – ez lényegében az Occam borotvája elv. Az optimális komplexitású modell feladatonként eltérő De hogyan tudjuk megtalálni az ábrán látható optimumpontot? Elméleti megközelítés: formalizáljuk a hipotézis komplexitását Minimum Description Length elve: azt a h hipotézist keressük, amelyre K(h,D)=K(h)+K(D|h) minimális K(h): hipotézis komplexitása K(D|h): a D tanítópéldák h segítségével való felírásának komplexitása K(): Kolmogorov-komplexitás
14
Bias és variancia A „túl egyszerű” és a „túl komplex” modell egy másik formalizálása Regresszió esetére Példa: a piros polinomot illesztjük a kék pontokra, a zöld az optimális megoldás Túl alacsony fokszámú modell: a példákra sem képes illeszkednibias Túl magas fokszámú modell: a pontokra illesz- kedik, de köztük nagyon ugrál variancia Formálisan: Válasszunk egy n-elemű D tanítóhalmazt véletlenszerűen, és futtassuk le a tanítást Ez ismételjük meg sokszor, majd nézzük meg a tanult g(x,D) közelítés és az eredeti F(x) függvény négyzetes hibájának várható értékét egy x pontban
15
Bias-variance trade-off
Bias: Az átlagos becslés F(x)-től való eltérése Ha ez nem 0, akkor a modell tendenciózusan torzít, „húz valamerre” A modell komplexitásának (példánkban a polinom fokszámának) növelésével a bias csökken Variancia: Az egyes becslések szórása (az átlagos becsléstől való eltérésének átlaga) Ha nagy, az nem jó (a példák megválasztásától függően nagyon eltérő becsléseket kapunk) A modell komplexitásának növelésével a variancia nő Optimum: valahol középen
16
Az optimális komplexitás beállítása – Gyakorlati megközelítés
Minden gépi tanulási algoritmusnak vannak beállítandó paraméterei Ezekkel lényegében a modell komplexitását tudjuk szabályozni Pl. neuronhálók esetén: neuronok száma, rétegek száma,… Ezeket meta-paraméternek (hiperparaméternek) hívjuk, elkülönítendő a valódi paraméterektől (pl. neuronháló: súlyok) Különböző paraméterértékek mellett kicsit különböző modelleket kapunk Hogy tudjuk megtalálni az optimális meta-paramétereket? A tanítóhalmazból lecsípünk egy kisebb validációs (másik név: development) példahalmazt A példákat tehát train-dev-test halmazokra osztjuk A tanítást a train halmazon többször elvégezzük, különböző metaparaméterekkel A kapott modelleket kiértékeljük a dev halmazon (ezzel becsüljük az ábra piros görbéjét) Végül a development halmazon legjobbnak bizonyuló modellt értékeljük csak ki a teszthalmazon
17
Az optimális komplexitás beállítása – Példa
Tegyük fel, hogy két osztályunk van, és egy polinommal akarjuk őket elválasztani Ekkor a polinom együtthatói a modell paraméterei A polinom fokszáma a meta-paraméter Mi történik a fokszám növelésével? Az optimális fokszámot a független development halmaz segítségével találhatjuk meg
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.