Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

Podobné dokumenty
Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Lineární klasifikátory

Úvod do optimalizace, metody hladké optimalizace

Strojové učení se zaměřením na vliv vstupních dat

Kybernetika a umělá inteligence, cvičení 10/11

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Lineární diskriminační funkce. Perceptronový algoritmus.

Učící se klasifikátory obrazu v průmyslu

Úloha - rozpoznávání číslic

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

Klasifikace a rozpoznávání. Lineární klasifikátory

Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

Support Vector Machines (jemný úvod)

UČENÍ BEZ UČITELE. Václav Hlaváč

Strojové učení Marta Vomlelová

Vytěžování znalostí z dat

Přednáška 13 Redukce dimenzionality

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Trénování sítě pomocí učení s učitelem

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Klasifikace předmětů a jevů

StatSoft Úvod do neuronových sítí

Neuronové sítě v DPZ

LDA, logistická regrese

Moderní systémy pro získávání znalostí z informací a dat

Neuronové sítě (11. přednáška)

7 Další. úlohy analýzy řeči i a metody

Rozpoznávání v obraze

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami. Josef Keder

NG C Implementace plně rekurentní

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Rosenblattův perceptron

Preceptron přednáška ze dne

Pokročilé operace s obrazem

Testování neuronových sítí pro prostorovou interpolaci v softwaru GRASS GIS

Klasifikace a rozpoznávání. Extrakce příznaků

SRE 03 - Statistické rozpoznávání

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

5. Umělé neuronové sítě. Neuronové sítě

ANALÝZA A KLASIFIKACE DAT

ANALÝZA A KLASIFIKACE DAT

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

Úloha: Verifikace osoby pomocí dynamického podpisu

Rozdělování dat do trénovacích a testovacích množin

Neuronové sítě. 1 Úvod. 2 Historie. 3 Modely neuronu

Pokročilé neparametrické metody. Klára Kubošová

ÚVOD DO ROZPOZNÁVÁNÍ

8-9. Pravděpodobnostní rozhodování a predikce. Gerstnerova laboratoř katedra kybernetiky fakulta elektrotechnická ČVUT v Praze

Statistická teorie učení

Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc

Neuronové sítě Ladislav Horký Karel Břinda

Algoritmy a struktury neuropočítačů ASN P3

Využití metod strojového učení v bioinformatice David Hoksza

Neparametrické odhady hustoty pravděpodobnosti

Emergence chování robotických agentů: neuroevoluce

Úvod Příklad Výpočty a grafické znázornění. Filip Habr. České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská

Matematika pro informatiky

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz

Klasifikace a rozpoznávání. Bayesovská rozhodovací teorie

Algoritmy a struktury neuropočítačů ASN - P11

AVDAT Mnohorozměrné metody, metody klasifikace

Teorie náhodných matic aneb tak trochu jiná statistika

Diagnostika regrese pomocí grafu 7krát jinak

Diferenciální rovnice 3

Whale detection Brainstorming session. Jiří Dutkevič Lenka Kovářová Milan Le


oddělení Inteligentní Datové Analýzy (IDA)

Umělá inteligence a rozpoznávání

aneb jiný úhel pohledu na prvák

Popis zobrazení pomocí fuzzy logiky

Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005

Následující text je součástí učebních textů předmětu Bi0034 Analýza a klasifikace dat a je určen

Implementace Bayesova kasifikátoru

Soustavy linea rnı ch rovnic

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr.

ANALÝZA A KLASIFIKACE DAT

Katedra kybernetiky, FEL, ČVUT v Praze.

3. Vícevrstvé dopředné sítě

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy

7. Rozdělení pravděpodobnosti ve statistice

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

Ekonomická formulace. Matematický model

KLASIFIKACE DOKUMENTŮ PODLE TÉMATU

Semestrální práce: Rozpoznání hláskované řeči a převedení na text

Aplikovaná numerická matematika

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

řešeny numericky 6 Obyčejné diferenciální rovnice řešeny numericky

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

Hodnocení klasifikátoru Test nezávislosti. 14. prosinec Rozvoj aplikačního potenciálu (RAPlus) CZ.1.07/2.4.00/

Numerické metody a programování

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Transkript:

