ˇ CESK E VYSOK E U ˇ CEN I TECHNICK E Fakulta jadern a a fyzik alnˇe inˇzen yrsk a DIPLOMOV A PR ACE 2006 Jan Vachulka



Podobné dokumenty
Úloha - rozpoznávání číslic

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

Náhodné (statistické) chyby přímých měření

5 Orientované grafy, Toky v sítích

7. Rozdělení pravděpodobnosti ve statistice

1 Báze a dimenze vektorového prostoru 1

Státnice odborné č. 20

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Náhodné chyby přímých měření

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

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

7. Funkce jedné reálné proměnné, základní pojmy

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

U Úvod do modelování a simulace systémů

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Dijkstrův algoritmus

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

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

Regresní a korelační analýza

Symetrické a kvadratické formy

ANTAGONISTICKE HRY 172

1 Linearní prostory nad komplexními čísly

Základní pojmy teorie množin Vektorové prostory

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

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

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Regresní a korelační analýza

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

Detekce interakčních sil v proudu vozidel

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Algoritmizace prostorových úloh

Neuronové časové řady (ANN-TS)

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

Matematika B101MA1, B101MA2

3. ANTAGONISTICKÉ HRY

Lineární algebra : Báze a dimenze

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Fyzikální korespondenční seminář MFF UK

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Stavový model a Kalmanův filtr

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Úlohy nejmenších čtverců

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

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

2. RBF neuronové sítě

Statistická teorie učení

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

0.1 Úvod do matematické analýzy

2.1.4 Funkce, definiční obor funkce. π 4. Předpoklady: Pedagogická poznámka: Následující ukázky si studenti do sešitů nepřepisují.

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

Vícerozměrné statistické metody

Přednáška 13 Redukce dimenzionality

Aplikovaná numerická matematika

Matematika (KMI/PMATE)

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

Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně

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

Chyby měření 210DPSM

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

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

0.1 Funkce a její vlastnosti

Matematika B101MA1, B101MA2

13 Barvy a úpravy rastrového

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

12. Lineární programování

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Funkce a základní pojmy popisující jejich chování

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

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Úvodem Dříve les než stromy 3 Operace s maticemi

1 0 0 u 22 u 23 l 31. l u11

I. D i s k r é t n í r o z d ě l e n í

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

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

8 Střední hodnota a rozptyl

Regresní analýza 1. Regresní analýza

Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

p(x) = P (X = x), x R,

2. Schurova věta. Petr Tichý. 3. října 2012

Vlastní čísla a vlastní vektory

Funkce a lineární funkce pro studijní obory

Pravděpodobně skoro správné. PAC učení 1

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

Rosenblattův perceptron

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Matematika I (KMI/PMATE)

Normální (Gaussovo) rozdělení

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Funkce. Definiční obor a obor hodnot

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta jaderná a fyzikálně inženýrská DIPLOMOVÁ PRÁCE 2006 Jan Vachulka

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta jaderná a fyzikálně inženýrská Katedra Matematiky Monitorování průběhu učení neuronových sítí s přepínacími jednotkami Diplomová práce Jméno : Jan Vachulka Školitel : Ing. František Hakl, CSc. Ak. rok : 2005-2006

Prohlášení: Prohlašuji, že jsem předkládanou práci vypracoval samostatně, veškerá použitá literatura je uvedena v citacích. Podpis:

Obsah 1 Úvod 4 1.1 Zaměření a cíle diplomové práce................. 4 2 Základní definice 6 2.1 Formulace problému klasifikace do dvou množin........ 6 2.2 Neuronová sít........................... 7 2.3 Učení neuronové sítě....................... 11 3 Neuron s přepínací jednotkou 14 3.1 Neuron s přepínací jednotkou.................. 14 3.2 Přepínací jednotka........................ 16 3.3 Výpočetní neurony........................ 17 3.4 Determinismus učení....................... 18 3.5 Srovnání metod použitých pro učení přepínací jednotky.... 20 3.6 Srovnání v závislosti na počtu vzorů.............. 21 3.7 Srovnání v závislosti na počtu shluků.............. 22 3.8 Závěry............................... 22 4 Interpretace výstupů neuronové sítě 29 4.1 Použití prahu........................... 29 4.2 Zobecnění použití prahu..................... 30 4.3 Převod výstupů na pravděpodobnosti.............. 31 4.4 Histogramový odhad....................... 32 4.5 Odhad parametrů směsi normálních rozdělení......... 33 4.6 Úprava rozhodování........................ 34 4.7 Srovnání rozhodovacích pravidel................. 37 5 Určení kvality neuronové sítě 44 5.1 Základní principy a motivace................... 44 5.2 Kritérium nejmenších čtverců.................. 45 5.3 Cross-entropy........................... 46 1

