Gépi tanulási alapfogalmak

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Lineáris regressziós MODELLEK
Összetett kísérleti tervek és kiértékelésük:
A Floyd-Warshall algoritmus
Az Országos Kompetenciamérés FIT-jelentéseinek új elemei
Készítette: Kosztyán Zsolt Tibor
I. előadás.
Összetett kísérleti tervek és kiértékelésük
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Módszerek sebességi állandók becslésére Kovács Benedek, Budapesti Műszaki és Gazdaségtudományi Egyetem.
GNSS elmélete és felhasználása Fázismérések lineáris kombinációi. A ciklustöbbértelműség feloldása.
Csoportosítás megadása: Δx – csoport szélesség
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Osztályozás -- KNN Példa alapú tanulás: 1 legközelebbi szomszéd, illetve K-legközelebbi szomszéd alapú osztályozó eljárások.
Rangsorolás tanulása ápr. 24..
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Becsléselméleti ismétlés
Mesterséges neuronhálózatok
Statisztika II. VI. Dr. Szalka Éva, Ph.D..
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Előadó: Prof. Dr. Besenyei Lajos
Mintavételes eljárások
Matematika III. előadások MINB083, MILB083
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki nagy örömére… 0. hét.
Regresszióanalízis 10. gyakorlat.
Az Alakfelismerés és gépi tanulás ELEMEI
Az F-próba szignifikáns
Textúra elemzés szupport vektor géppel
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Alapsokaság (populáció)
Alapfogalmak.
Lineáris regresszió.
Többtényezős ANOVA.
Két kvantitatív változó kapcsolatának vizsgálata
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
Zajok és fluktuációk fizikai rendszerekben december 2. Active Delay Implicit szekvencia tanulás.
I. előadás.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
Valószínűségszámítás II.
Megerősítéses tanulás 8. előadás
Az eredő szakasz GE(s) átmeneti függvénye alapján
1 Megerősítéses tanulás 7. előadás Szita István, Lőrincz András.
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Példa fogalom tanulására
Bevezetés a méréskiértékelésbe (BMETE80ME19) 2014/
Gépi tanulási módszerek
1.Kanonikus felügyelt tanulási feladat definíciója (5p) 1.Input, output (1p) 2.Paraméterek (1p) 3.Hipotézisfüggvény (1p) 4.Hibafüggvény/költségfüggvény.
Gazdaságstatisztika Gazdaságstatisztika Korreláció- és regressziószámítás II.
A Dijkstra algoritmus.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Gépi tanulási módszerek febr. 9.
Kereszt vagy beágyazott? Rögzített vagy véletlen?
I. Előadás bgk. uni-obuda
Mesterséges intelligencia
A neuronhálók tanítása A backpropagation algoritmus
A gépi tanulás célja Cél: Olyan programok létrehozása, amelyek a működésük során szerzett tapasztalatok segítségével képesek javítani a saját hatékonyságukon.
A évi kompetenciamérés FIT-jelentéseinek új elemei
Emlékeztető Az előző órán az adatok eloszlását Gauss-eloszlással közelítettük Célfüggvénynek a Maximum Likelihood kritériumot használtuk A paramétereket.
Szupportvektor-gépek A diák többsége innen származik: csd
Regularizáció.
Gazdaságinformatikus MSc
A mesterséges neuronhálók alapjai
Nemparmaterikus módszerek Parzen-ablak és legközelebbi szomszéd
GÉPI TANULÁSI ALAPFOGALMAK
2. Regresszióanalízis Korreláció analízis: milyen irányú, milyen erős összefüggés van két változó között. Regresszióanalízis: kvantitatív kapcsolat meghatározása.
A perceptron neurális modell és tanítása
Előadás másolata:

Gépi tanulási alapfogalmak

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

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

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

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é)

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

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

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

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)

„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:

„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

Á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

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

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 illeszkednibias 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

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

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

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