Fakulta informačních technologií VUT Brno Předmět: Projekt: SRE Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum: 9.12.2006 Zadání Vyberte si jakékoliv 2 klasifikátory, např. GMM vs. neuronová síť, a srovnejte je na Vámi vybrané úloze. Vypracovany projekt se sklada z pisemne zpravy v rozsahu jednotek stran A4, a z presentace (cca 10 min) na posledni prednasce. Zpravu je nutne odevzdat do konce semestru. Popis klasifikátorů Co je to klasifikátor? Pokud bych mohl odpovědět jednoduše dvěma slovy, jedná se třídič informací. Řečeno více formálně: Klasifikační metody jsou metody na třídění vstupních dat do konečného počtu tříd pomocí určitých algoritmů. Tyto algoritmy mohou být jednoduché - třídit na základě jednoduchých třídících pravidel až po složité funkce, které využívají mechanismů strojového učení např. na bázi neuronových sítí nebo rozhodovacích stromů. V nejobecnějším pohledu bychom mohli klasifikátory roztřídit na pevné a učenlivé. Použití klasifikátorů Klasifikátory mají velmi široké pole využití nejen ve výpočetní technice. Používají se při dolování dat z databází, rozpoznávání jazyka, obrazů, videa, ve zpracování signálů případně v korekcí chyb. Z neinformatických oblastí vhodné jmenovat např. předpovědi chování finančních trhů. Teoretický popis testovaných klasifikátorů SVM (Support Vector Machines) SVM je typický algoritmus strojového učení, hledající nadrovinu, která v prostoru příznaků optimálně rozděluje trénovací data. Jedná se tedy o hledání maximalizace vzdálenosti rozdělující nadroviny klasifikátoru k bodům z trénovací množiny - tato vzdálenost se nazývá margin. Pro vysvětlenou prakticky:

Ilustrace: Podpůrné vektory Cílem metody SVM je rozdělení vzorků do tříd na základě lineární funkce. Ne vždy se však povede vstupní vzorky oddělit tak jednodduše, jako v ilustraci 1. Uvažujme tedy příklad z 3. ilustrace vstupních dat. Síla metody SVM tkví v možnosti převést vstupní data do vyšší dimenze a oddělit je lineárně v naddimenzi (pro náš případ oddělit body v kruhu plochou vedenou mezi body sdruženými v kruh a body tvořícím mezikruží). SVM podle názvu pracuje se sadou tzv. podpůrných vektorů (support vector), což jsou vstupní vektory, jejichž funkcí je podpora oddělovací nadroviny, která na nich spočívá. Jak je uvedeno v ilustraci, podpůrné vektory jsou zakroužkovány. GMM / EM Pro klasifikaci se často používá statistické rozpoznávání vzorů, vycházející z předpokladu, že modely stejných tříd mohou mít některé podobné statistické vlastnosti. Takovou techniku využívá také GMM, který modeluje hledané třídy pomocí směsí gaussovských funkcí. Ilustrace: GMM EM (Expectation maximization) je obecný iterativnıí algoritmus pro nalezení Maximum likelihood odhadu parametrů pravděpodobnostních modelů, přičemž model závisí na tzv. skrytách proměnných. Tato technika je hojně využívaná právě při rozpoznávání řeči.

Perceptron (lineární) Princip funkce neuronů je velmi podobný úloze o klasifikaci. Skutečný neuron živých organismů se skládá z těla, dendritů, které plní funkci vstupů do neuronu a axomu, který je výstupem z neuronu. Model neuronu používaný pro neuronové sítě bývá navržen tak, aby byl co nejjednodušší. Pro naše potřeby lineární klasifikace je potřeba najít pomocí perceptronu diskriminační funkci, která odděluje vstupní vektory. Ilustrace: Model perceptronu Ilustrace: Klasifikace Postup získávání výsledné hraniční přímky je iterativní a sleduje nejlepší výsledek, ke kterému se snaží konvergovat. V praxi existuje několik způsobů učení. Často vycházejí z hodnoty chybové funkce, která zobrazuje vzdálenost mezi aktuální a cílovou hodnotou výstupu (tzv. hammingova metrika). Postup práce Původně jsem se po bližší konzultaci s cvičícími rozhodl srovnávat klasifikátory GMM (gaussian mixture model) a SVM (Support vector machines) na příkladu trénování rozpoznávání řečníka. Sehnal jsem proto knihovnu HTK ze zdroje: http://htk.eng.cam.ac.uk/ a LibSVM www.csie.ntu.edu.tw/~cjlin/libsvm. Ing. Matějka mi ochotně poskytnul databázi vzorků, ze kterých jsem vybral 100 hlasů, které jsem se rozhodl zkoušet. Soubory jsem nakopíroval do stejného adresáře a spustil parametrizaci pomocí HCopy a vytvořil MFC soubory.