5.4 Další ztrátové funkce....................... 48 6 Benchmarky pro klasifikátory 50 6.1 Úvod................................ 50 6.2 Proben1.............................. 50 6.3 UCI Machine Learning Repository................ 52 6.4 Delve................................ 52 7 Analýza neuronových sítí s přepínacími jednotkami 53 7.1 Úvod a motivace......................... 53 7.2 Základní myšlenky........................ 54 7.3 Analýza sítě s jedním neuronem................. 54 7.4 Závěry z analýzy neuronové sítě obsahující jeden neuron... 61 7.5 Analýza řetězce.......................... 61 7.6 Srovnání kritérií kvality..................... 67 8 Závěr 70 A Metody shlukové analýzy 71 A.1 Úvod................................ 71 A.2 Iterační metody.......................... 72 A.2.1 Forgyho metoda...................... 72 A.2.2 Nalezení počátečního rozkladu.............. 73 A.2.3 Deterministické metody pro nalezení počátečního rozkladu............................ 73 A.3 Hierarchické metody....................... 77 A.3.1 Metoda nejbližšího souseda (single linkage)....... 77 A.3.2 Metoda nejvzdálenějšího souseda (complete linkage).. 78 A.3.3 Metoda průměrné nepodobnosti vzorů (average linkage) 78 A.3.4 Poznámky k implementaci hierarchických metod.... 78 B Metoda hlavních komponent 80 C Použité nástroje 82 2

Použité značení def def ekvivalence ve smyslu definice = rovnost ve smyslu definice R množina reálných čísel R + 0 [0; + ) N množina přirozených čisel ˆn R n R n,m diag(α 1,...,α n ) A T x (i) = {i N i n} vektorový prostor nad tělesem reálných čísel dimenze n vektorový prostor reálných matic o n řádcích a m sloupcích diagonální matice, jejíž diagonála je tvořena čísly α 1,...,α n transpozice matice A i-tá složka vektoru x R n ˆn def 2 X množina všech podmnožin množiny X, 2 X def = {x x X} X počet prvků množiny X Dom(f) definiční obor funkce f Ran(f) obor hodnot funkce f 3

Kapitola 1 Úvod 1.1 Zaměření a cíle diplomové práce Jak naznačuje název diplomové práce, jejím hlavním tématem je jeden z typů neuronových sítí - neuronové sítě s přepínacími jednotkami. Dále v textu, pokud nebude řečeno jinak, se neuronovou sítí, nebo jen sítí bude rozumět právě neuronová sít s přepínacími jednotkami. Tento typ neuronových sítí původně vznikl za účelem rozlišení signálu od pozadí při řešení fyzikálních problémů. Jedná se ale o nástroj, který lze obecně použít pro klasifikaci do dvou tříd či aproximaci funkce. Neuronové sítě tohoto typu již byly aplikovány na několik problémů (viz. např. [HLA02]), nicméně o vlastnostech těchto sítí z praktického hlediska stále existuje mnoho otázek. Hlavním účelem práce tedy bylo systematické zmapování vlastností těchto sítí a vypozorování závěrů, které by pomohly při jejich aplikaci na reálné problémy. Při řešení tohoto problému se postupovalo takto: 1. Byl vybrán soubor problémů, které se budou používat při zjišt ování vlastností sítí, viz. kapitola 6. 2. Bylo nutné řešit problém určování kvality naučených sítí, viz. kapitola 5. 3. Předchozí bod vyžadoval zodpovězení otázky, jak interpretovat výstup neuronové sítě, tento problém je řešen v kapitole 4. 4. Bylo nutné zajistit determinismus učení neuronových sítí, viz. kapitola 3. 4

5. Vše bylo završeno provedením analýzy těchto sítí, popsané v kapitole 7. 6. Navíc bylo třeba přeformulovat terminologii týkající se těchto sítí, viz. kapitola 2. 5

