Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu malé modré písmo: poznámky KUI 10/11, R. Šára, CMP (p. 1/15)
Úkol k procvičení: OCR modul pro čtení registračních značek OCR Cíl cvičení: jak udělat OCR? KUI 10/11, R. Šára, CMP (p. 2/15) Laskavostí CMP a firem Camea a Eyedea.
Problém učení a klasifikace Objekty ω Ω výřezy obrázku o velikosti 13 13 pixelů Třídy: mají identifikátory y Y Y: číslice 0,1,...,9 Příznaky: sloupcové vektory měření x X celý obsah výřezu obrázku po řádcích x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 X... příznakový prostor zde vektorový prostor se vzdáleností KUI 10/11, R. Šára, CMP (p. 3/15) Klasifikační funkce: zobrazení f : X Y Trénovací množina (x i, y i )... vzory T = { (x i, y i ), i = 0, 1,..., m} Klasifikace: Určit identifikátor třídy f(x), je-li dáno měření x. Problém učení: Nalezení klasifikační funkce f na základě konečné trénovací množiny T tak, aby pravděpodobnost chyby klasifikace na neznámých datech byla minimální. Věta: Pokud se klasifikační funkce f při učení nevybírá ze složité třídy, minimalizace chyby na T vede k dobrým výsledkům. Důkaz tvrzení i přesná definice pojmu složitá třída jsou velmi obtížné.
Klasifikace na základě etalonu 2D příznakový prostor 1 minimum distance from etalons Je-li měření x bez šumu, pak každou třídu y Y mohu reprezentovat etalonem e y. Pro klasifikaci objektu ω na základě příznaku x postačí zjistit, kterému etalonu se x rovná. 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 0.5 0 0.5 1 Kolem etalonu e y existuje oblast R y, g.m.b., které jsou k e y blíže než k ostatním. Hranice oblastí: rozdělující nadroviny (obecně nadplochy) Tyto oblasti tvoří rozklad příznakového prostoru na konvexní množiny R y, y Y. R je konvexní, když pro každé x 1, x 2 R platí: λ x 1 + (1 λ) x 2 R pro λ 0, 1. Potom klasifikátor lze realizovat též jako modifikovanou úlohu nejbližšího etalonu: ( ) f(x) = arg min x ey 2 + o y y Y Takový klasifikátor funguje i v případě, kdy měření x je zatíženo malým šumem. Hranice oblasti R y mohu posouvat konstantou o y. na úkor ostatních oblastí KUI 10/11, R. Šára, CMP (p. 4/15)
Komplikace: Příznakové vektory v T nejsou bez šumu Předpoklad: Ale přesto lze třídy zastoupené v trénovací množině oddělit nadrovinami v příznakovém prostoru. Otázka: Jak tyto roviny najít? Odpověď: Zvolíme vhodné etalony a tím problém převedeme na jednoduchý. První úvaha: Pokud je chyba měření popsatelná normálním rozdělením a všechna rozdělení mají stejný rozptyl σ, pak jsou nejlepšími etalony střední hodnoty e y def = µ y = 1 X y i X y x y i 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 minimum distance from etalons a rozdělující nadplochy jsou nadroviny kolmo půlící vzdálenosti mezi dvojicemi tříd. X y... indexy prvků trénovací množiny, které odpovídají třídě y velmi efektivní reprezentace klasifikátoru klasifikátor je jednoduchý pokud předpoklady neplatí, lze očekávat velkou chybu klasifikace KUI 10/11, R. Šára, CMP (p. 5/15) 0.8 1 1 0.5 0 0.5 1 není nebezpečí přeučení
Pokračování: Idea nejbližšího souseda z T Druhá úvaha: Všechny prvky trénovací množiny T se stanou etalony. klasifikátor podle nejbližšího souseda z T 1 1 nearest neighbour classifier 1 minimum distance from etalons 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 0.2 0.2 0.4 0.4 0.6 0.6 0.8 0.8 1 1 0.5 0 0.5 1 1 1 0.5 0 0.5 1 je snadno implementovatelný, poměrně dobrý pro velkou trénovací množinu asymptoticky platí: chyba klasifikace není horší než není efektivní složitý KUI 10/11, R. Šára, CMP (p. 6/15) dvojnásobek chyby klasifikace optimálního klasifikátoru nutno pamatovat si celou T nebezpečí přeučení
Pokračování: Lineární klasifikátor Třetí úvaha: Nejprve přepíšeme: ( ) f(x) = arg min x ey 2 + o y = arg min y Y y Y (x x 2 e y x + e y e y + o y ) = ( = arg min y Y x x 2 ( e y x 1 2 (e y e y + o y ) )) = arg min y Y ( x x 2 (e y x + b y ) ) = = arg max y Y (e y x + b y ) = arg max y Y f y(x). b y = 1 2 (e y e y + o y ) výsledek: lineární klasifikátor etalonový klasifikátor rozdělující nadplocha mezi třídami a a b je nadrovina daná f a (x) = f b (x): (e a e b ) x + (b a b b ) = (e a e b ) (x x c ) = 0 Příznakový prostor je rozložen na konvexní množiny. Pokud bude existovat algoritmus pro nalezení parametrů rozdělujících nadploch e y, b y z trénovací množiny, potom tento algoritmus najde ekvivalentní etalony a posuny o y. Takový existuje: Perceptronový algoritmus. e a x c e b KUI 10/11, R. Šára, CMP (p. 7/15)
Perceptronový algoritmus začne s etalony e y = µ y a iterativně posouvá rozdělující nadplochy tak dlouho, až jsou všechny prvky T klasifikovány správně naučený ze středních etalonů 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 minimum distance from etalons 1 1 0.5 0 0.5 1 naučený perceptronovým alg. 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 perceptron 1 1 0.5 0 0.5 1 jednoduchý efektivní omezení lineárního klasifikátoru: jedna třída = jedna konvexní oblast KUI 10/11, R. Šára, CMP (p. 8/15)
Učení lineárního klasifikátoru perceptronovým algoritmem Hledáme soubor parametrů K = { (e y, b y ) y Y } klasifikátoru f(x) = arg max y Y ( e y x + b y ) který docílí nulovou chybu na trénovací množině T = { (x i, y i ), i = 0, 1,..., m} E T (f) = 1 m m 1 ( y j f(x j ) ), 1(s) = j=1 { 1 s platí 0 s neplatí E T (f) 0 Předpoklad lineární separability: trénovací množinu T lze rozložit na konvexní oblasti R y, které mají po částech lineární hranici a jsou takové, že vzory každé třídy y v T jsou obsaženy v právě jedné R y. Předpoklad problém převede na úlohu řešitelnosti soustavy nerovnic pro všechna i = 1, 2,..., m a všechna y j y i. e y i x i + b y i > e y j x i + b y j (1) KUI 10/11, R. Šára, CMP (p. 9/15)
Perceptronový algoritmus 1. Nastav e y := µ y a b y := 0 pro všechny y Y. není nutné začít se středním etalonem µ y 2. Mezi trénovacími vzory T = {(x 1, y 1 ),..., (x m, y m )} nalezni (x t, y t ) takový, že y t ŷ, kde ŷ = arg max y Y ( e y x t + b y ). (x t, y t )... libovolný chybně klasifikovaný vzor 3. Pokud takový vzor neexistuje, skonči. Parametry K = {(e y, b y ) y Y} určují klasifikátor s nulovou trénovací chybou. 4. Jinak, nechť ŷ je klasifikace x t pomocí aktuálního klasifikátoru. Adaptuj parametry klasifikátoru K takto 5. Pokračuj krokem 2. KUI 10/11, R. Šára, CMP (p. 10/15) e y t := e y t + x t, eŷ := eŷ x t, b y t := b y t + 1, bŷ := bŷ 1. posil správnou třídu oslab chybnou třídu Věta [Novikoff] Pokud jsou vzory v trénovací množině lineárně separabilní, tj. soustava nerovnic (1) má řešení, skončí perceptronový algoritmus v konečném počtu kroků.
Nezávislé testování klasifikátoru Nezávislá testovací množina: množina vzorů, na které nebyly učeny žádné parametry klasifikátoru (nebo procedury pro výpočet příznaků). například procedury pro normalizaci obrazu Chyba na nezávislé testovací množině je nevychýleným odhadem střední chyby klasifikátoru. Chyba na trénovací množině je často významně menší než chyba na nezávislé testovací množině. KUI 10/11, R. Šára, CMP (p. 11/15)
Úkoly pro počítačové cvičení Základní úkol 1. Seznámit se s podpůrným software. 2. Prohlédnout si dodaná data v trénovací a testovací množině. 3. Vyzkoušet klasifikátor na základě etalonů střední hodnoty. 4. Implementovat vlastní klasifikátor podle nejbližšího souseda. 5. Zařadit ho do hlavního skriptu. 6. Vyzkoušet lineární klasifikátor, naučený perceptronovým algoritmem. 7. Srovnat všechny tři klasifikátory podle chyby na trénovací a testovací množině. 8. Výsledky předložit k ohodnocení. Úkoly pro aktivní transformace problému klasifikace etalonovým klasifikátorem na klasifikaci obecným lineárním klasifikátorem (na cvičení), vlastní implementace perceptronového algoritmu (na cvičení), důkaz konvexity rozkladu příznakového prostoru množinou etalonů (str. 4) (domácí úkol), důkaz Novikoffovy věty (str. 10) (domácí úkol). KUI 10/11, R. Šára, CMP (p. 12/15)
KUI 10/11, R. Šára, CMP (p. 13/15) Vyšší Level...
Literatura [1] C. M. Bishop. Pattern Recognition and Machine Learning, chapter 4.1 Linear Models for Classification, Discriminant Functions, strany 179 196. Springer, 2006. [2] R. O. Duda, P. E. Hart, a D. G. Stork. Pattern Classification, chapter 5. Linear Discriminant Functions, strany 215 235. Wiley, 2nd edition, 2001. [3] M. I. Schlesinger a V. Hlaváč. Deset přednášek z teorie statistického a strukturního rozpoznávání, chapter 5. Lineární diskriminační funkce, strany 164 169. Vydavatelství ČVUT, Praha, 1999. KUI 10/11, R. Šára, CMP (p. 14/15)
Konec