Záhy jsem se však ocitnul v pasti a v HTKBook jsem nebyl schopen najít potřebné informace pro zdárné vypracování úlohy a s nástroji HTK vytvořit potřebný výsledný model. Toto nakonec vyústilo po několika dnech intenzivního hledání informací a postupů v upuštění od nástroje HTK a této úlohy a začal přemýšlet nad nástrojem jiným, se kterým bych byl schopen obecné zadání efektivněji splnit. Hledal jsem tedy již na vlastní pěst komplexnější nástroj, se kterým bych vhodné klasifikátory na jednotném příkladu klasifikaci provedl. Hledání netrvalo dlouho a zvolil jsem ověřený systém Matlab, se kterým jsem již v rámci dřívějších školních projektů pracoval. Stáhnul jsem si ještě nadějný toolkit Stprtool od kolegů z ČVUT, který klasifikaci podporoval. Toto mi nakonec celkovou úlohu velmi zjednodušovalo, proto jsem se rozhodl pro srovnání více než 2 klasifikátorů, abych přinesl více vlastní přidané hodnoty a na příkladech čtenáři ukázal a vysvětlil konkrétní výhody či nevýhody a vhodnost praktického použití jednotlivých klasifikačních metod. Vstupní data Vytvořil jsem 3 příkladné množiny vstupních dat, které budu pomocí algoritmů později klasifikovat. Ilustrace 1.množina dat

Ilustrace 2.množina dat Ilustrace 3. množina dat Výsledky SVM lineární vs. RBF Klasifikátor SVM jsem zvolil především proto, že nachází veliké uplatnění v rozpoznávání řeči. Ne vždy však data vycházejí oddělitelně dobře. V souvslosti s tímto faktem bude vhodné zmínit existenci tzv. jádrové funkce. S lineárně neoddělitelnými daty si SVM poradí použitím tzv. jádrových funkcí, v našem případě RBF (Radial Basis Function). Případnou neoddělitelnost dat řeší zavedením tzv. relaxačních proměnných, které jsou nulové pro správně klasifikované vzory, nenulové pro špatně klasifikované. Tento způsob se osvědčil hlavně v úloze č. 3, který obsahoval vstupní data sdružená do kruhu, což žádná lineární klasifikace nebyla schopna dobře roztřídit.

1. úloha SVM Lineární (ERR: 3.23%) 1. úloha SVM RBF (ERR: 0.0%) 2. úloha SVM - RBF(ERR: 5.9%)

2. úloha SVM Lineární (ERR: 10.6%) 3. úloha SVM Lineární (ERR: 23.6%) 3. úloha SVM RBF (ERR: 0.0%) Použitím jádrové funkce RBF můžeme tedy získat mnohem lepší klasifikaci s lepším roztříděním. Jak je patrno a ilustrací, a výsledku chyby - pro naše zvolené příklady byla

chyba mnohem menší v případě použití jádra RBF. Pochopitelně je to dáno lineární separovatelností vstupních množin. GMM (EM) Gaussian mixture model s Expentation - Maximization. Pro ilustraci jsem zvolil druhý příklad z předchozí úlohy k porovnání a jeden příklad nový. 2. úloha GMM 3 componenty 4. úloha GMM 3 componenty Lineární perceptron Vzhledem k faktu, že se jedná o lineární klasifikátor, byly výsledky klasifikace srovnatelné s klasickým SVM.

1. úloha Perceptron 2. úloha Perceptron 3. úloha Perceptron Pro některé úlohy byla metoda dostačující, pro jiné lineárně neseparovatelné množiny - musíme použít jinou metodu klasifikace.

Závěr Mrzelo mě, že jsem nakonec upustil od původně plánované úlohy rozpoznání řečníka s použitím knihoven HTK a LibSVM o to víc, protože jsem z různých nezávislých zdrojů nabyl dojmu, že se jedná o velmi používané nástroje předními výzkumnými pracovníky nejenom v oblasti rozpoznávání řeči. Pevně věřím, že jsem tímto krokem nevybočil z rámcového zadání projektu, a že jsem aspoň na vhodně zvolených příkladech srovnal a ukázal několik klasifikáčních metod, užívaných nejenom v oblasti rozpoznávání řeči. Zároveň se tímto čtenáři omlouvám, že jsem vybočil z rámce délky jednotek A4 ačkoli jsem se snažil psát zprávu stručně a věcně a především proložit a úlohu osvěžit obrázky z řešené úlohy z prostředí Matlab. Přesto hodnotím tento projekt jako přínosný, protože jsem získal nové poznatky nejenom z oblasti rozpoznávání řeči, ale hlavně z praktického použití klasifikátorů obecně. Externí odkazy [1] http://cmp.felk.cvut.cz/cmp/software/stprtool/ - Matlab knihovna Stprtool [2] http://htk.eng.cam.ac.uk/ - HTK [3] http://neuron.felk.cvut.cz/courseware/data/chapter/36nan028/s04.html - modely perceptronu [4] http://en.wikipedia.org/wiki/perceptron - informace o perceptronu [5] http://www.autonlab.org/tutorials/gmm.html [6] Přednášky SRE - 09_SVM.pdf