Kapitola 2 Základní definice 2.1 Formulace problému klasifikace do dvou množin Problém označovaný jako klasifikace do dvou množin, v rámci něhož probíhala analýza neuronových sítí, lze popsat následovně: Necht je dána množina S R n, n N libovolné a necht existují množiny S 1, S 2 S splňující 1. S 1 S 2 = 2. S 1 S 2 = S Necht zobrazení χ : S { 1; 1} je definováno takto { χ(x) def 1 pro x S1 = 1 pro x S 2 Dále se bude symbolem T značit třída funkcí T def = {f f : S R}. Necht je dána funkce L : T T R + 0. Řešením úlohy klasifikace do dvou tříd se bude dále rozumět nalezení funkce g minimalizující výraz L(g, χ) Poznámka 2.1 Účelem je najít funkci g, která o každém prvku množiny S rozhoduje, zda mu přísluší hodnota 1 nebo 1, neboli do které ze dvou možných tříd patří. Správné hodnoty jsou představovány funkcí χ. Funkce L nazývaná běžně jako ztrátová funkce určuje při daných požadovaných hodnotách ztrátu, při volbě určité funkce g jako řešení. 6

Poznámka 2.2 Funkce g bude dále právě funkce realizovaná neuronovou sítí. Funkce L bude nějaké kritérium, které určuje kvalitu neuronové sítě na základě prvků z množiny S. Poznámka 2.3 Pro vzory nebo celé množiny vzorů, kterým přísluší hodnota +1, se bude používat výraz signál, pro vzory příslušné k hodnotě 1 se bude používat výraz pozadí. 2.2 Neuronová sít Původní motivace pro použití a podobu umělých neuronových sítí vychází z nervových systémů živých organismů, základní princip přírodních a tedy i umělých neuronových sítí spočívá v rozdělení celku na jednodušší jednotky nazývané neurony. Neurony jsou vzájemně propojeny a předávají si mezi sebou informace, díky této kooperaci jednodušších jednotek lze získat složitější a mocnější nástroj pro řešení nejrůznějších úloh. Jelikož je tento nástroj složen z jednodušších částí, je snadnější nastavit parametry takového nástroje (jinými slovy naučit danou neuronovou sít ), než nastavovat parametry komplexního a daleko složitějšího systému. Následuje zavedení pojmů jako je neuron, neuronová sít a učení neuronové sítě v kontextu neuronových sítí s přepínacími jednotkami. Definice 2.1 Necht je dána funkce f : R n Par R m, kde množina Par je libovolná množina objektů představující parametry funkce f. Množina M f = {g (g : R n R m ) ( α Par)( (x, α) Dom(f))(g(x) = f(x, α))} se bude nazývat model neuronu s přechodovou funkcí f. Poznámka 2.4 Pod modelem neuronu se rozumí třída funkcí stejného tvaru, které se liší hodnotou jejich parametru. Prvky určitého modelu neuronu jsou konkrétní funkce zobrazující prostor R n do R m. Definice 2.2 Modelem neuronu se bude nazývat množina MN = M f je model neuronu s přechodovou funkcí f Poznámka 2.5 Množina MN je sjednocením všech modelů neuronů a obsahuje veškeré objekty, které lze označit jako neuron. M f 7

Definice 2.3 Necht M f je model neuronu s přechodovou funkcí f : R n Par R m, funkce q M f se bude nazývat neuron. Další pojmy související s pojmem neuron jsou Dom(q) vstupní prostor neuronu q n vstupní dimenze neuronu q ozn. indim(q) Ran(q) výstupní prostor neuronu q m výstupní dimenze neuronu q, ozn. outdim(q) Poznámka 2.6 Neuron je definován jako funkce, podoba neuronou s určitou přechodovou funkcí je dána příslušným modelem neuronu (tedy třídou funkcí určitého tvaru). Hodnota parametru α, který určuje neuron, může být k-tice reálných čísel, může však mít i složitější stukturu. Definice 2.4 Pod pojmem topologie se bude rozumět orientovaný acyklický graf T = (V, E), který navíc splňuje vlastnosti (ozn. V = {v in } V H {v out }, v in v out, v out V H, v in / V H ): 1. V < + 2. ( v V )((u, v in ) / E) 3. ( v V )((v out, v) / E) 4. ( v V H {v out })( u V )((u, v) E) 5. ( v V H {v in })( u V )((v, u) E) Poznámka 2.7 Topologie je tedy acyklický orientovaný graf, který obsahuje právě jeden vrchol, ze kterého již nevede žádná hrana (výstup), právě jeden vrchol, do kterého nevede žádná hrana (vstup) a několik skrytých vrcholů, přes které jsou propojeny vstup a výstup. Poznámka 2.8 Na obrázku 2.1 je ilustrován příklad topologie. Jednotlivá kolečka reprezentují vrcholy, šipky reprezentují orientované hrany mezi vrcholy, orientace šipek je od rodičů směrem k dětem. Vstup (v in ) se bude značit kolečkem vybarveným černě, výstup bude vždy nejníže zobrazený vrchol, ze kterého již nevede žádná hrana. Z praktických důvodů je vstup zobrazen pouze jedním kolečkem a není pro každou složku vstupu zobrazen zvláštní vstupní neuron, počty vstupních neuronů by pak většinou převýšily počet ostatních neuronů. 8

Obrázek 2.1: Příklad topologie Definice 2.5 Necht je dána topologie T, množina def = {NN = (T, N, g, id) ψ(nn)} se bude nazývat model neuronové M NN T sítě se vstupní dimenzí d nad topologií T, ψ je relace nad uspořádanými čtveřicemi (T, N, g, id) definovaná následovně (T, N, g, id) ψ def 1) N MN 2) g : N V je bijekce 3) id : N ˆn je bijekce, n = V 4) vstupní dimenze neuronu q = g 1 (v in ) je rovna d Poznámka 2.9 V označení modelu neuronové sítě se nevyskytuje vstupní dimenze, ta bude však vždy zřejmá z kontextu. Definice 2.6 Modelem neuronové sítě se bude nazývat množina M NN = MT NN T je topologie Definice 2.7 Prvek NN MT NN modelu neuronové sítě se vstupní dimenzí d nad topologií T se bude nazývat Neuronová sít se vstupní dimenzí d nad topologií T. Necht NN = (T, N, g, id) MT NN, T = (V, E), následuje několik pojmů týkajících se konkrétní NN. Necht m = N, q N libovolný, parents(q) def = {q N (g(q ), g(q)) E} children(q) def = {q N (g(q), g(q )) E} 9

