250 likes | 334 Views
Modelle zé si technikák a statisztikai alakfelismerésben. Tóth László Mesterséges Intelligencia Tanszéki Kutatócsoport , Magyar Tudományos Akadémia & Szeged i Tudományegyetem. Az osztályozási feladat. Feladat: objektumok osztályba sorolása
E N D
Modellezési technikák a statisztikai alakfelismerésben Tóth László Mesterséges Intelligencia Tanszéki Kutatócsoport,Magyar Tudományos Akadémia& Szegedi Tudományegyetem
Az osztályozási feladat • Feladat: objektumok osztályba sorolása • Adott: osztályok {c1,…,cK}halmaza és mérési adatok („jellemzők”) (x1,…,xm)vektortere • Felhasználási fázis: • Input: egy x jellemzővektor • Output: egy ci osztálycímke • Tanulási fázis: • Input: felcímkézett <x(n), c(n)> tanítópéldák n=1,…,N • Output: valamilyen modell az XC leképezéshez • Egy egyszerű példa: karakterfelismerés • A gépi tanulás legfontosabb feladattípusa • Sokféle, egészen eltérő megközelítése, formalizálása létezik
Szemléltetés • 2 jellemzővel, 2 osztállyal: • Tkp. ami kellene: minden osztályhoz egy X{0,1} karakterisztikus függvény • Ez viszont (folytonos változók esetén) körülményesen reprezentálható közvetlenül
Reprezentációs módszerek • Geometriai szemlélet: az osztályok közötti határt (döntési felületet) reprezentálja; döntés: a pont melyik oldalra esik • Döntéselméleti szemlélet: minden osztályhoz egy disz-kriminánsfüggvény (x pont mennyire eleme az osztálynak) • Döntés: melyik diszkriminánsfüggvény adja a legnagyobb értéket Mindkét esetben egyszerű, folytonos függvényekkel dolgozhatunk
A Bayes döntési szabály • A döntéselméleti szemlélet speciális esete: az egyes osztályokhoz tartozó diszkriminánsfüggvény legyen P(ci|x) • Tétel: minimalizálja a téves besorolások számának várható értékét • A Bayes-szabály szerint • P(x)-nek nincs szerepe, (i-re maximalizálunk) • P(ci) könnyen modellezhető (pl. leszámlálással) • Diszkriminatív modellek: a P(ci|x) posterior valószínűséget modellezik • Közvetlenül a döntési függvények pontos leírására törekednek • Generatív modellek: a p(x|ci) osztályonkénti eloszlást modellezik • az osztályok pontos leírására törekednek (akár példák generálására is képesek az adott osztályból)
Szokásos alapfüggvények • Egyszerű, pár paraméterrel szabályozható görbék • Hipersík • Két részre vágja a teret • Nem lokalizált (végtelen nagy térrészt sorol az adott osztályhoz) • Kvadratikus alak • 2D-ben kör v. ellipszis alakú térrészt kanyaríthatunk körül vele • Normális eloszlás • Alapvetően a generatív modellezésben használatos • De küszöböléssel térrészek körülhatárolására is jó lehet • Polinom
Alapfüggvények kombinálása • Ha bonyolultabb döntési felületet v. eloszlásfüggvényt akarunk leírni • Geometriai szemlélet • Területek összekapcsolása ÉS-sel, VAGY-gyal • Pl: hipersíkokat használva így tetszőleges térrész körülkeríthető • Többszintű modell (az egyik szint outputja a másik inputja) • Pl: neuronháló • Súlyozott összegzés • Döntéselméleti (generatív) szemlélet • Súlyozott összegzés • Ha fj(x) szabályos sűrűségfüggvény minden j-re, akkor is az, ha wj>0és
„Valószínűségi kimenet” garantálása • Diszkriminatív modellek • Könnyű: P(ci|x) diszkrét eloszlás • 0 és 1 közé szorítás: • a, küszöböléssel • b,sigmoid-függvénnyel • garantálása: normalizálással (osztás -vel) • A két problémát egy lépésben megoldja a „softmax” kombinálás: • Generatív modellek • Nehezebb garantálni, hogy a kimenet szabályos sűrűségfüggvény legyen, így a legjobb eleve sűrűségfüggvényekből építkezni (pl. normális eloszlás) pl. súlyozott összegzéssel (ld. korábban)
Néhány konkrét modell • Gaussian Mixture Modell (GMM) • Minden osztályra Gauss-görbék súlyozott összegét illeszti • A paraméterszám csökkentése érdekében a kovarianciamátrixot gyakran diagonálisra korlátozzuk • Radial Basis Function Network (RBFN) • Nagyon hasonlít a GMM-hez • Az osztályokhoz hasonló diszkriminánsfügvényeket rendel: • De: a Gauss-bázisfügvények nem osztályspecifikusak! (mindegyik szerepel mindegyik gi-ben) • Az oszályokat együtt tanítja, nem külön-külön, mint a GMM • A kimenet nem „valószínűségi” (pl. negatív értékek is lehetnek)
Néhány konkrét modell (2) • Mesterséges Neuronháló (ANN) • Egyetlen neuron („Perceptron”): • Aktiváció: • Kimenet: o=Sigmoid(a) • Tkp: egy hipersíkkal két részre osztja a teret, majd 0-1-re küszöböl • Logikailag: ÉS, VAGY műveleteket tudja reprezentálni, XOR-t nem • Többrétegű előrecsatolt neuronháló: • Az alacsonyabb szintek outputjai a magasabb szintek inputjai • Két réteg: tetsz. logikai függvényt meg tud tanulni (ld. konjunktív normálforma), vagy konvex összefüggő térrészt körül tud zárni • Három réteg: bármilyen gyakorlati szempontból lényeges függvényt tetszőleges pontossággal tud közelíteni
Néhány konkrét modell (3) • Kvadratikus Neuronháló (QNN) • Az alsó réteg neuronjaiban lineáris helyett kvadratikus kombináció • Nagyobb reprezentációs képesség • 3 helyett 2 réteg is elég • A tanítás jóval bonyolultabb • Projection Pursuit Learning (PPL) • Alapvetően az osztályok eloszlását modellezi • Kiválaszt p darab αj irányt és veszi a pontok erre eső 1D vetületét • Ezekre f interpolációs polinomot illeszt (egyszerű, mert 1D-ben kell) • Majd ezeket súlyozott összegzéssel kombinálja
Néhány konkrét modell (4) • Support Vector Machine (SVM) • Alapvetően nem valószínűségi modell • De azzá tehető a kimenete (ld. pl. szigmoidos trükk) • Hipersíkkal szeparál • Nem kell neki bonyolultabb döntési felület, mert nem a felületet „görbíti” a pontokhoz, hanem a pontokat (teret) a felülethez • Fontos megjegyzés • Az, hogy a modell generatív vagy diszkriminatív, az sokkal inkább a tanítási módszeren múlik, semmint a modell struktúráján! • Azaz a tanítás során az osztályok leírására vagy a minél pontosabb osztályozására optimalizáljuk a modellt
Tanítási módszerek • Tanítás: a modell paramétereinek beállítása • Input: felcímkézett példák: <x(n), c(n) > párok, n=1,…,N • A tanításhoz kell: egy optimalizálandó célfüggvény („mit”) • Meg egy optimalizáló algoritmus („hogyan”) • A tanítóhalmazon optimalizáljuk a modell működését • Remélve, hogy más, ismeretlen pontokra is jól fog általánosítani • Generatív modellek tanítása • A Maximum Likelihood (ML) kritérium • Külön-külön modellezi az osztályok eloszlását, azaz p(x|ci)-t • Olyan λ modellt keres, amelyre • Az Expectation Maximization algoritmus • Egy hatékony megoldás az ML-tanításra • Iteratív, lokális optimum megtalálását garantálja
Tanítási módszerek (2) • Diszkriminatív tanítási kritériumok • Mean Squared Error (MSE): • Tétel: megfelelő beállítások mellett P(ci|x) közelítéséhez vezet!! • Minimalizálás: tkp. globális optimalizálási probléma • Lineáris súlyozás esetén: pszeudo-inverz számítással megoldható • zárt képlet, de viszonylag lassú • Ha a modellben minden komponens deriválható: gradient descent algoritmus (legmeredekebb csökkentés elve) • Iteratív, lokális optimumot talál • Speciális eset: a neuronhálók „backpropagation” tanítóalgoritmusa • Egyéb otpimalizálási módszerek: konjugált gradiens, Newton, BFGS, … (o a modell kimenete)
Tanítási módszerek (3) • Maximum Mutual Information (MMI) • Az X jellemzővektor és a C osztálycímkék kölcsönös információját maximalizálja (ez lényegében a címkék entrópiájának csökkenése x megismerése után) • A tanulópéldákon a célfüggvény • Optimalizálás pl. a gradient descent módszerrel (pl. neuronhálók) • Belátható, hogy megfelelő beállításokkal P(ci|x) közelítéséhez vezet • Megegyezik az ún. Minimum Cross Entropy kritériummal
Tanítási módszerek (4) • Minimum Classification Error (MCE) • Nagyon gyakorlatias: nem foglalkozik a valszámos háttérrel… • Közvetlenül a tévesztések számát igyekszik minimalizálni • Minimalizálás: nem triviális, mert lépcsős függvény • Folytonossá tétel (hogy deriválni lehessen): • sgn közelítése sigmoiddal • max közelítése: jó nagy α mellett
A paraméterszám megválasztása • Hány neuron, Gauss, stb. legyen? • A gépi tanulás legnehezebb problémája • Túl kicsi szabadsági fok: a modell nem képes tanulni • Túl nagy: a modell túltanul (magol, nem általánosít) • Einstein: „Things should be done as simple as possible. But no simpler.” • Occam-borotva heurisztika: általában a legegyszerűbb működő magyarázat bizonyul helyesnek • Ez azonban mindig problémafüggő… • Így a gyakorlatban általában tapasztalati úton lőjük be… • No Free Luch tétel • Nincs általános értelemben vett legjobb tanulómódszer, minden módszerhez található könnyű és nehéz feladatat is! • Azért gyakorlati feladattípusok esetén lehet olyat mondani, hogy az egyik módszercsalád általában jobb rá, mint a másik
A jellemzőkinyerés • A jó jellemzők feladatspecifikusak • Elvileg a témában járatos szakértő dolga a kiválasztásuk • Minél relevánsabb és minél kevesebb jellemzőt kell keresni • A „dimenzionalitás átka” • A nem releváns jellemzők nem csökkentik az információtartalmat • De nagyon megnehezíthetik az algoritmikus modellépítést (tanulást) • A jellemzőkinyerés gépi támogatása: feature selection • Jellemző-kiválasztás: egy bővebb halmazból kiválogatni a fontos jellemzőket • Vagy kidobálni a kevésbé fontosakat… • Kritériumok: korreláció, kölcsönös információ, … • Elvileg minden részhalmazt meg kellene vizsgálni • De ez túl sok, inkább mohó algoritmussal, egyenként válogatunk
Jellemzőtér-transzformáció • A jellemzőkinyerés támogatásának másik módja • Úgy igyekszik transzformálni a jellemzőteret, hogy azzal segítse az osztályok szétválasztását • A kinyert irányok számának korlátozásával a jellemzők száma is csökkenthető • Lineáris módszerek: lineáris transzformációt találnak • PCA (Principal Component Analysis): olyan független irányokat keres, melyek mentén a levetített adatok varianciája nagy • Felügyelet nélkül, azaz az osztálycímkéket nem veszi figyelembe • Nagyon sokat segít pl. GMM-es tanulásnál diagonális kovarianciamátrix esetén
Az LDA • Linear Discriminant Analysis: egy másik lineáris módszer • Az osztálycímkéket is felhasználja • Arra törekszik, hogy az osztályok szórása minél kisebb legyen, és egyúttal minél távolabb essenek egymástól • Szemléltetés:
Nemlineáris módszerek • Sokkal radikálisabban képesek „vetemíteni” a teret • Háttér: a „kernel-trükk” • A skalárszorzat-művelet lecserélésével az algoritmus áthelyezése egy nagyobb szabadsági fokot megengedő térbe • Többek között az előbb látott PCA és LDA is „kernelesíthető”, nemlineárissá tehető így