q in def = g 1 (v in ) vstupní neuron NN q out def = g 1 (v out ) výstupní neuron NN indim(nn) def = d vstupní dimenze NN Poznámka 2.10 Neuronová sít NN = (T, N, g, id) je objekt, který se skládá z neuronů a jehož struktura je dána jeho topologií. Jednotlivé neurony jsou očíslovány funkcí id. Smysl tohoto očíslování spočívá hlavně v uchopitelnosti jednotlivých neuronů při definování přechodové funkce realizované celou neuronovou sítí a algoritmu učení neuronové sítě. Poznámka 2.11 Pokud na topologii nebo dimenzi neuronové sítě nebude záležet, bude se informace o topologii, či vstupní dimenzi vypouštět. Definice 2.8 Necht NN = (T, N, g, id) je neuronová sít se vstupní dimenzí d, q N, m = indim(q), o = outdim(q). Funkce q r : R d R m a q p : R d R o jsou definovány následovně. Necht n = parents(q) (q 1,...,q n ) je uspořádaná n-tice, pro niž platí ( i ˆn)(q i parents(q)) ( i, j ˆn)(i < j id(q i ) < id(q j )) a konečně q p (x) def = (q1 r (x),...,qr n { (x)) q r (x) def q(q = p (x)) pro n>0 q(x) jinak Poznámka 2.12 Funkce q p vezme výstupy rodičů neuronu q a převede je na podobu jediného vektoru, který je teprve zpracován neuronem q. Funkce q p i q r jsou definovány rekurzivně a slouží k popsání toku dat uvnitř neuronové sítě, narozdíl od funkce q mají vstupní prostor totožný se vstupním prostorem celé neuronové sítě a vracejí výstup z určitého místa v síti. Definice 2.9 Neuronová sít NN = (T, N, g, id) se bude nazývat korektní, pokud platí podmínka ( q N)(dim(Ran(q p )) = indim(q)) (2.1) 10

Poznámka 2.13 Definice 2.9 zavádí přirozenou podmínku pro tok dat uvnitř neuronové sítě, nemělo by se stát, že neuronu by ke zpracování dostal vstup, který nepochází ze vstupního prostoru daného neuronu. Jelikož nemá smysl se zabývat neuronovými sítěmi, které nejsou korektní, bude se všude dále pod pojmem neuronová sít uvažovat neuronová sít, která je korektní. Definice 2.10 Necht NN = (T, N, g, id) M NN, funkce q r out se bude nazývat funkce realizovaná neuronovou sítí NN. Poznámka 2.14 Pomocí neuronové sítě je definována jistá funkce f : R d R n, dále se bude často neuronová sít ztotožňovat s funkcí kterou reprezentuje, tato funkce se bude značit NN, tedy NN(x) bude dále reprezentovat funkční hodnotu funkce realizované neuronovou sítí NN. Jelikož hodnota NN(x) je definována pomocí hodnoty přechodové funkce výstupního neuronu, je výstupní dimenze celé neuronové sítě totožná s výstupní dimenzí výstupního neuronu, všude dále se budou uvažovat pouze neuronové sítě, jejich výstupní dimenze je rovna jedné. 2.3 Učení neuronové sítě Definice 2.11 Množina X = {(x, t, i) (x, t, i) R m { 1, +1} N} s vlastnostmi n = X < + m N ( (x, t, i) X)(i ˆn) ( (x 1, t 1, i 1 ), (x 2, t 2, i 2 ) X)((x 1 = x 2 t 1 = t2) (i 1 = i 2 )) se bude nazývat množina vzorů dimenze m, nebo jen množina vzorů. Velikostí X se bude rozumět číslo n. Dále necht (x, t, i) X x se bude nazývat vzor a značit x i t se bude nazývat požadovaná hodnota a značit t i i se bude nazývat index vzoru dvojice (x, t) se bude značit w i množina {x R m ( (x, t, i ) X)(x = x )} se bude značit X x 11

množina {t { 1; 1} ( (x, t, i ) X)(t = t )} se bude značit X t Definice 2.12 Necht X je množina vzorů dimenze m a velikosti n, X se bude nazývat učící množina dimenze m s n vzory a značit D L (n, m). Poznámka 2.15 Definice učící množiny je pouze jiné pojmenování pro množinu vzorů, její smysl je pouze ve zvýraznění účelu, ke kterému je daná množina vzorů použita. Definice 2.13 Množina def D L = {D L (n, m) D L (n, m) je učící množina dimenze m s n vzory, kde n, m N} se bude nazývat množina učících množin. Poznámka 2.16 Symbolem D L se někdy bude označovat blíže nespecifikovaná učící množina, z kontextu však bude vždy zřejmé, zda se jedná o jednu učící množinu, či výše definovanou množinu učících množin. Definice 2.14 Necht M f je model neuronu s přechodovou funkcí f, funkce u : D L M f se bude nazývat nenaučený neuron s přechodovou funkcí f. Definice 2.15 Necht NN U = (T, U, g u, id u ) je uspořádaná čtveřice, kde T = (V, E) je topologie U je množina nenaučených neuronů g u : U V je bijekce id u : U ˆv je bijekce, v = V NN U se bude nazývat nenaučená neuronová sít nad topologií T. Definice 2.16 Množina NN T,U def = {NN U NN U je nenaučená neuronová sít nad topologií T } se bude nazývat množina nenaučených neuronových sítí nad topologií T. Definice 2.17 Množina M NN U def = T je topologie NN T,U se bude nazývat množina nenaučených neuronových sítí. 12

Definice 2.18 Učící metodou neuronové sítě se bude nazývat funkce L M : L D MU NN M NN, která je definována následovně. Necht l L D, NN U MU NN, NN U = (T, U, G u, id u ), T = (V, E ). kde pro NN platí T = T L M (l, NN U ) def = NN = (T, N, g, id) ( q N)( u U)(id(q) = id(u) ((q = u(l q )) (g(q) = g u (u)))) def kde l q = {(x, t, i ) ( (x, t, i) l)((x, t, i ) = (q p (x), t, i))} Poznámka 2.17 Učící metoda byla definována za použití sady podmínek, které platí pro funkční hodnotu za daných vstupních hodnot. Je samozřejmě možná i konstruktivní definice této funkce, taková definice by však byla velice nepřehledná, proto byl preferován použitý přístup. Poznámka 2.18 Učící metoda přiřazuje učící množině a nenaučené neuronové síti konkrétní neuronovou sít. Z toho, jak byla učící metoda definovaná je vidět, že již předem je nutné zadat topologii neuronové sítě a definovat funkce, pomocí kterých se učí jednotlivé neurony. Proces učení tedy optimalizuje pouze parametry jednotlivých neuronů. Propojení mezi neurony, přechodové funkce neuronů a způsoby učení jednotlivých neuronů jsou již předem dány a zakódovány v nenaučené neuronové sít i. Nenaučená neuronová sít je vlastně předpis, jak za využití učící množiny zkonstuovat neuronovou sít. Z definice množin l q je zřejmé, že se jedná o množinu vzorů, navíc je tato množina definována pomocí rekurzivně definované funkce q p z čehož plyne, že neurony musí být při učení brány v určitém pořadí. Naučení neuronu musí předcházet naučení jeho rodičů. Z definice l q je také vidět, že pro učení každého neuronu jsou použity stejné požadované hodnoty. Definice 2.18 zavádí způsob naučení libovolné neuronové sítě s přepínacími jednotkami. Poznámka 2.19 Další vlastnosti učící metody plynoucí z definice 2.18 jsou: Učící proces neuronové sítě není iterační (při učení jednotlivých neuronů se však iterační metody používají, viz. následující kapitola). Při učení každého neuronu je použitá celá učící množina naráz. Pro naučení neuronu q je třeba mít k dispozici učící množinu složenou z výstupů rodičů q. 13

Kapitola 3 Neuron s přepínací jednotkou Neuronové sítě s přepínacími jednotkami, jak název napovídá, obsahují přepínací jednotky. Tyto jednotky se v neuronové síti neobjevují samostatně, ale vždy jako součást neuronu s přepínací jednotkou (důvody lze najít v [HLA01, HLA02]). Nejprve je uveden popis neuronu s přepínací jednotkou a jeho funkcionality, následují detailnější popisy jeho jednotlivých částí. 3.1 Neuron s přepínací jednotkou Na neuron s přepínací jednotkou (NSU) se lze dívat jako na strukturu, která se skládá z právě jedné přepínací jednotky a několika výpočetních jednotek (neuronů), schéma neuronu s přepínací jednotkou je na obrázku 3.1. Zpracování vstupu neuronem s přepínací jednotkou lze popsat slovy následovně: Obrázek 3.1: Schéma neuronu s přepínací jednotkou 14

1. přepínací jednotka při zpracování vstupu x rozhodne, který výpočetní neuron vstup x zpracuje 2. výpočetní neuron, který dostane přidělen vstup x ke zpracování, na x aplikuje svoji přechodovou funkci, tím se získá výstup y 3. výstup y výpočetního neuronu se vezme jako výstup neuronu s přepínací jednotkou Formálně lze funkci realizovanou neuronem s přepínací jednotkou popsat následovně: Definice 3.1 Necht k N M f je model neuronu s přechodovou funkcí f q 1,...,q k jsou neurony, q i M f, q i : R n R m pro i ˆk, h : R n ˆk x R n j = h(x) NSU(x) def = f j (x) (3.1) funkce NSU : R n R m se bude nazývat neuron s přepínací jednotkou k se bude nazývat počet výpočetních neuronů h se bude nazývat přepínací jednotka Poznámka 3.1 V předchozí definici tedy funkce h představuje přepínací jednotku a funkce q 1,..., q k jsou výpočetní neurony. Je poněkud problematické, jak odlišit výpočetní neurony a neurony s výpočetní jednotkou pouze pomocí přechodové funkce, nebo jejím tvarem. To, že NSU má po částech definovanou přechodovou funkci, jistě není dostatečné kritérium. Dále se všude bude intuitivně předpokládat, že neuron s přepínací jednotkou se skládá z přepínací jednotky a výpočetních neuronů, které mají již lineární přechodovou funkci a nemají žádnou vnitřní strukturu. Dále budou popsány konkrétní NSU a bude vidět, že víceméně představují po částech lineární funkce. 15

Učení NSU s k výpočetními neurony lze popsat následovně: 1. pomocí učící množiny je naučena přepínací jednotka 2. učící množina je rozdělena na k podmnožin pomocí již naučené přepínací jednotky 3. i-tá podmnožina učící množiny je použita k naučení i-tého výpočetního neuronu 3.2 Přepínací jednotka Přepínací jednotka, jak je zřejmé z popisu neuronu s přepínací jednotkou, realizuje funkci h : R n ˆk, kde n je vstupní dimenze neuronu a k je počet výpočetních neuronů. Pro libovolný vstup x tedy rozhodne, který výpočetní neuron by měl daný vstup zpracovat. Pro takové rozhodnutí musí být vstupní prostor nějak popsán. K popisu vstupního prostoru se používá následující postup. Ve vstupním prostoru je umístěno k bodů, každý z těchto bodů je asociován s jedním výpočetním neuronem. Při rozhodování, který výpočetní neuron by měl zpracovat vstup x se zvolí ten, jemuž příslušející bod je nejblíže danému vstupu. Pokud by byla tato vzdálenost stejná pro více bodů, vybere se výpočetní neuron s nejnižším indexem. Detailněji lze přepínací jednotku definovat následovně: Definice 3.2 Necht NSU je neuron s přepínací jednotkou k je počet výpočetních neuronů NSU n = indim(nsu) h : R n ˆk x R n µ 1,...,µ k R n d : R n R n R + 0 d min = min{d(x, µ i ) i ˆk} 16

h(x) def = min{i ˆk d min = d(x, µ i )} (3.2) Funkce h se bude nazývat přepínací jednotkou neuronu NSU Poznámka 3.2 Funkce d v definici přepínací jednotky slouží k určování vzdáleností mezi body ze vstupního prostoru. Definice 3.3 Necht x, y R n d e def = d abs def = d sum def = n (x (i) y (i) ) 2 (3.3) i=1 n x (i) y (i) (3.4) i=1 n x (i) i=1 n y (i) (3.5) K učení přepínací jednotky se používají metody shlukové analýzy, viz. dodatek A. Jako vstup pro shlukování se používá množina vzorů z učící množiny, která neobsahuje požadované hodnoty. V principu se pak děje toto: 1. shlukovací metoda rozdělí učící vzory z učící množiny na disjunktní podmnožiny 2. u každé podmnožiny se určí těžiště 3. ke každému (zatím nenaučenému) výpočetnímu neuronu se přiřadí jedno těžiště jako bod µ Na obrázku 3.2 je příklad rozdělení dvojrozměrného vstupního prostoru neuronu při daných učících vzorech. i=1 3.3 Výpočetní neurony Jako výpočetních neuronů uvnitř neuronů s přepínací jednotkou se používají dva typy neuronů, tyto neurony se učí stejným způsobem, liší se však jejich přechodová funkce. 17

Obrázek 3.2: Příklad rozdělení dvourozměrného vstupního prostoru do tří částí, černé body reprezentují vzory z učící množiny Definice 3.4 Neuronem typu I se bude nazývat neuron s přechodovou funkcí f : R n R n+1, n N ( ) x f(x) = diag(α 1,...,α n, α n+1 ) 1 Definice 3.5 Neuronem typu II se bude nazývat neuron s přechodovou funkcí f : R n R, n N ( ) x f(x) = (α 1,...,α n+1 ) 1 Parametry neuronů typu I i II jsou nastavovány pomocí metody nejmenších čtverců, jejíž popis lze najít např. v [VIS98, AND85]. 3.4 Determinismus učení Pro srovnání učení neuronových sítí s různými parametry je třeba, aby učení bylo deterministické a to hlavně z následujících důvodů: Pokud by učení nebylo deterministické a při učení neuronové sítě by se sledovala např. veličina X. Později by se mohlo zjistit, že je třeba sledovat i veličinu Y, tím by se staly veškeré již napočtené výsledky nepoužitelné, protože pro získání hodnot veličiny Y by bylo třeba znovu získat hodnoty již dříve naměřené, které by odpovídaly průběhu učení, při kterém bylo provedeno nové měření. Při drobné změně učících dat by učení mělo probíhat podobně, jako při učení původních dat. Pokud se neuronová sít naučí za použití učící 18

množiny X, která se později například rozšíří, mělo by učení probíhat alespoň podobně, jako s původní učící množinou, očekávalo by se také, že výsledná sít bude kvalitní. Tento požadavek je trochu naivní, ale rozhodně ho lze lépe splnit v případě deterministického učení. K učení výpočetních neuronů se používá metoda nejmenších čtverců, která je deterministická, procházení celé neuronové sítě při učení je také deterministické. Jediný prvek, kde se využívala náhoda, je učení přepínací jednotky. Některé metody pro učení přepínací jednotky jsou iterační a na počátku již vyžadují odhad řešení, tento odhad se získával náhodným generováním. V kapitole o použitých metodách shlukové analýzy jsou uvedeny výsledky některých experimentů, které ilustrují cilivost iteračních metod na konečném výsledku. Daly by se použít i neiterační metody, ze srovnání výpočetní náročnosti metod shlukové analýzy však vyplývá, že tyto metody jsou od jisté velikosti učící množiny velice náročné pro použití. Je nutné si uvědomit, že pro naučení neuronové sítě může být nutné naučit mnoho přepínacích jednotek a to by mohlo trvat delší čas. Citlivost iteračních metod na počáteční řešení by nemusela být až tak tragická, kdyby se ukázalo, že na celkové učení neuronové sítě to nemá příliš významný dopad. Bohužel z praktických výsledků se ukázalo, že opak je pravdou. Pro ilustraci tohoto jevu jsou uvedeny výsledky, na nichž je ukázáno, jak se liší výsledky těchto sítí při opakovaném učení. Tento experiment vychází z jednoduché představy, že pokud mají dvě síté různou kvalitu, musí se lišit i jejich parametry. Pro několik různých sítí byl proveden tisíckrát následující experiment: 1. neuronová sít byla naučena (jako učící množina byla použita množina vzorů, která je označena v kapitole 6 jako heart 2. byly spočteny výstupy neuronové sítě, kde jako vstupy byly použity vzory z učící množiny 3. byla spočtena chyba klasifikace danou sítí (poměr špatně klasifikovaných vzorů ku počtu všech vzorů, kde za špatně ohodnocený vzor byl považovaný vzor, u něhož byla sít učena na hodnotu +1 resp. -1, ale sít ho později zařadila blíže -1 resp. +1) 4. uložení kvality Na obrázcích 3.3, 3.4 a 3.5 je vždy vlevo uveden historgram chyb neuronové sítě, vpravo je uvedena topologie neuronové sítě, které odpovídá 19

daný histogram. Z uvedených histogramů lze usoudit, že kvality neuronových sítí, které byly učeny pomocí stejné nenaučené neuronové sítě a stejné učící množiny, se liší, z toho plyne, že i odpovídající neuronové sítě se liší. Náhodný počáteční rozklad tedy ovlivňuje učení sítí. Histogram chyby naučené neuronové sítě Frekvence 0 50 100 150 200 250 0.06 0.08 0.10 0.12 0.14 Chyba Obrázek 3.3: Histogram chyby klasifikace a topologie odpovídající neuronové sítě 3.5 Srovnání metod použitých pro učení přepínací jednotky Pro učení přepínací jednotky byly používány následující metody shlukové analýzy. Iterační metody Forgy rand Forgy PCA Forgy LA Hierarchické metody Nejbližší soused Nejvzálenější soused 20

Histogram chyby naučené neuronové sítě Frekvence 0 50 100 150 200 250 300 0.00 0.05 0.10 0.15 0.20 Chyba Obrázek 3.4: Histogram chyby klasifikace a topologie odpovídající neuronové sítě Průměrná nepodobnost Z iteračních metod jsou použity různé varianty Forgyho metody, tyto varianty se liší ve způsobu určení počátečního řešení, které se dále iteračně zlepšuje. Varianta Forgy rand vybere náhodně k bodů a ostatní body jsou zařazeny do shluku k nejbližšímu bodu, varianty Forgy PCA a Forgy LA používají metodu PCA Part a její variantu LA ( viz. odstavec A.2.3) k nalezení počátečního rozkladu. Tyto jednotlivé metody pracují na různých principech a minimalizují i různá kritéria pro rozdělení vzorů do shluků. To je důvod, proč tyto metody nebyly srovnávány přímo v rámci shlukové analýzy. Srovnána byla výpočetní náročnost těchto algoritmů, v kapitole 7 jsou uvedeny výsledky, které byly získány při zjišt ování vlivu jednotlivých metod na celkové učení neuronových sítí. Hlavní parametry ovlivňující metody shlukové analýzy jsou počet vzorů určených ke shlukování, jejich dimenze a způsob určování vzdálenosti mezi vzory. Uvedené výsledky byly získány při použití euklidovské vzdálenosti. 3.6 Srovnání v závislosti na počtu vzorů Na obrázku 3.6 je vidět závislost doby výpočtu na velikosti učící množiny (pro výpočet bylo vždy vzato prvních n vzorů) pro veškeré uvedené metody 21

Histogram chyby naučené neuronové sítě Frekvence 0 20 40 60 80 100 0.08 0.09 0.10 0.11 0.12 0.13 Chyba Obrázek 3.5: Histogram chyby klasifikace a topologie odpovídající neuronové sítě najednou. Z tohoto obrázku je zřejmé, že výpočetní náročnost hierarchických metod je značně vyšší než náročnost Forgyho metody. To vyplývá ze složitosti uvedených metod (viz dodatek A). Veškeré shlukování bylo provedeno pro deset shluků. Na obrázcích 3.7 až 3.12 jsou uvedeny zvlášt hierarchické metody a varianty Forgyho metody pro různé dimenze vstupních dat (pro vzory bylo použito vždy prvních k hodnot z učící množiny mushroom1-lrn) Na obrázku je uvedeno srovnání pro učící množinu heart1-lrn. Tato množina dat obsahuje méně vzorů, než mushroom1-lrn. Je vidět, že při nižší velikosti učící množiny ( 500) je rozdíl v čásové náročnosti malý, hierarchické metody jsou v tomto případě dokonce rychlejší než Forgy PCA. 3.7 Srovnání v závislosti na počtu shluků Kromě počtu vzorů v učící množině, je dalším parametrem počet hledaných shluků. Na obrázcích 3.15 a 3.15 jsou zobrazeny závislosti doby potřebné pro shlukování v závislosti na počtu shluků při konstantní velikosti učící množiny. 3.8 Závěry Ze srovnání vedených metod lze dojít k následujícím závěrům: 22

Používané metody Čas výpočtu[s] 0 5 10 15 Forgy LA Forgy PCA Forgy rand Nejbližší soused Průměrná nepodobnost nejvzdálenější soused 0 1000 2000 3000 4000 Počet prvků v datové množině Obrázek 3.6: Závislost doby výpočtu použitých metod na počtu prvků ve vstupní množině, data mushroom1-lrn (dim=125) hierarchické metody jsou od určité hranice daleko náročnější na výpočetní čas než iterační metody pro učící množiny s menším počtem vzorů ( 700) je výpočetní náročnost hierarchických a iteračních metod podobná, dokonce jsou hierarchické metody méně náročné než iterační metoda Forgy PCA uvedené hierarchické metody mají přibližně stejné nároky na výpočetní čas, nejsou citlivé na počet shluků Forgy PCA je významně náročnější, než další varianty Forgyho metody, přičemž náročnost těchto metod je ovlivněna počtem shluků Poznámka 3.3 Z deterministických variant Forgyho metody je varianta Forgy LA výrazně méně náročná na výpočetní čas, bylo by pozitivní zjištění, že výsledky celých neuronových sítí jsou při použití jednotlivých variant srovnatelné. 23

Hierarchické metody Nejbližší soused Průměrná nepodobnost nejvzdálenější soused Čas výpočtu[s] 0 5 10 15 0 1000 2000 3000 4000 Počet prvků v datové množině Obrázek 3.7: Závislost doby výpočtu hierarchických metod na počtu prvků ve vstupní množině (dim=125) Iterační metody Čas výpočtu[s] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 Forgy LA Forgy PCA Forgy rand 0 1000 2000 3000 4000 Počet prvků v datové množině Obrázek 3.8: Závislost doby výpočtu iteračních metod na počtu prvků ve vstupní množině (dim=125) 24