Vizuální 3D analýza chování neuronových sítí

Rozměr: px
Začít zobrazení ze stránky:

Download "Vizuální 3D analýza chování neuronových sítí"

Transkript

1 Ceské vysoké ucení technické v Praze Fakulta elektrotechnická Diplomová práce Vizuální 3D analýza chování neuronových sítí Jirí Nožka Vedoucí práce: Ing. Pavel Kordík Studijní program: Elektrotechnika a informatika dobíhající magisterský Obor: Informatika a výpocetní technika Leden 2007

2 ii

3 Podekování: Rád bych podekoval Ing. Pavlu Kordíkovi za vedení pri mém studiu problematiky související s touto prací a také za jeho otevrený a prátelský prístup a predevším za jeho trpelivost se mnou. Mé obrovské díky patrí mým rodicum, kterí mi studium umožnili a v jeho prubehu me intenzivne podporovali, jak jen to bylo možné. Jsem také velmi rád, že mohu podekovat své prítelkyni Barbore, která mi dodávala elán a optimismus. iii

4 iv

5 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatne a použil jsem pouze podklady uvedené v priloženém seznamu. Nemám závažný duvod proti užití tohoto školního díla ve smyslu 60 Zákona c. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zmene nekterých zákonu (autorský zákon). V Praze dne v

6 vi

7 Abstract The GAME method automatically generates models of variously complex systems. Models built by this method are often multidimensional, just as the data, which are used in training these systems. The problem is to find out, wheather the output of model aproximates the training data correctly. The aim of this work is to get better insight into a multidimensional behaviour of models, by means of 3D graphics. As the multidimensional space is too extensive, we applied genetic algorithms to locate remarkable areas in this space automatically. Abstrakt Metoda GAME automaticky generuje modely rozlicne složitých systému. Takto vytvorené modely jsou casto mnohorozmerné stejne jako data, použitá k jejich ucení. Problém je zjistit, zda výstup modelu správne aproximuje trénovací data. Smyslem této práce je umožnit získat alespon cástecnou predstavu o mnohorozmerném chování modelu s využitím prostredku 3D grafiky. Protože je mnohodimenzionální prostor príliš rozsáhlý, nasadili jsme genetické algoritmy k automatickému nalezení zajímavých oblastí v tomto prostoru. vii

8 viii

9 Obsah Seznam obrázku xi 1 Úvod...1 Teoretická cást 2 Neuronové síte Úvod do problematiky neuronových sítí Inspirace prírodními nervovými systémy Umelá neuronová sít Ucení zpetným šírením signálu BackPropagation Group Method of Data Handling (GMDH) Group of Adaptive Models Evolution (GAME) Skupinové ucení (Ensemble learning) Vizualizace dat Scatterplot Technika paralelních souradnic Java 3D API Základní architektura Java 3D API Základní objekty 3D scény v Jave Genetické algoritmy Inspirace Analogie Algoritmus Fitness funkce Elitismus...18 Vlastní práce 6 Shrnutí výchozích poznatku Regresní a klasifikacní modely Model v multidimenzionálním prostoru D rez n-dimenzionálního prostoru Postup vizualizace 3D rezu Osy Vizualizace trénovacích a ucicích dat Zobrazení dat a odpovedi síte najednou Svetla a materiálové vlastnosti Nastavení smeru a poctu smerových svetel Barvy svetel Zobrazení více modelu najednou regrese Problémy s pruhledností, chyba v Java 3D API Ctení grafu co lze z vizualizovaného modelu vypozorovat Vyhledání oblastí zajímavého chování modelu Aplikace genetického algoritmu Zakódování chromozomu Operátory krížení Operátor mutace Operátor selekce Fitness funkce Nastavení parametru genetického algoritmu Testování a experimenty Mlžná telesa pro klasifikacní modely...48 ix

10 9.2 Overení korektnosti vizualizace 3D rezu Užití genetického algoritmu Genetický algoritmus na reálných datech.....chyba! Záložka není definována. 10. Záver... Chyba! Záložka není definována. 11. Seznam literatury... Chyba! Záložka není definována. A. Seznam použitých zkratek... Chyba! Záložka není definována. B. Uživatelská prírucka... Chyba! Záložka není definována. B1. Instalace... Chyba! Záložka není definována. B2. Získání modelu pro vizualizaci... Chyba! Záložka není definována. B3. Aktivace vizualizacního modulu... Chyba! Záložka není definována. B4. Ovládání vizualizacního modulu... Chyba! Záložka není definována. B5. Nastavení vlastností vizualizace... Chyba! Záložka není definována. B51. Záložka Axis... Chyba! Záložka není definována. B52. Záložka Models... Chyba! Záložka není definována. B53. Záložka Lights... Chyba! Záložka není definována. B54. Záložka Data... Chyba! Záložka není definována. B55. Záložka Genetic search... Chyba! Záložka není definována. C. Obsah priloženého CD... Chyba! Záložka není definována. x

11 Seznam obrázku Obr. 2.1 Umelý neuron Obr. 2.2 Umelá neuronová sít Obr. 2.3 Ucení neuronové síte s ucitelem Obr. 2.4 GMDH sít Obr. 2.6 Srovnání MIA GMDH síte se sítí GAME Obr D Scatterplot Obr. 3.2 Vizualizace 3rozmerných dat metodou paralelních souradnic Obr. 4.1 Stromová struktura jednoduché 3D scény Obr. 6.1 Neuronová sít z funkcního hlediska Obr. 6.2 Dekompozice neuronové síte s více výstupy na více sítí s jediným výstupem Obr. 7.1 Tvorba 3D rezu Obr. 7.2 Vizualizace chování síte pomocí bodu v prostoru Obr. 7.3 Vizualizace chování síte pomocí drátového modelu Obr. 7.4 Vizualizace chování síte pomocí ploch v prostoru Obr. 7.5 Zobrazení samotných os souradného systému Obr. 7.6 Osy souradného systému s jejich názvy Obr. 7.7 Osy souradného systému s jejich názvy a hodnotami Obr. 7.8 Osy souradného systému s jejich názvy, hodnotami a orientacními body Obr. 7.9 Zobrazení samotných ucicích dat Obr Zobrazení dat a odpovedí síte v jedné scéne Obr Nasvícení scény všudyprítomným svetlem AmbientLight Obr Nasvícení scény smerovým svetlem DirectionalLight Obr Orientace 6 smerových svetel Obr Orientace 8 smerových svetel Obr Více sítí v jedné scéne spolu s daty Obr síte s pruhledností Obr Stejné síte jako na obrázku 7.16, ale nepruhledné Obr. 8.1 Závislost ceny budov v urcitém bode n-rozmerného prostoru Obr. 8.2 Zakódování chromozomu Obr. 8.3 Usporádání konfiguracního panelu genetického algoritmu Obr. 9.1 Vizualizace klasifikacního modelu s využitím billboardu Obr. 9.2 Overení korektnosti vizualizace xi

12 Obr. 9.3 Artefakty pri vizualizaci klasifikace pomocí bodu Obr. 9.4 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým algoritmem Obr. 9.5 Prubeh rustu fitness funkce pri hledání zajímavých oblastí genetickým algoritmem Obr. 9.6 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým algoritmem Obr Vývoj fitness funkce na modelech z reálných dat Obr. B.1 Program GAME s aktivovaným vizualizacním modulem Obr. C.1 Obsah priloženého CD xii

13 xiii

14

15 KAPITOLA 1. ÚVOD 1 1 Úvod Tvorba modelu je jedním ze základních nástroju abstraktního myšlení. Popišme si tento proces podrobneji. Ac o tom ne každý clovek takto uvažuje, vytvárí si pri poznávání okolního sveta i sebe sama ve své mysli, at vedome ci nevedome, abstraktní objekty, které jsou modely reálných objektu z okolního sveta. Tento myšlenkový model zachycuje významné vlastnosti reálného modelovaného objektu. To, které vlastnosti objektu budou považovány za duležité, se odvíjí predevším od zámeru, který nás vede ke zkoumání konkrétního objektu. Model je objekt, který slouží k predikci chování modelovaného objektu. Modely systému jsou zjednodušené, abstraktní nástroje používané pro predikci chování modelovaných systému. [2] Pokud odhlédneme od vnitrní struktury neuronové síte, mužeme na ni nahlížet jako na cernou skrínku, která má schopnost sama se naucit správne reagovat na vstupní signály pomocí urcitého množství príkladu správné reakce na dané signály. Temito príklady správné reakce jsou trénovací data. Jednou z predností neuronové síte je fakt, že ucicí príklady zdaleka nemusí kompletne pokrývat celý obor hodnot. Jinými slovy, neuronová sít se naucí správne reagovat ve všech prípadech, a to jen pomocí menšího množství príkladu. Receno ješte jinak, neuronová sít je ve své podstate vlastne univerzální interpolátor a extrapolátor. Neuronová sít tedy vytvárí model systému, ze kterého pocházejí ucicí data. Tento model vzniká ve fázi ucení neuronové síte a je realizován vnitrní strukturou a vnitrními parametry neuronové síte. Modelem je mnohodimenzionální prostor, kde každé dimenzi odpovídá jeden parametr modelovaného systému. S takto získaným modelem pak mužeme pracovat tak, že predložíme na vstup neuronové síte vektor souradnic odpovídající hodnotám parametru modelovaného systému, a na výstupu neuronové síte obdržíme odpoved síte na tento vstupní vektor. Model systému vytvorený neuronovou sítí by tedy mel vystihovat chování modelovaného systému, ale ponevadž ve fázi ucení nemá neuronová sít k dispozici kompletní a vycerpávající informace o modelovaném systému, musí chování systému v mnohých místech odhadovat. Kdybychom tyto kompletní informace o

16 2 KAPITOLA 1. ÚVOD systému meli, patrne bychom nepotrebovali neuronovou sít. Model systému proto nemusí ve všech oblastech odpovídat realite. Jedním z motivu této práce je napomoci takové oblasti odhalit, stejne tak jako najít oblasti, ve kterých by se vytvorený model mel blížit systému skutecnému s vetší pravdepodobností. Dalším smyslem této práce je napomoci nalézt takové oblasti v modelu, které jsou nejakým zpusobem zajímavé, a napomoci tak pri analýze vytvoreného modelu, a dále umožnit nahlížet na model s využitím podpory pocítacové 3D grafiky. Metod vizualizace dat existuje pomerne velké množství. Mým úkolem bylo nejakou zvolit a implementovat ji do prostredí programu GAME, vyvíjeného na katedre pocítacu FEL CVUT. Tato práce je clenena na dve sekce. V první teoretické sekci shrnuji nejduležitejší teoretické poznatky, týkající se sekce vlastní práce. V sekci vlastní práce popisuji funkci jednotlivých soucástí vizualizacních modulu, které jsem implementoval, a zásadní rozhodnutí, která jsem v prubehu implementace musel ucinit. Na konci této sekce jsou popsány experimenty, které jsem provedl za úcelem overení správné funkce implementovaných modulu. Sekce vlastní práce je pro ilustraci doplnena obrázky, které jsou produktem implementovaných modulu.

17 KAPITOLA 2. NEURONOVÉ SÍTE 3 Teoretická cást

18 4 2 Neuronové síte KAPITOLA 2. NEURONOVÉ SÍTE 2.1 Úvod do problematiky neuronových sítí Problematika umelých informacních systému, které jsou principiálne schopné napodobovat funkce nervových soustav a mozku živých organizmu podstatne dokonalejším zpusobem, než to muže cinit dosavadní, tzv. konvencní výpocetní technika, pritahuje pozornost odborníku i laiku již mnoho let. Historie neuroinformatiky je pomerne dlouhá a obor se prubežne rozvíjí. Umelé neuronové síte jsou oborem, v nemž mužeme vysledovat období módního až nekritického zájmu, avšak i období, kdy tento výrazne opadal. Druhá polovina šedesátých let 20. století prinesla, krome rady nových poznatku, i autoritativní názor, že perceptron (v té dobe jediný známý model neuronu) je co do svých schopností precenen, nebot nedokáže realizovat napr. logickou funkci XOR [4]. Velká renesance problematiky neuronových sítí nastala až ve druhé polovine 80. let, kdy se podarilo vysvetlit, že správný poznatek byl nesprávne interpretován. Mezi neuronovými sítemi a konvencními pocítaci existuje ve zpusobu práce zásadní rozdíl. Konvencní pocítacové systémy pracují podle predem daného postupu algoritmu. Podle nej vykonávají jednotlivé dílcí operace. Naproti tomu neuronové systémy uskutecnují velmi vysoký pocet dílcích operací soucasne a pracují bez algoritmu. Jejich cinnost je založena na procesu ucení, pri kterém se neuronová sít postupne co nejlépe adaptuje k rešení dané úlohy. Umelými neuronovými sítemi mužeme rešit složitejší úlohy, jako je rozpoznávání písma, identifikace podpisu ci prevod reci na psaný text. Dalšími úlohami jsou: predikce v pojištovnictví a bankovnictví, identifikace radarových údaju, zjištování cíle v sonarových obrazech, detekce explozivních látek na letištích, chybová diagnostika stroju, rozpoznávání státních poznávacích znacek automobilu, trídení zásilek podle PSC a v poslední dobe se objevují aplikace v oblasti vytežování dat (data mining). 2.2 Inspirace prírodními nervovými systémy Neuronové síte jsou inspirovány prírodními nervovými systémy. Poznatky o prírodních nervových systémech nám pomáhají pri modelování prírodních nervových systému. Neuronové síte jsou používány pro svou schopnost ucit se na omezené

19 KAPITOLA 2. NEURONOVÉ SÍTE 5 množine (vstupu a výstupu) a dávat výsledky i u vstupu, u kterých neznáme výstupy, cili pro svou schopnost generalizace. Obr. 2.1 Umelý neuron Základním stavebním kamenem prírodního nervového systému je neuron. Neuron má tri cásti: dendrity, soma a axon. Dendrity jsou vstupy a každý neuron jich má nekolik. Dendrity poskytují neuronu vstupní signály, které jsou v tele neuronu (soma) secteny, a podle výsledného signálu a prahové funkce je vyslán signál na výstup neuronu (axon). Neuron má pouze jeden výstup (axon), který se dále vetví a je napojen pres synapse na další neurony. Synapse se delí na dva druhy. Excitacní synapse, zvyšující hodnotu signálu, a inhibicní, které naopak snižují hodnotu signálu. Míra, o kolik se hodnota signálu zvýší nebo sníží, se liší u každé synapse a nositelem této míry prenosu signálu je tzv. synaptická váha. Tyto synaptické váhy jsou z velké míry zodpovedné za pamet celé síte. Dalším faktorem vytvárejícím pametový efekt síte je její struktura a vzájemné propojení jednotlivých neuronu. Nyní jiste tušíte, že obrovské schopnosti prírodních nervových systému, kterým je i lidský mozek, jsou predevším dány obrovským množstvím a bohatým vzájemným propojením jednotlivých nervových bunek cili neuronu. Jen pro predstavu uvedme, že lidský nervový systém obsahuje približne neuronu, k jedinému neuronu smeruje a informaci do nej prináší 10 až 100 tisíc dendritu a délka všech axonu jediného cloveka více než ctyrikrát presahuje vzdálenost Zeme Mesíc. 2.3 Umelá neuronová sít Neuronová sít vzniká ve fázi, které se ríká ucicí. V této fázi máme k dispozici množinu trénovacích dat, která se skládá z urcitého množství dvojic vektoru vstupních hodnot a výstupních hodnot. Pocet vstupu síte odpovídá dimenzi vektoru vstupních hodnot z množiny trénovacích dat. Tyto vektory vstupních hodnot jsou síti

20 6 KAPITOLA 2. NEURONOVÉ SÍTE postupne predkládány. Podle odezvy síte jsou upravovány parametry neuronové síte tak, aby výstup síte co nejvíce odpovídal ocekávané výstupní hodnote dané v trénovací množine. Výhodou umelých neuronových sítí je jejich schopnost generalizovat. Po naucení je sít schopná reagovat i na vstupní vektory, které jí nebyly predloženy v ucicí fázi. Vnitrní struktura síte se delí na vrstvy. První vstupní vrstva slouží pouze k distribuci vstupních hodnot do další již skryté vrstvy. Skrytých vrstev muže být libovolný pocet. Mezi jednotlivými vrstvami existuje propojení. Každý neuron predchozí vrstvy je propojen s neurony následující vrstvy. To, s jakou významností bude propojení prispívat do neuronu, je dáno synaptickou váhou, která je nastavována v ucící fázi. Za poslední skrytou vrstvou je vrstva výstupní, která reprezentuje a realizuje výstup neuronové síte, hodnota na tomto výstupu je reakcí odpovedí síte na predložený vstupní vektor. Obr. 2.2 Umelá neuronová sít 2.4 Ucení zpetným šírením signálu BackPropagation Znovuobjevení algoritmu BackPropagation [1] prineslo v osmdesátých letech nové možnosti v oblasti neuronových sítí. Pri použití tohoto algoritmu je struktura síte vytvorena predem a behem ucicí fáze se již nemení. Algoritmus používá techniku ucení s ucitelem. Je tedy nutné mít k dispozici ucicí množinu dat. Využívá se pro

21 KAPITOLA 2. NEURONOVÉ SÍTE 7 neuronové síte s dopredným šírením signálu. To znamená, že sít nemá žádné zpetné propojení neuronu nebo propojení ve smycce. Algoritmus probíhá iteracne. Prvním krokem je porovnání výstupu neuronové síte s ucicím vzorkem. To je provedeno priložením ucicího vzorku na vstupy síte a porovnáním výstupu neuronové síte s ocekávanou hodnotou, kterou známe z ucicího vzorku. Na základe odchylky od vzorku je vypocítána odchylka. Dále je pro každý neuron spocítán výstup, který by mel správne mít, a jeho lokální odchylka od skutecné hodnoty. Podle této odchylky je zmenena váha neuronu tak, aby byla minimalizována odchylka na výstupu neuronové síte. Postupne jsou síti predloženy všechny ucicí vzorky, tomu se ríká epocha ucení. Algoritmus probíhá tak dlouho, až chyba na výstupu neuronové síte klesne pod predem zadanou hodnotu, nebo pokud je proveden urcitý pocet epoch ucení. Již název algoritmu ríká, že chyba a tím i ucení se šírí zpetne. Chyba se šírí z výstupních neuronu k vnitrním neuronum neuronové síte. Algoritmus ucení je založen na minimalizaci odchylky výstupu neuronové síte od všech vzorku z ucící množiny. Velikost odchylky neuronové síte popisuje její míru naucenosti. Obr. 2.3 Ucení neuronové síte s ucitelem

22 8 2.5 Group Method of Data Handling (GMDH) KAPITOLA 2. NEURONOVÉ SÍTE Neuronové síte typu GMDH [2] jsou síte, které jsou vytváreny indukcí. rozdíl od sítí, které používají algoritmus BackPropagation, struktura síte typu GMDH není predem známá, ale vzniká až ve fázi ucení. Sít typu GMDH vychází z nekolika základních stavebních jednotek, které behem fáze ucení kombinuje a snaží se vytvorit model odpovídající trénovací množine dat. Pri vytvárení modelu se používá pravidlo nejsilnejší prežívá, kde nejsilnejší je ten model, který nejlépe odpovídá trénovací množine dat. Sít se skládá ze dvou typu neuronu. První typ neuronu distribucní je obsažen pouze v první (vstupní) vrstve. Tento neuron má pouze jeden vstup a nekolik výstupu. Jeho jedinou funkcí je distribuovat vstupní hodnotu na vstupy neuronu v první skryté vrstve. Skryté vrstvy jsou složeny z druhého typu neuronu, který realizuje transformacní funkci, a na poctu jejích parametru závisí i pocet vstupu do daného neuronu. Jeho výstup, stejne jako výstup distribucního neuronu, muže být rozvetven a pripojen na vstupy v další skryté vrstve. Aktivní neurony typicky realizují polynomiální funkci a jednotlivé aktivní neurony se od sebe liší pouze koeficienty techto polynomu. Na Obr. 2.4 GMDH sít

23 KAPITOLA 2. NEURONOVÉ SÍTE 9 Pocet a propojení mezi neurony dvou skrytých vrstev jsou dány až ve fázi ucení, která splývá s tvorbou síte. Na zacátku je pouze první vrstva složená z distribucních neuronu. Tvorba skryté vrstvy je stále stejná. Vždy vznikne práve tolik nových neuronu, kolik existuje kombinací vstupu z predchozí vrstvy. Ucení síte probíhá s ucitelem. Pred ucením není známa struktura neuronové síte. Sít vzniká vrstvu po vrstve, až v procesu ucení. Na zacátku je jasná pouze velikost (šírka) vstupní vrstvy. Ta má práve tolik distribucních neuronu, kolik je prvku (jaká je dimenze) vstupního vektoru. Ucení síte splývá s její tvorbou. Za vstupní vrstvou pri ucení prirustají další a další skryté vrstvy a tento proces probíhá tak dlouho, pokud není splneno kritérium kvality výstupní síte. Algoritmus tvorby skrytých vrstev je stále stejný. V každé vrstve vznikne tolik neuronu, kolik je úplných kombinací dvojic výstupu vrstvy predchozí. Pak se jednotlivé neurony konfigurují. To znamená, že se vypoctou všechny koeficienty jejich polynomu. Pak se nove utvorená vrstva zmrazí. To znamená, že se behem dalšího ucení již její parametry nemení a vrstva slouží pouze k distribuci signálu. Muže jen dojít k selekci neuronu v ní obsažených. Postup pri ucení neuronové síte typu GMDH: 1. konfigurace k-té vrstvy vytvorení nových neuronu výpocet koeficientu polynomu v každém polynomu 2. selekce neuronu v k-té vrstve 3. ukoncení ucení síte Konfigurace a selekce se opakují tak dlouho, dokud sít nedosahuje požadované chyby. Konfigurace k-té vrstvy probíhá tak, že pro každou dvojicí výstupu predchozí vrstvy vytvoríme nový neuron. Je-li tedy pocet výstupu predchozí vrstvy N, vznikne takto N m = = 2 N ( N 1) 2

24 10 KAPITOLA 2. NEURONOVÉ SÍTE nových neuronu. Každý neuron má své vlastní koeficienty v prenosové funkci polynomu. Po provedení prvního kroku tedy máme sestaveno m obecných prenosových polynomu, u nichž je treba urcit konkrétní hodnoty koeficientu. K tomu slouží ucicí množina dat. Ta obsahuje vzory (dvojice vstupu a výstupu). Priložíme-li na vstupy neuronu hodnotu hodnoty výstupu z predchozí vrstvy a dosadíme-li hodnotu požadovaného výstupu síte, máme pro každý neuron aktuální vrstvy lineární kombinaci n koeficientu. Pro urcení hodnoty koeficientu polynomu existuje rada algoritmu. Nejjednodušší spocívá v náhodném výberu n vstupních vektoru z ucicí množiny a koeficienty pak dostaneme vyrešením soustavy n lineárních rovnic o n neznámých. Pri selekci neuronu vypocteme strední kvadratickou odchylku každého neuronu pro soubor tzv. testovacích dat. Ta jsme získali tak, že jsme soubor vstupních dat predem rozdelili na cást použitou pri ucení síte a na cást testovací, kterou zkoumáme, jak kvalitne naucená sít aproximuje. Výpocet této odchylky tedy probíhá se souborem jiných dat, než která byla použita k ucení. Výpocet strední kvadratické odchylky muže napríklad probíhat podle tohoto vzorce: r 2 k ( y i i= 1 = k i= 1 yˆ ) y 2 i i 2, kde y i je hodnota požadovaného výstupu, ŷi skutecný výstup uvažovaného neuronu a k je pocet vektoru testovací množiny. Neurony aktuální vrstvy seradíme podle dosažené chyby. To znamená, že neurony s menší chybou budou pred neurony s chybou vetší. V síti ponecháme jen vyhovující neurony. To znamená, že odstraníme neurony z konce setrídené posloupnosti. Jsou to totiž neurony s nejvetší chybou a nechceme tedy, aby jako takové mely na chování síte v dalším pokracování algoritmu vliv. Neurony, které v aktuální vrstve zustaly, zmrazíme. Jejich koeficienty se pri další tvorbe síte už menit nebudou a v dalším pokracování algoritmu tyto neurony budou sloužit pouze k distribuci dat do vrstev následujících. Ucení síte je ukonceno, když splnuje sít naše požadavky na výstup. Postupujeme tak, že v každém ucícím kroku otestujeme, zda nejlepší neuron s požadovanou presností neaproximuje všechny vstupní vektory testovací množiny. V kladném prípade tvorba síte skoncila a práve tento neuron je výstupním neuronem celé síte.

25 KAPITOLA 2. NEURONOVÉ SÍTE Group of Adaptive Models Evolution (GAME) Metoda GAME [3] vylepšuje neuronovou sít typu GMDH. Dokáže generovat presnejší modely pro rozlicná data. Hlavním prínosem metody GAME je její schopnost generovat skupiny samoadaptujících se modelu podle charaketru a komplexnosti zadaných dat. Induktivní model neuronové síte roste do takové velikosti, aby byl schopen zadanou úlohu vyrešit s požadovanou presností. Model se skládá z jednotek (neuronu), které nejlépe modelují vnitrní vztahy v datech. Obr. 2.6 Srovnání MIA GMDH síte se sítí GAME Jak je videt na obrázku 2.6, sít typu GAME má více stupnu volnosti než sít typu GMDH (jednotky s více vstupy, propojení mezi vrstvami v síti). S rostoucí dimenzí zadaných dat je nemožné bez další heuristiky vyhledat v obrovském stavovém prostoru ruzných modelu správnou topologii. Metoda GAME v sobe zahrnuje genetický algoritmus, který vyvíjí optimální strukturu modelu. Dalšími vylepšeními jsou: nekolik typu jednotek (neuronu), které souteží o prežití v modelu rostoucí složitost modelu

26 12 propojení mezi vrstvami KAPITOLA 3. VIZUALIZACE DAT generování skupiny modelu, které zvyšují verohodnost odezvy modelu genetický algoritmus pro vytvárení optimální topologie modelu metoda niching, která umožnuje zachování méne presných, ale zajímavejších neuronu v modelu Metoda GAME generuje na množine ucicích dat modely s podobnou presností. Modely jsou testovány na náhodných podmnožinách množiny ucicích dat. Modely se skládají z podobných typu jednotek (neuronu) a mají podobnou složitost. Je velice obtížné zvolit jen jeden nejlepší model, protože modely jsou si velice podobné. Proto vzniká skupina modelu. Výhody skupinového ucení jsou popsány dále. 2.7 Skupinové ucení (Ensemble learning) Tato technika je založena na myšlence, že skupina konecného poctu modelu neuronových sítí je naucena pro rešení stejné úlohy. Skupinové ucení je nový prístup, kde je skupina neuronových sítí trénována pro rešení stejné úlohy. Tato metoda byla poprvé prezentována Hansenem a Salamonem [5], kterí ukázali, že schopnost neuronových sítí zevšeobecnovat muže být znacne zvýšena seskupením nekolika neuronových sítí a jejich spolecným naucením a kombinováním odezev jednotlivých modelu. Aplikace GAME, kterou jsme si popsali v predešlé kapitole, vytvárí takovouto skupinu modelu, jejímž použitím, na rozdíl od jednoho modelu, je možné zvýšit presnost modelování. 3 Vizualizace dat Protože se v této práci venujeme vizualizaci mnohorozmerného chování neuronové síte, strucne zmíníme teorii vizualizace mnohorozmerných dat, která se k našemu problému tematicky vztahuje, a ze které cerpáme nekteré myšlenky. Pri práci s neuronovými sítemi se setkáváme s velkými soubory dat. Pro alespon základní odhalení jejich struktury je možné použít nekolik prístupu. Textový výpis datových vektoru je pro cloveka, který neví co hledá, necitelný. Na tomto míste prichází na radu vizualizace, jako nástroj pro první náhled a rozpoznání struktury souboru dat. Pri vizualizaci hraje zásadní roli dimenze zkoumaných dat. Pochopitelne s rostoucí dimenzí dat se vizualizace a nahlédnutí struktury dat stává složitejší a casove nárocnejší.

27 KAPITOLA 3. VIZUALIZACE DAT Scatterplot Pro zobrazení dvourozmerných datových vektoru je vizualizace jednoduchá. Pokud je jeden datový vektor popsán r d =, ( x y) zobrazí se v grafu, kde na jedné ose je vynesena hodnota x, na druhé y, a na jejich souradnicích je zobrazena znacka. Takovému grafu se ríka Scatterplot. Príklad takového grafu je na obrázku 3.1., Obr D Scatterplot Tuto techniku vizualizace datových vektoru rozšírenou na trírozmerné datové vektory jsem použil i já ve své práci pro vizualizaci ucicích a trénovacích datových vektoru s tím, že jako znacku jsem použil koule. 3.2 Technika paralelních souradnic Príkladem techniky, která umožnuje vizualizaci mnohorozmerných dat, je technika nazývaná technika paralelních souradnic. Tato technika zobrazuje jednotlivá data z mnohorozmerného prostoru pomocí lomené prímky, která protíná jednotlivé rovnobežné horizontálne nebo vertikálne položené osy v bodech, které odpovídají korespondujícím souradnicím v mnohorozmerném prostoru. Príklad vizualizace trojrozmerných dat touto technikou je na obrázku 3.2.

28 KAPITOLA 4. JAVA 3D API 14 Obr. 3.2 Vizualizace 3rozmerných dat metodou paralelních souradnic IEEE 4 Java 3D API Java 3D API je volitelne instalovatelné rozhraní Javy, které poskytuje možnost programovat a pracovat s 3D pocítacovou grafikou. Ponevadž SUN autor Javy se rozhodl neinvestovat nadále do vývoje 3D rozhraní, stal se vývoj tohoto rozhraní predmetem vývoje zájmových skupin. Vzhledem k faktu, že mnoho vedeckých skupin toto rozhraní využívá k vizualizaci a práci s vedeckými daty, nemohl Sun 3D API zcela umrtvit. Na druhou stranu si jiste v Sunu uvedomili fakt, že vzhledem k nárocnosti grafických operací a vzhledem k výkonnosti soucasných PC není šance konkurovat neinterpretovaným jazykum, a tudíž dospeli patrne k záveru, že ke komercnímu využití toto rozhraní nebude možno v soucasné dobe využít. Takový byl stav v roce V dobe psaní této práce se vývoj tohoto 3D rozhraní sice zpomalil, ale stále probíhá a vznikají nové rychlejší verze, které umožnují pomerne nenárocnou práci s 3D grafikou, která se díky stoupajícímu výkonu PC a vývoji samotného Java 3D API približuje ke kvalite a rychlosti neintepretovaných rozhraní. Díky zpetné kompatibilite a javovské prenositelnosti na ruzné operacní systémy lze ocekávat, že toto 3D rozhraní bude použitelné tak dlouho, jak dlouho bude použitelný samotný jazyk Java.

29 Základní architektura Java 3D API KAPITOLA 4. JAVA 3D API Java 3D API využívá k popisu 3D scény stromovou strukturu. Základem každé scény v Jave 3D je objekt VirtualUniverse, který odkazuje na všechny ostatní objekty, které se ve scéne nacházejí. Používání trídy VirtualUniverse však není príliš obvyklé, mnohem casteji je, alespon u jednodušších programu, používána trída SimpleUniverse, což je podtrída trídy VirtualUniverse, jejíž využívání je mnohem snazší a vetšinou zcela dostacující. Zbavuje nás totiž nutnosti starat se o objekty PhysicalBody, PhysicalPlatform, View a ViewPlatform. (Jejich úcelem je popis pozorovatele, rozlišení obrazovky, jeho poloha, možnost stereo pohledu a dalších upresnujících méne obvyklých možností, které jsou základne nastaveny objektem SimpleUniverse). 4.2 Základní objekty 3D scény v Jave Na obrázku 4.1 je príklad jednoduché scény se základními objekty. V modre vyznacené cásti scény se nacházejí objekty nutné pro nastavení vlastností zobrazovacího zarízení. Celou tuto cást je možné nahradit objektem SimpleUniverse, který obsahuje definici této struktury. Z objektu SimpleUniverse následne získáme odkaz na jeho cást Canvas3D, který umístíme do garfického rozhraní stejným zpusobem, jako bežné ovládací komponenty AWT. Nyní si ve strucnosti naznacíme význam jednotlivých objektu scény, címž si nastíníme postup tvorby scény. VirtualUniverse základ každé scény. Predstavuje pocátecní bod stromové struktury a jako jediný objekt 3D scény nemá žádného rodice. Locale tento objekt urcuje výchozí bod souradného systému. BranchGroup koren pro cást scény. TransformationGroup transformacní uzel, který obsahuje transformacní matici posunutí, rotace a merítka. S Shape tento objekt je považován za list stromové struktury a shrnuje v sobe odkazy na popis geometrie a optických vlastností grafického objektu. Geometry tento objekt je nositelem konkrétních hodnot souradnic vrcholu grafického objektu.

30 KAPITOLA 5. GENETICKÉ ALGORITMY 16 Appearance tento uzel slouží jako uchování odkazu na objekty definující optické vlastnosti grafického objektu a metod jeho renderování. Materiál specifikuje materiálové vlastnosti grafického objektu. ColoringAttributes definice barvy grafického objektu. Tato barva je použita jen v prípade, že grafický objekt nemá prirazené materiálové vlastnosti. LineAttributes zpusob kreslení car. (prerušovane, plne, teckovane) Obr. 4.1 Stromová struktura jednoduché 3D scény 5 Genetické algoritmy 5.1 Inspirace Genetické algoritmy jsou inspirovány prírodou a používané termíny jsou prevzaty z biologie. Populace živocišných druhu na Zemi jsou tvoreny jedinci, kde každý jedinec je definován skupinou chromozomu, které jsou tvoreny geny. Geny mohou nabývat ruzných hodnot allea a tím kódovat ruzné vlastnosti jedince. Skupina chromozomu, pak vytvárí genom, který urcuje všechny vlastnosti jedince. Genom je pro každého jedince specifický a pokud dva jedinci mají stejný genom, pak jsou identictí. Pri rozmnožování dochází k náhodné výmene (krížení) genu mezi rodici, kterí jsou v prírode vybírání podle schopnosti reprodukovat se a prežít v daném prostredí. Tím vzniká nový jedinec s unikátním geonomem, a tím i vlastnostmi. Pri krížení dochází i

31 17 k mutaci, populace vnáší vetší rozmanitost. 5.2 Analogie KAPITOLA 5. GENETICKÉ ALGORITMY pri které dojde k náhodné zmene nekterých genu, a která do Genetické algoritmy používají podobné techniky a snaží se napodobit úspech prírody. Možné rešení problému je jedincem, a jeho genom jsou parametry, které toto rešení definují. Parametry jsou vetšinou uloženy v podobe retezce, který se skládá z predem známé abecedy. Znaky retezce jsou geny, které mohou nabývat ruzných hodnot abeced (alleami). Hodnoty znaku mohou být jak binární (0 a 1), tak reálné. Kvalitu jedince a jeho vhodnost pro použití jako rodice pro další generaci definujeme pomocí fitness funkcí. Fitness funkce je ohodnocením každého jedince a svou hodnotou musí zvýhodnovat lepší rešení problému. 5.3 Algoritmus 1. Inicializace první populace Na zacátku je potreba vytvorit populaci. Ta muže být bud zcela náhodná, nebo, pokud chceme zkrátit dobu výpoctu, mužeme vytvorit první populaci tak, aby neobsahovala zcela nevhodná rešení. Další možností je vytvorit populaci s vetším poctem jedincu s tím, že algoritmus pri provádení první selekce vybere lepší jedince. 2. Výpocet fitness funkce Pro každého jedince z populace se vypocte fitness funkce, která urcuje vhodnost jedince stát se rodicem pro další populaci. Behem tohoto kroku se také vyhodnocuje zastavovací kritérium. Zastavovací kritérium urcí, zda je v populaci jedinec, který je dostatecne kvalitní a je možné algoritmus ukoncit. 3. Vytvorení nové populace Pri vytvárení nové populace opakovane používáme operátory selekce a krížení. Operátor selekce vybírá vhodné kandidáty na rodice a následne jejich krížením vzniká jedinec, který je zarazen do nové populace. To provádíme tak dlouho, dokud nová populace nemá dostatecný pocet jedincu. 4. Mutace Na každého jedince v populaci je aplikován operátor mutace, který náhodne se zadanou pravdepodobností pozmení geny jedince.

32 KAPITOLA 5. GENETICKÉ ALGORITMY Elitismus Do nové populace zahrneme i nekolik nejlepších jedincu ze staré populace. Tím se docílí zachování nejlepších doposud nalezených rešení pro další generace a zároven maximální hodnota fitness funkce bude v prubehu algoritmu neklesající. 6. Stárí Starou populaci nahradíme novou a pokracujeme opet výpoctem fitness funkce. 5.4 Fitness funkce Fitness funkce je merítkem úspešnosti jedince v populaci. Cím lepší (vetší) je hodnota fitness funkce, tím se jedinec stává perspektivnejším kandidátem na rodice. Pokud se jedinec stane rodicem, je jeho rešení predáno do další generace. Fitness funkce by mela postihnout všechna kriteria rešené úlohy. Kladné vlastnosti by mely zvyšovat hodnotu fitness funkce a naopak záporné vlastnosti by hodnotu fitness funkce mely snižovat. Na správném navržení fitness funkce závisí správnost celého genetického algoritmu. Velkou výhodou genetických algoritmu je jejich schopnost fungovat i s fitness funkcí, která ne zcela optimálne popisuje hledané rešení. Genetický algoritmus pak konverguje pomaleji, ale z jeho chování lze odvodit správné nastavení fitness funkce, které bude konvergovat rychleji. 5.5 Elitismus Zpusob, jakým se vybírají kandidáti na rodice pro novou populaci nezarucuje, že v nové populaci bude vždy obsažen jedinec, který popisuje doposud nejlepší nalezené rešení. Aby se zabránilo zapomenutí již nalezeného nejlepšího rešení, jsou do nové populace automaticky vkládáni nejlepší jedinci ze staré populace. Tím je zarucen neklesající prubeh maximální hodnoty fitness funkce v celé populaci.

33 19 KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU Vlastní práce

34 KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU 20 6 Shrnutí výchozích poznatku 6.1 Regresní a klasifikacní modely Aplikace, pro které jsou neuronové síte vhodné, lze v podstate rozdelit na dve množiny, a sice na aplikace regresní a klasifikacní. Z pohledu neuronové síte jsou všechny fáze i zpusob její práce stejné, rozdíl je v tom, jak správne interpretovat výsledky, které sít poskytuje. V prípade regresní aplikace nás zajímá vývoj konkrétních hodnot výstupního parametru v závislosti na ostatních vstupních parametrech. V prípade klasifikacních aplikací nás zajímá, zda v závislosti na vstupních parametrech sledovaný objekt prísluší k dané tríde. V trénovacích datech se to projeví tím, že hodnoty výstupního modelovaného parametru nabývají v prípade klasifikacních aplikací pouze nekolika obvykle dvou hodnot, a ty urcují príslušnost k dané tríde v daném bode prostoru. Naopak v aplikacích regresních nabývají hodnoty modelovaného parametru celé škály ruzných hodnot. Nyní se pokusím rozdíl mezi regresními a klasifikacními aplikacemi osvetlit na konkrétních príkladech obou aplikací. Tyto príklady nejsou mnou vymyšlené, ale pocházejí z [12], a obe aplikace jsem ve své práci odzkoušel. Príkladem regresní aplikace je vývoj cen budov v americkém Bostonu v závislosti na parametrech, jako je míra kriminality v dané oblasti, stárí budovy, vzdálenost od centra mesta, znecištení ovzduší a další. Predložíme-li naucené neuronové síti na vstup konkrétní hodnoty techto vstupních parametru, na výstupu síte se objeví její odezva a hodnota odezvy síte je odhadem ceny budovy pri techto parametrech. Príkladem klasifikacní aplikace je rozpoznávání druhu kosatce v závislosti na jeho biometrických vlastnostech, jako je délka a šírka okvetního lístku a kališního lístku. Po priložení techto hodnot na vstup naucené neuronové síte dostaneme na jejím výstupu hodnotu z intervalu <0;1>. Pokud je hodnota na výstupu síte rovna 1, znamená to, že kosatec patrí do dané rodové trídy, výstup síte roven 0 naopak znací, že kosatec do této trídy nepatrí. Pokud se na výstupu objeví hodnota mezi 0 a 1, pak tato hodnota znamená nejistotu síte v daném bode, cili napríklad hodnota 0,7 znamená, že kosatec do této trídy patri se 70% pravdepodobností. Pro klasifikaci do více tríd tak jak je tomu i v této úloze se nepoužívá vícehodnotová škála odpovedí, ale konstruujeme více neuronových sítí najednou pro každou klasifikacní trídu jednu sít.

35 21 KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU 6.2 Model v multidimenzionálním prostoru Nyní se nebudeme zabývat tím, jak je neuronová sít sestavena, ani procesy, které se v ní odehrávají, ale budeme ji brát jako cernou krabicku cili budeme se o ni zajímat jen z hlediska jejího vnejšího chování. Do této cerné krabicky mohou pricházet informace z okolního sveta jen pres vstupní kanály a informace do okolního sveta z ní mohou vycházet jen pres kanály výstupní. Tyto kanály jsou oddelené, neboli kanály nejsou vstupne-výstupní. Vstupními kanály jsou napojení na smyslové orgány a výstupními kanály jsou orgány výkonné, jak je to v prípade živých organismu. V našem prípade umelých neuronových sítí jsou vstupní i výstupní kanály numerické. Numerické kanály mohou samozrejme prejímat informace z umelých senzoru a výstupní numerické kanály mohou sloužit k rízení výkonných soucástí nejakého zarízení a v praxi to takto skutecne funguje. My se ale budeme predevším zajímat o tyto kanály z hlediska funkcních závislostí. Naší výhodou je, že numerické kanály mohou získávat a vydávat informace pomocí textového souboru. Obr. 6.1 Neuronová sít z funkcního hlediska Naše aplikace GAME je navržena tak, že predpokládá, že má vždy jedna sít jeden výstup. Z teoretického hlediska neexistuje duvod, proc by jedna sít nemohla mít více výstupu. V praxi se však vetšinou pracuje se sítemi, které mají jen jeden výstup, a pokud vznikne potreba více výstupu, reší se tato potreba pripojením více neuronových sítí na stejné vstupy. Z analytického hlediska bychom metodou dekompozice postupovali stejným zpusobem. Pokud bychom meli prece jen sít s více výstupy, rozdelili bychom ji na více sítí s jedním výstupem a se vstupy pripojenými na stejné vstupní hodnoty.

36 KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU 22 Obr. 6.2 Dekompozice neuronové síte s více výstupy na více sítí s jediným výstupem Ve chvíli, kdy je proces ucení neuronové síte ukoncen, je výstup síte dán nejakým funkcním vztahem mezi vstupními kanály. Tento funkcní vztah je dán vnitrní strukturou síte a jejím nastavením. Struktura síte i její nastavení se mení ve fázi ucení, pokud je však proces ucení ukoncen, zustává toto vše nemenné a výstup síte je nadále deterministický. Tím máme na mysli to, že pokud priložíme na vstup síte stejné hodnoty, dostaneme na výstupu vždy stejný výsledek. Dalším duležitým faktem je to, že dostáváme pro jednu kombinaci vstupních hodnot jedinou hodnotu výstupní. Tento model by byl funkcí dvou promenných. Její graf by byl zakrivenou plochou v trojrozmerném prostoru dva rozmery by byly ony vstupní promenné a tretí rozmer by byl odpovedí síte, tedy funkcní hodnotou vstupních promenných.

37 23 KAPITOLA 6. SHRNUTÍ VÝCHOZÍCH POZNATKU V praktických aplikacích však bývá vstupních promenných mnohem vetší množství. To je zpusobeno tím, že systémy v reálném svete mohou být ovlivneny mnoha faktory, a tyto faktory musíme pri modelování takových systému zohlednit, aby náš model kopíroval chování reálného systému co nejverneji. N vstupních promenných tedy povede k tomu, že model systému vytvorený sítí bude funkce N promenných vracející jednu hodnotu, cili bude tvorit N+1 dimenzionální prostor. Vzhledem k tomu, že je model dán funkcí, z vlastností funkce vyplývá, že modelem bude zakrivená rovina v tomto N+1 rozmerném prostoru. Jaký však má tato funkce význam? Tato funkce je modelem chování urcitého parametru modelovaného systému v závislosti na parametrech, které privádíme na vstupy síte D rez n-dimenzionálního prostoru Vzhledem k tomu, že se náš model nachází v N+1 dimenzionálním prostoru, kde N je velmi casto vetší než 2, je treba rešit problém, jak takovýto prostor vizualizovat to je totiž mimo jiné smyslem této práce. Rozhodl jsem se zvolit techniku rezu. Myšlenka techniky rezu v našem kontextu znamená zmrazit všechny dimenze krome trí vybraných na zvolených konstantních hodnotách a zbývající tri dimenze použít pro tvorbu trojrozmerného telesa, které pak následne zobrazíme. Pro vetší názornost si techniku rezu popíšeme na príkladu 2D rezu 3D prostoru dvoudimenzionálního rezu trojrozmerného prostoru. Predstavme si grafický trojrozmerný model povrchu pohorí. Tento grafický model bude tvoren zakrivenou plochou, predstavující povrch pohorí. Pak do tohoto modelu vložíme rovinu. Pak prunik 3D modelu a roviny tvorí dvou rozmerný rez trojrozmerného prostoru. Tuto rovinu mužeme vložit ve zcela obecné poloze a bude se jednat o rez, nicméne pro naše úcely je šikovné vložit ji tak, aby byla rovnobežná s co nejvetším poctem os souradného systému. Vzhledem k tomu, že se chystáme nejak graficky znázornit chování funkce, bude v našem rezu vždy práve jedna dimenze vyhrazena pro funkcní hodnoty pro odpoved síte vdaném bode prostoru a zbylé dva rozmery budou použity pro dva ruzné zvolené vstupy na nichž budeme zobrazovat funkcní závislost.

38 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 24 7 Postup vizualizace 3D rezu Pro grafické zobrazení 3D rezu jsem se rozhodl využít možností Java 3D API. Tato volba byla predevším podmínena tím, že celá aplikace GAME je napsána práve v programovacím jazyku Java. Podobne jako v jiných grafických prostredích pro 3D grafiku, využívá Java 3D k popisu složitejších objektu jejich rozkladu na množinu elementárních geometrických útvaru jako je bod, úsecka,trojúhelník nebo ctverec. Pri zobrazení musíme nejprve zvolit souradný systém. V našem prípade jsem se rozhodl pro kartézský souradný systém. Je to totiž nejcasteji používaný souradný systém a využívá jej také Java 3D API. Pri vizualizaci 3D rezu tedy ztotožníme souradný systém rezu a virtuálního modelového prostoru v Java 3D API. Jak již bylo uvedeno výše, pri tvorbe 3D rezu mnohodimenzionálního prostoru ponecháváme všechny vstupní promenné krome dvou vybraných na urcité konstantní hodnote a zbylé dve vstupní promenné meníme od jejich minimálních možných hodnot až po jejich maximální možné hodnoty a pritom zjištujeme odpoved síte pro tyto vstupní hodnoty. Projdeme-li takto všechny možné kombinace dvou zvolených vstupu, získáme množinu bodu, která tvorí zakrivenou plochu v 3D prostoru, kterou následne zobrazíme a umožníme ji natácet, približovat a oddalovat, aby si mohl pozorovatel udelat co nejlepší predstavu o jejím tvaru. Obr. 7.1 Tvorba 3D rezu

39 25 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Z technického charakteru problému plyne, že nemužeme projít úplne všechny body, ale musíme odmery provádet s urcitým krokem. Takto získáme množinu bodu, které leží na zakrivené ploše, kterou chceme zobrazit. Tyto body mužeme zobrazit jako body tak jak leží v 3D prostoru obr 7.2., nebo je mužeme spojit úseckami obr. 7.3, tímto postupem získáme takzvaný drátový model, anebo je proložit rovinami obr Všechny tyto tri možnosti jsem implementoval ve své práci. Obr. 7.2 Vizualizace chování síte pomocí bodu v prostoru

40 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 26 Obr. 7.3 Vizualizace chování síte pomocí drátového modelu

41 27 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Obr. 7.4 Vizualizace chování síte pomocí ploch v prostoru 7.1 Osy V technické praxi je zavedeným zvykem kreslit ke grafum osy, jednak aby bylo jasné, kde má graf pocátek souradného systému a jak je tento souradný systém orientován, a jednak, aby bylo jasne dané merítko grafu. Merítko grafu vyplývá z hodnot uvedených po urcitých pravidelných intervalech na osách v podobe grafické znacky a pripojené císelné hodnoty. Casto se ješte mezi znacky hodnot na osy kreslí menší znacky, a sice opet v pravidelných intervalech, ale bez popisu. Tyto menší znacky slouží jako orientacní body pro lepší odhad hodnoty v místech mezi body opatrenými císelnou hodnotou, která nemuže být z duvodu prostorové nárocnosti na zobrazení zobrazena s tak velkou hustotou jako samotné grafické znacky. Pocátek souradného systému bývá obvykle zobrazen prusecíkem os a orientace souradného systému se znacívá šipkou na konci osy, a sice šipkou ve smeru kladného rustu hodnot v príslušné dimenzi. K jaké dimenzi urcitá osa prísluší

42 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 28 je jasné z jejího názvu, který bývá pripsán pod ní nebo nejcasteji do místa blízkého šipce naznacující její kladnou orientaci. Ve své práci jsem se snažil, aby bylo zobrazení co nejvíce konfigurovatelné a aby si jej mohl pozorovatel co nejvíce prizpusobit svým potrebám. Tato snaha se promítla i do zobrazení os. Pomocí checkboxu v nastavení vlastností zobrazení lze zobrazování os úplne vypnout nebo zobrazit pouze osy, jak je videt na následujícím obrázku. Obr. 7.5 Zobrazení samotných os souradného systému To, zda bude zobrazen popis os, je další volitelná vlastnost zobrazení.

43 29 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Obr. 7.6 Osy souradného systému s jejich názvy Lze zvolit, zda budou zobrazeny hodnoty na osách a jejich pocet. Popisy jsou pak umísteny na osy tak, aby mezi dvema popisy na jedné ose byla vždy stejná vzdálenost a aby úseky mezi jednotlivými osami byly co nejvetší. Obr. 7.7 Osy souradného systému s jejich názvy a hodnotami

44 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 30 Další volitelnou vlastností os je zobrazení a pocet menších orientacních znacek bez popisu hodnot. Jejich rozmístení je opet pravidelné. Obr. 7.8 Osy souradného systému s jejich názvy, hodnotami a orientacními body Jako grafickou znacku oznacující místo na ose jsem zvolil dve stejne dlouhé úsecky vzájemne se protínající ve svých stredech a navzájem na sebe kolmých a kolmých na osu, na níž je znacka umístena. Tato dvojice krížících se úsecek tak vlastne vytvárí znacku ve tvaru znaménka +. Výhodou tohoto symbolu je predevším to, že at se na nej díváme z jakéhokoli úhlu, je vždy videt alespon jedna úsecka zkrácená maximálne na polovinu odmocniny ze dvou vynásobené puvodní délkou. Takže se nikdy nemuže stát, že by znacka nebyla videt. Na druhou stranu, tyto úsecky zabírají malou cást na obrazovce, a tak v prípade, že leží pred modelem chování neuronové síte, témer vubec nepusobí rušivým dojmem. Aby pri sledování modelu z ruzných stran zustávaly názvy os a císelné hodnoty na osách citelné, je treba zohlednit pri zobrazení techto popisu úhel, ze kterého do scény nahlížíme. Toto natácení popisu lze jednoduše realizovat pomocí trídy zajištující, aby byl grafický objekt orientován smerem k pozorovateli vždy ve stejném úhlu. V terminologii pocítacové grafiky se o takovémuto objektu ríká, že se chová jako billboard.

45 Vizualizace trénovacích a ucicích dat KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Ve chvíli, kdy máme již neuronovou sít naucenou a vizualizujeme její chování, budeme též chtít do stejného modelu zobrazit i ucicí a trénovací data, aby bylo možné pozorovat, jak presne je sít proložila. Tato data jsou vlastne osamocené body v prostoru a jejich poloha je vetšinou zcela chaotická, nebo se vyskytují shluky. Ponevadž jsou data body, budeme se je snažit vizualizovat nejobvyklejším zpusobem jako body v prostoru. Nejjednodušším zpusobem, jak tohoto cíle dosáhnout, je reprezentovat data jako koule v prostoru ty totiž pri natácení scény vypadají vždy stejne. Ve skutecnosti mají ucicí a trénovací data zcela presnou polohu v mnohodimenzionálním prostoru, tedy presne definovanou polohu vzhledem ke všem dimenzím. Pri zobrazování 3D rezu bychom museli znát presné hodnoty souradnic, které je treba nastavit na konstantních vstupech pro jednotlivá data, abychom se dostali s naším 3D rezem do míst v mnohodimenzionálním prostoru, která presne protínají polohu jednotlivých trénovacích dat. Za tímto úcelem bylo již v programu GAME implementováno rozhraní v podobe posuvníku, jehož posunem se dostáváme postupne do míst v mnohodimenzionálním prostoru, která odpovídají presné poloze dat. Tento posuvník je nazván Training or testing data. Já jsem se rozhodl na popud svého konzultanta vizualizovat i data, která neleží presne v poloze dané fixovanými dimenzemi, ale jsou od dané polohy 3D rezu v mnohodimenzionálním prostoru ne príliš, ale prece jen ponekud vzdálena. To, jak mnoho jsou data vzdálena od skutecné polohy, jsem zohlednil velikostí zobrazené kulicky, a to tak, že cím jsou data vzdálenejší od soucasné polohy vizualizovaného rezu, tím je zobrazovaná kulicka menší. S rostoucí vzdáleností se kulicky od urcité vzdálenosti nezobrazují. Toto pravidlo je zavedeno z toho duvodu, že jinak by se vlastne vždy do vizualizace promítla všechna data, což zase prece jen nechceme. To, od jaké vzdálenosti se data již nebudou zobrazovat, je opet nastavitelný parametr modelu, a nazvali jsme jej klobouk z duvodu podobnosti tvaru této funkce s tvarem oblíbeného módního doplnku gentlemanu.

46 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 32 Obr. 7.9 Zobrazení samotných ucicích dat opet se jedná o 3D rez mnohodimenzionálního prostoru. Jednotlivá ucicí data jsou zobrazena jako kulicky v prostoru. Velikost kulicky je závislá na její vzdálenosti od její skutecné polohy v mnohodimenzionálním prostoru Nyní se jen krátce zmíním o tom, v jakém smyslu pracuji s pojmem vzdálenost. Používám Euklidovu vzdálenost, cili vzdálenost d dvou bodu x, y v n- dimenzionálním prostoru je definována následujícím vztahem: d n 1 2 2, = x i y i, kde i= 1 i yi ( x y) ( ) x, jsou i-té souradnice bodu x, y. Pri zobrazování klasifikacních dat je vetšinou prospešné zobrazit jen data patrící k jedné klasifikacní skupine. Výber klasifikacní skupiny, jejíž data se zobrazují, je prováden komboboxem, který již v aplikaci byl. Dále jsem doplnil možnost zobrazit data všech klasifikacních skupin najednou a také jsem samozrejme umožnil zobrazování dat úplne vypnout. Obe tyto možnosti jsou rešeny pomocí checkboxu v menu nastavení grafu.

47 Zobrazení dat a odpovedi síte najednou KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Zobrazíme-li data a odpoved síte do jediné scény, mužeme pozorovat, jak sít prokládá ucicí a trénovací data, a tedy i to, jak je interpoluje a extrapoluje. Musíme si však na tomto míste uvedomit, že jsou zobrazena i data, která mají rozdílné hodnoty vstupu, které jsou pro model chování neuronové síte zobrazený pomocí zakrivené plochy v dané scéne konstantní. Rozdílnost konstantních vstupu je popsána v minulém oddílu. Proto nelze ocekávat, že sít proloží všechna data nebylo by to ani dobrým znakem chování síte. Na druhou stranu by odpoved síte mela procházet oblastí, která obsahuje vetší zahuštení trénovacích a ucicích dat. Obr Zobrazení dat a odpovedi síte v jedné scéne

48 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Svetla a materiálové vlastnosti Pri implementaci jsem po zkonstruování grafických objektu modelujících chování síte musel do scény pridat svetla, aby byly grafické objekty viditelné. Nejprve jsem použil nejjednodušší všudyprítomné svetlo bez smerových vlastností. Tento typ svetla je v Java 3D API reprezentován svetlem AmbientLight. Následne jsem pak vyzkoušel, jak by vizualizace vypadala pri použití smerových svetel. Smerová svetla jsou v Java 3D API reprezentována svetlem DirectionalLight. Rozdíl v nasvícení objektu je krásne videt na následujících dvou srovnávacích obrázcích téhož objektu nasvíceného ruznými typy svetel. Obr Nasvícení scény všudyprítomným svetlem AmbientLight Obr Nasvícení scény smerovým svetlem DirectionalLight

49 35 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU Nevýhodou použití smerových svetel je nutnost definovat jednotlivým plochám normálové vektory. To však není problém, ponevadž každou rovinu máme danou 4 body ty získáváme jako odpoved neuronové síte a s využitím kartézského soucinu dvou vektoru získáme normálový vektor této roviny, který je pak ješte dobré normalizovat. Toto je problém lehce rešitelný. Daleko težší je zodpovedet si na otázku, zda redundantní informace, která se takto díky odleskum a stínum do zobrazení zanáší, je pozorovateli prospešná ci nikoli. Dle mých pozorování je však lepší použít smerové nasvícení scény, nebot odlesky a stíny mnohem lépe ukazují deformace roviny, které lze v prípade nasvícení scény pouze všesmerovým ambientním svetlem pozorovat až pri natácení scény, a tedy pohledem z ruzných úhlu. Rozhodl jsem se však ponechat uživateli možnost nastavit oba typy svetel. Svetlo lze tedy nastavit jak všesmerové, tak smerové, a i kombinace obou. Nastavení typu svetla se provádí pomocí checkboxu v nastavení vizualizace. 7.5 Nastavení smeru a poctu smerových svetel V prípade použití všesmerového svetla si vystacíme pouze se svetlem jediným, kterému navíc není nutné a ani možné nastavovat smer vyzarování. Mnohem více rozhodování nás ceká v prípade použití svetel smerových ale efektnost a efektivita následné vizualizace za to jiste stojí. V prípade užití smerových svetel musíme nastavit jejich smer. Vyzarované paprsky jsou rovnobežné, a proto musíme použít více smerových svetel tak, abychom nasvítili scénu ze všech smeru, nebot lze modelem otácet a je nutné, aby byl model dostatecne nasvícen ze všech smeru. Pri prvním pokusu se smerovými svetly jsem použil 6 svetel vždy po dvou smerových svetlech svítících proti sobe ve smeru os zvoleného souradného systému, jak je naznaceno na obrázku 7.13.

50 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 36 Obr Orientace 6 smerových svetel Nedostatkem takto nasvícené scény byly nedostatecne nasvícené oblasti modelu, které mely normálový vektor rovnobežný nebo témer rovnobežný s diagonálami myšlené krychle, dané souradným systémem vizualizace a vytycené osami. Proto jsem puvodních 6 svetel nahradil 8 svetly v diagonálním smeru opet vždy po dvojici svetel svítících ve smeru proti sobe, jak je naznaceno na obrázku Obr Orientace 8 smerových svetel Všechny tri zmínené zpusoby osvetlení scény, tedy ambientním svetlem, 6 svetly smerovými a 8 svetly smerovými, je samozrejme možné ruzne kombinovat. To,

51 37 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU který druh osvetlení a jejich kombinace se použijí, je možné nastavit v panelu nastavení vizualizacního modulu. 7.6 Barvy svetel Dalším parametrem pri osvetlování scény, který musíme nejak zvolit, je barva použitého svetla, a to at se rozhodneme použít ambientní osvetlení, tak i v prípade svetel smerových. Ponevadž výsledná zakrivená plocha, která modeluje chování síte, již svou barvu nastavenou má a není smysluplné tuto její barvu ješte dále menit barvou použitého svetla, zvolil jsem pro všechna svetla barvu bílou. Bílá barva svetla totiž obsahuje všechny barevné složky, a tak pri dopadu na povrch zachovává jeho puvodní barvu. 7.7 Zobrazení více modelu najednou regrese Ponevadž aplikace GAME využívá k tvorbe modelu z ucicích a trénovacích dat, tedy k ucení, ruzné algoritmy, mezi než patrí i algoritmy genetické, jsou dva modely vytvorené na stejných ucicích i trénovacích datech témer vždy odlišné. Nekdy více, jindy zase méne to závisí mimo jiné i na ruzných parametrech ucení. Parametru ucení je veliké množství, patrí sem treba jeho délka, pocet neuronu, jejich prenosové funkce, ale i mnohé další. Avšak i v prípade, že použijeme stejné i tyto parametry a stejná data, obdržíme nakonec témer vždy ruzné síte. To je dáno charakterem trénovacích algoritmu. Zobrazíme-li více modelu do jedné vizualizacní scény, mužeme práve tyto odlišnosti pozorovat. V oblastech, kde se síte chovají velmi podobne, mužeme s vetší pravdepodobností ocekávat, že se modely vytvorené neuronovými sítemi svým chováním více blíží reálnému chování modelovaného systému. Ale ani stoprocentní shoda více modelu nemuže zarucit shodu v chování modelu s chováním reálného modelovaného systému, stejne tak jako neplatí, že více hlav vždy ví víc. Príkladem ze života muže být situace, kdy necháme hlasovat velké množství lidí o veku ženy, která vzhledove vypadá mladší než ve skutecnosti je, a tento fakt jim nesdelíme. Pak budou odhadovat její vek na základe svých bohatých každodenních zkušeností a budou její stárí typovat na vek, na který momentálne vypadá. Skutecná pravda však bude jiná a prumerný odhad tipující skupiny se nezlepší ani s vetším poctem tipujících jedincu. Na druhou stranu v oblastech, kde mají síte dostatek správných trénovacích dat, lze ocekávat, že se síte svým nauceným chováním budou realite približovat lépe.

52 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 38 Pro úcely srovnávání chování sítí jsem tedy do své vizualizace zavedl možnost zobrazit více modelu v jedné scéne. K výberu neuronových sítí, které chceme vizualizovat, jsem využil rozhraní, které již bylo v programu GAME implementováno a slouží ke stejnému úcelu výberu více sítí nebo jen urcitých skupin sítí. Jak již bylo receno výše, lze u každé síte vybrané k vizualizaci následne nastavit zpusob její vizualizace, cili zvolit, zda bude zobrazena pomocí ploch tato volba je implicitní, nebo pomocí drátového modelu anebo pomocí bodu. Také lze zvolit u každé síte její individuální barvu a nastavit její míru pruhlednosti. O problematice pruhlednosti je pojednáno níže. Volba barvy se provádí po stisku tlacítka Set color a následnou volbou z dialogu, kde je k dispozici volba ze škály preddefinovaných barev, dále stanovení barvy s využitím barevného modelu RGB nebo barevného modelu HSB. Barva síte je, pokud není následne zvolena jinak, nastavena automaticky tak, aby byla barva každé síte jiná. Obr Více sítí v jedné scéne spolu s daty

53 39 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 7.8 Problémy s pruhledností, chyba v Java 3D API Na obrázku 7.15 je zobrazeno nekolik neuronových sítí najednou. Tyto síte se navzájem prekrývají a protínají, takže cást jejich tvaru není z jednoho úhlu pohledu videt. Pro získání predstavy o jejich tvaru je nutné pohled na scénu ruzne natácet a v prípade vetšího poctu sítí než 2 i približovat a oddalovat. Tuto manipulaci s úhlem pohledu a priblížení mnou naprogramovaný modul umožnuje, a sice v reálném case. Pri stisku levého tlacítka myši v okne s vizualizovanou scénou lze pohybem myši menit úhel pohledu na scénu. Obdobne lze pri stisku prostredního tlacítka myši, prípadne rolovacího kolecka, menit priblížení ci oddálení scény a stejným zpusobem pomocí pravého tlacítka myši lze menit horizontální a vertikální polohu pohledu na scénu. Pri vývoji jsem se zabýval myšlenkou, že by mohlo být pro zkoumání chování modelu užitecné, kdyby bylo možné zobrazit jednotlivé síte tak, aby byly cástecne pruhledné a umožnily tak soucasne pohlédnout i na oblasti, které jsou v prípade zobrazení více modelu najednou prekryté modelem, který leží nad nimi. Ponevadž dokumentace Java 3D API uvádí, že je možné grafickému objektu nastavit míru jeho pruhlednosti, zavedl jsem proto i tuto možnost nastavení míry pruhlednosti jednotlivým sítím i do svého vizualizacního modulu. Zobrazení trí sítí najednou, jež mají nastavenou 50ti procentní pruhlednost, je videt na obrázku Obr síte s pruhledností

54 KAPITOLA 7. POSTUP VIZUALIZACE 3D REZU 40 Obr Stejné síte jako na obrázku 7.16, ale nepruhledné Na obrázku 7.17 jsou zobrazeny tytéž síte ve stejné poloze jako na obrázku V grafu zobrazeném na obrázku 7.17 je videt, že se síte ruzne prolínají a prekrývají. V nekterých oblastech je nejblíže k pozorovateli žlute obarvená sít, jinde zase sít obarvená modre a v nekterých oblastech je to sít cervená. Toto protínání se jednotlivých ploch by se melo projevit i na obrázku 7.16 s cástecne pruhlednými modely. Skutecnost je však jiná. Na obrázku s cástecne pruhlednými modely jsou jednotlivé síte zobrazeny tak, jako by ležely postupne nad sebou a vubec se neprotínaly. Po prozkoumání císelných hodnot modelu zobrazených na techto dvou obrázcích jsem se ujistil v predpokladu, že chybne jsou zobrazeny modely s nastavenou cástecnou pruhledností že se jednotlivé modely prolínají, tak jak je videt na obrázku Po bezúspešném hledání chyby ve zdrojovém kódu jsem se na diskusních stránkách o Java 3D API ujistil ve svém predpokladu, že je v Java 3D API chyba v zobrazování cástecne pruhledných objektu. Pri psaní této práce jsem pro práci s 3D grafikou využíval verzi 1.3.1, která byla v té dobe nejnovejší oficiální verzí Java 3D API. Dále jsem vyzkoušel použít verzi která byla v té dobe stabilní testovací verzí Java 3D API. Verze sice chybu s pruhledností neodstranuje, ale prináší mnohem rychlejší rendering a lépe pracuje a reší správu pametí pri práci s grafickými objekty. Z tohoto duvodu a z duvodu bezproblémového chování pri pokusech jsem

55 41 KAPITOLA 8. CTENÍ GRAFU se rozhodl u této verze Java 3D API zustat. Problém se zobrazováním cástecne pruhledných objektu by dle informací na oficiálních stránkách k Java 3D API mel být odstranen ve verzi 1.5. Z tohoto duvodu jsem ponechal ve svém modulu možnost zobrazování modelu s nastavitelným procentem pruhlednosti. Až bude správne fungující verze Java 3D API dostupná, nemel by být problém spouštet pod ním programový kód napsaný pro predešlé verze, což je u Javy a i dalších programovacích jazyku obvyklé. 8 Ctení grafu co lze z vizualizovaného modelu vypozorovat Nyní se podívejme na obrázek 8.1. Na tomto obrázku je zobrazeno 5 rezu modelu neuronových sítí, které modelují všechny stejnou výstupní velicinu jednoho systému. Konkrétne u tohoto systému se jedná o model cen budov v Bostonu v závislosti na mnoha ruzných faktorech, jako je jejich stárí, vzdálenost od centra mesta, znecištení ovzduší, kriminalita atd. Na obrázku 8.1 leží výstupní parametr, tedy cena budovy, na ose RESPONSE a je zobrazena v nejakém bode n-dimenzionálního prostoru v závislosti na parametrech AGE a RM. Ihned vidíme, že v tomto bode n- dimenzionálního prostoru není cena budovy, nebo jen nepatrne, ovlivnena jejím stárím AGE a, že na parametru RM naopak závislá je a sice tak, že s rostoucím parametrem RM klesá, krome modelu zobrazeného hnede, kde nejprve prudce roste a pak klesá s podobným trendem jako u ostatních modelu. Pokud bychom chteli tyto dva fakty zobecnit na celý n-dimenzionální prostor našeho modelu, nemužeme ríci, že cena budov není na parametru AGE závislá nevíme totiž, jak se model chová v jiných místech. Naproti tomu mužeme zcela jiste konstatovat, že cena budov je závislá na parametru RM, a tudíž je tento parametr zcela jiste významný. V oblasti vymezené intervalem hodnot <54.7;70.9> mají všechny modely podobné hodnoty, a tudíž lze v této oblasti od jednotlivých modelu ocekávat, že jsou v rámci malého rozptylu správné a blíží se reálným cenám budov. Ve zbylých 2/3 se jednotlivé modely více odchylují, a tudíž zde nelze od modelu ocekávat príliš velikou shodu s reálným systémem závislosti cen budov.

56 KAPITOLA 8. CTENÍ GRAFU 42 Obr. 8.1 Závislost ceny budov v urcitém bode n-rozmerného prostoru 8.1 Vyhledání oblastí zajímavého chování modelu Tato cást práce je inspirována a navazuje na práci uvedenou v [6]. V této práci je popsán postup, jak pomocí genetického algoritmu vyhledávat zajímavé oblasti chování modelu s cílem vizualizovat tyto zajímavé oblasti ve 2D prostoru. Tento postup jsem upravil tak, aby jej bylo možné využít pro vizualizaci ve 3D prostoru. Také jsem využil poznatky z experimentu uvedených v [6] k sestavení fitness funkce a dalších parametru genetického algoritmu. Hlavním problémem pri studiu chování modelu neuronových sítí je velká dimenzionalita vstupních dat. Model neuronové síte je definován pro jakoukoliv kombinaci vstupních parametru. Orientovat se v tomto obrovském prostoru bez další znalosti závislostí v množine ucicích dat je témer nemožné. Víme, jaké chování modelu je zajímavé, ale problémem je najít tyto zajímavé oblasti (nastavit vstupní parametry), které tomuto chování odpovídají. Pri vyhledávání zajímavých oblastí je prvním krokem definování, co je zajímavá oblast. Z této definice je možné odvodit podmínky, které umožní aplikovat genetický algoritmus na vyhledávání takových oblastí.

57 43 promenných. KAPITOLA 8. CTENÍ GRAFU Na model neuronové síte se mužeme dívat jako na funkci vektoru vstupních r r y = f, kde x = ( x x,..., ) ( x) 1, 2 x n, kde x 0; 1, kde n je dimenze vstupního vektoru (pocet vstupních parametru modelu). Po predložení vstupního vektoru x r i-tému modelu získáme odezvu y i, která je normalizovaná do intervalu 0 ; 1. i Pri skupinovém ucení bylo vytvoreno m modelu neuronové síte. Odezvy modelu budou zkoumány vždy pro dva zvolené vstupní parametry x j1 a x j2, kde 1 = j1 = n a zároven 1 = j2 = n. Tyto vstupní parametry jsou promenné, které pro jedno nastavení ostatních vstupních parametru urcují prubeh odezvy modelu. Pro jedno nastavení vstupního vektoru x r je tedy možné zobrazit prubeh odezvy jednoho modelu jako funkci dvou promenných y i (x j1, x j2 ), kde x j1 X 1 start; X 1start + X velikost, x j2 X 2 start; X 2start + X velikost jsou vybrané vstupní parametry a i je index jednoho ze skupiny modelu. Úkolem genetického algoritmu je najít takové nastavení vstupního vektoru x r a parametru x 1start, x 2start, x velikost urcující oblast, aby odezvy y i modelu splnovaly následující podmínky pro zajímavou oblast : 1. Odezvy modelu jsou v oblasti X 1 start; X1start + X velikost X 2start; X 2start + X velikost co nejpodobnejší. V místech, kde jsou odezvy modelu podobné, je pravdepodobné, že odezvy jsou správné. To je dáno tím, že v prubehu ucení modelu je odezva nejdríve náhodná a postupne je upravována tak, aby odpovídala množine ucicích dat. Z toho plyne, že v místech, kde je možné odezvu modelu porovnat s daty z ucicí množiny, jsou odezvy modelu podobné a na ostatních místech jsou náhodné. Místa, kde jsou odezvy modelu náhodné, je treba odfiltrovat a vyhledat jen místa, kde se modely shodují. Míra podobnosti modelu p v oblasti X + X 1 start; X1start + X velikost X 2start; X 2start je dána vztahem: velikost p = X 1 2 velikost X 1 start + X velikost X 2start + X velikost argmax ( f ( j, k) ) argmin( f ( j, k) ) < < i i 0 i m 0 i m j= X1start k= X2 start.

58 KAPITOLA 8. CTENÍ GRAFU Nalezená oblast je co nejvetší (maximalizace parametru x velikost ) Odezvy modelu se mohou na nejaké oblasti shodnout a splnit tím první podmínku. Podmínkou pro rozlišení dvou takovýchto oblastí je velikost nalezené oblasti. Velikostí se rozumí, na jak velké ploše pro zkoumané vstupní parametry x j1,x j2 jsou odezvy modelu podobné. 3. Velikost zmeny chování prumerných odezev modelu v nalezené ctvercové oblasti X ; + X. 1 start X1start + X velikost X 2start; X 2start velikost Pokud jsou odezvy modelu podobné na dostatecne velké oblasti vstupních parametru, je další podmínkou definující zajímavou oblast samotný prubeh odezev modelu. Modely se na zkoumaném intervalu chovají podobne, a je tedy možné vycházet z jejich prumerné hodnoty. y m 1 ( x1 j x2 j ) = yi ( x1 j, x2 j ),,kde m i= 1 [ x 1 j ; x2 j ] X 1start ; X 1start + X velikost X 2 start ; X 2start + X velikost, kde m je pocet zkoumaných modelu a y i je odezva i-tého modelu. Pokud je prubeh na zkoumané oblasti konstantní, je zrejmé, že modely na zmenu zkoumaných parametru nereagují. Taková oblast není tak zajímavá jako v prípade, kdy se prumerná odezva modelu mení. Jedním ze zpusobu, jak tyto zmeny poznat, je porovnání minimální a maximální hodnoty prumerné odezvy modelu na zkoumané oblasti. Z techto hodnot je odvozen parametr y velikost =, kde argmax( y( t1, t2)) argmin( y( t1, t2)) [ t 1 ; t2 ] X 1start ; X 1start + X velikost X 2 start ; X 2 start + X velikost. 8.2 Aplikace genetického algoritmu Pro vyhledání zajímavých oblastí v modelech lze využít genetického algoritmu. Pro nasazení genetického algoritmu musíme stanovit chromozom, který definuje jedno rešení, dále operátory krížení, mutace a selekce techto chromozomu v populaci jedincu, kterí jsou popsáni práve temito chromozomy.

59 45 KAPITOLA 8. CTENÍ GRAFU Zakódování chromozomu Parametry, které definují zajímavou oblast, jsou vstupní vektor x r, velikost oblasti x velikost a volba dvou zkoumaných vstupních promenných x j1, x j2. Volbu zkoumaných vstupních promenných x j1 a x j2 však není nutné do chromozomu zahrnout, nebot ta je predem dána volbou pred aktivací celého vizualizacního modulu. Chromozom je tedy vektor o dimenzi n + 1. Prvních n složek jsou vstupní parametry modelu. Poslední n+1. složka chromozomu kóduje velikost ctvercové oblasti. Pri krížení a mutaci chromozomu se muže stát, že velikost oblasti by mohla prekrocit oblast, pro kterou je model definován. Proto je pri výpoctu fitness hodnoty daného chromozomu provedena nejprve korekce této složky. Obr. 8.2 Zakódování chromozomu Operátory krížení Po vybrání (selekci) vhodných kandidátu na rodice jsou použity operátory krížení, jejichž produktem jsou noví potomci. V našem prípade, kdy jsou chromozomy zakódovány jako vektory reálných císel, je krížení dvou chromozomu možno provádet výpoctem aritmetického prumeru pro každou složku vektoru. Složky vektoru chromozomu potomka p i jsou pak dány vztahem: p i ai + bi =, pro i? {1, 2,..., n + 1}, 2 kde n je dimenze vektoru vstupních dat. Tento zpusob krížení generuje jen jednoho potomka na dva rodice, protože takto definovaný operátor krížení je symetrický. Dalším použitým operátorem krížení je operátor jednotného krížení. Tento operátor prochází oba chromozomy a se zadanou pravdepodobností vymenuje jednotlivé položky vektoru chromozomu rodicu. Pri použití tohoto operátoru krížení vzniknou potomci dva.

60 KAPITOLA 8. CTENÍ GRAFU Operátor mutace Operátor mutace se zadanou pravdepodobností náhodne modifikuje velikosti jednotlivých složek vektoru chromozomu. Operátor mutace slouží genetickému algoritmu ke generování nových rešení. Nastavení pravdepodobnosti mutace je otázkou experimentu. Príliš velká pravdepodobnost nebo velikost mutace muže zpusobit nefunkcnost genetického algoritmu, ale na druhou stranu muže zpusobit nalezení zcela nového rešení a pomáhá zabránit algoritmu k zabrednutí do lokálních minim Operátor selekce Použil jsem operátor, který je nazýván exponenciální ranking. Tento operátor predpokládá, že na vstupu je serazena posloupnost chromozomu od nejlepšího k nejhoršímu (podle klesající hodnoty fitness funkce). Pokud v populaci existuje chromozom s výrazne lepší fitness, má nejvetší pravdepodobnost být vybrán, ale oproti jednodušším operátorum selekce nezpusobí predcasnou konvergenci genetického algoritmu. Pravdepodobnost p i výberu i-tého z m chromozomu je: p i = m c i= 1 i c i. Pro index chromozomu i a náhodne vybrané císlo r z intervalu (0; 1) platí následující vztah: r = i j= 1 c m j k= 1 c k. Z této rovnosti plyne vztah pro index vybraného chromozomu: m ln( r( c 1) + 1) i =, ln c a jelikož index vybraného chromozomu musí být celé císlo, je index roven i. Základ exponentu c je parametr, který je v intervalu (0;1), jehož zmenou lze menit selekcní tlak. Selekcní tlak udává míru zvýhodnení lepších chromozomu pred horšími. Zmena selekcního tlaku tak ovlivnuje míru zachování variability

61 47 KAPITOLA 8. CTENÍ GRAFU v populaci, a tím predcasnou konvergenci genetického algoritmu k lokálnímu maximu Fitness funkce V práci [6], keterou je genetické hledání zajímavých oblastí inspirováno, je experimentálne zjišteno, že pro 2D prípad hledání zajímavých oblastí se nejlépe osvedcila fitness funkce v následující podobe, a proto jsem pro svuj 3D prípad použil její stejný tvar: fitness 1 = xvelikost * y velikost *. p Tato funkce díky soucinu všech zahrnutých faktoru podporuje takové oblasti, ve kterých jsou splnena všechna kritéria zajímavosti najednou, a to tak, že cím vetší hodnoty nabývají jednotliví cinitelé fitness funkce, tím více je príslušná oblast uprednostnena Nastavení parametru genetického algoritmu Pro základní nastavení parametru genetického algoritmu jsem použil hodnoty, které byly experimentálne nalezené v [6]. Aby bylo možné tyto hodnoty konfigurovat, pridal jsem k ovládacím panelum vizualizace 3D rezu panel, kde je možné menit nastavení genetického algoritmu, a tento panel je také místem, kde se stiskem tlacítka Search spouští samotné hledání genetickým algoritmem. Samotné hledání pak probíhá v samostatném vlákne, a tak je možné dále se scénou v prubehu hledání pracovat. Postup hledání, cili pocet již odsimulovaných generací, lze sledovat hned pod tlacítkem search, kde je zobrazen pomocí progressbaru. Po stisku tlacítka Prejít do nejlepší oblasti dojde k nastavení všech promenných do pozice, která této oblasti odpovídá, a k zobrazení modelu príslušného modelu ve 3D scéne. Do nejlepší oblasti je možné prejít již po výpoctu první generace a tato nejlepší oblast je nejlepší oblastí, kterou do té doby genetický algoritmus nalezl. Usporádání ovládacího konfiguracního panelu genetického algoritmu je zobrazeno na obr. 8.3.

62 48APITOLA 9. TESTOVÁNÍ A EXPERIMENTY Obr. 8.3 Usporádání konfiguracního panelu genetického algoritmu 9 Testování a experimenty 9.1 Mlžná telesa pro klasifikacní modely Primárním cílem této práce je sice vizualizace regresních modelu, ale pred zapocetím prací na vizualizaci 3D rezu regresních modelu jsem se také zabýval možností vizualizace 4D rezu s pomocí Javy 3D. Použití 4D rezu bylo omezeno pouze na klasifikacní modely. Myšlenka byla následující: Jednu z promenných 4 dimenzí modulovat do pruhlednosti v daném bode 3D scény a zbylé 3 promenné použít k urcení polohy vzhledem k souradným osám vizualizacní 3D scény. Pro modulaci do pruhlednosti byla zvolena promenná n-dimenzionálního prostoru predstavující odpoved síte. Tímto postupem bychom získali scénu, kde by byly mlžné objekty podobné mrakum na obloze, jejichž hustota by odpovídala míre

63 49 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY klasifikace k dané množine v daném bode. Místa, kde jsou takto vytvorené mraky nepruhledné, klasifikuje sít do dané množiny, a naopak v místech, kde mracna nejsou cili jsou zcela pruhledná, neklasifikuje sít do dané množiny. Oblasti cástecne pruhledných mracen pak odpovídají svou pruhledností míre nejistoty klasifikace do dané trídy. Barevne by pak bylo možné odlišit jednotlivé klasifikacní trídy. Objekt Fog obsažený v Java 3D API není možné využít, nebot ten nefunguje jako mlha v prírode, cili nejedná se o objem s cástecnou pruhledností, ale funguje tak, že snižuje viditelnost objektu ve scéne v závislosti na jejich vzdálenosti od pozorovatele. Toto je zcela jiné chování mlhy, než pro naše úcely potrebujeme. Další alternativou, kterou jsem odzkoušel, bylo zobrazení krychlí, jejichž pruhlednost byla dána odpovedí síte vdaném bode. Zásadním nedostatkem takto vizualizované scény bylo príliš velké množství rušivé informace ve scéne zpusobené odlišnými optickými vlastnostmi na hranách a stenách zobrazených krychlí. Pri použití vetších krychlí sice tento efekt slábl, ale zase nebylo možné pozorovat detailnejší chování modelu. Naopak pri použití menších krychlí zcela prevládal tento rušivý efekt nad efektem žádaným. Z tohoto duvodu jsem v rozvoji této alternativy rešení dále nepokracoval. Predposledním pokusem o rešení problému vizualizace 4D rezu byla modulace míry klasifikace k dané tríde do pruhlednosti bodu umístených ve scéne. Body jsem umístil do pravidelné pravoúhlé mrížky. Zobrazení jednoho modelu, které jsem takto získal je na obr Pravidelnost umístení bodu do mrížky a perspektiva pohledu na scénu zpusobují vznik artefaktu, které opet zcela zastinují kýžený efekt. Z tohoto duvodu je i tato metoda nepoužitelná.

64 50APITOLA 9. TESTOVÁNÍ A EXPERIMENTY Obr. 9.1 Artefakty pri vizualizaci klasifikace pomocí bodu Pri posledním pokusu o vizualizaci 4D rezu jsem jako objekty scény použil objekty typu billboard. Objekty typu billboard se bežne používají v aplikacích 3D grafiky a jejich hlavním znakem je zachovávání stejné orientace k pozorovateli, bez ohledu na úhel natocení scény vzhledem k pozorovateli. Tyto objekty se bežne používají k vizualizaci složitých objektu, jako jsou napríklad stromy, které jsou nahrazeny texturou, která pak zachovává stálou orientaci k pozorovateli. Já jsem použil ctvercové plochy, jejichž míru pruhlednosti jsem nastavil podle míry klasifikace síte v daném bode. Opet je možné jednotlivé klasifikacní skupiny barevne odlišit a zobrazit tak více ruzných sítí do jediné scény najednou. Výsledná vizualizace modelu, kterou jsem tímto postupem naprogramoval, je videt na obr Bohužel i tato cesta má jeden podstatný nedostatek, který brání nasazení tohoto postupu. Tímto nedostatkem je fakt, že Java 3D API pocítá v nekterých prípadech chybne pruhlednost v prípade více pruhledných objektu umístených za sebou, a tato chyba je dána špatným urcením poradí pruhledných ploch vzhledem ke zdroji svetla ve scéne. Tato chyba v Java 3D API souvisí s chybou popsanou v kapitole 7.8. Tato chyba Java 3D API by mela být v príštích verzích Java 3D API odstranena, a proto je možné do budoucna uvažovat o nasazení této metody.

65 51 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY Obr. 9.2Vizualizace klasifikacního modelu s využitím billboardu 9.2 Overení korektnosti vizualizace 3D rezu Pro overení korektnosti vizualizace modelu jsem vygeneroval data s využitím jednoduchých funkcí, jejichž tvar si lze snadno predstavit. Tato data jsem predložil systému GAME k natrénování a následne jsem ve vizualizovaných modelech kontroloval jejich korektnost. Kontrolní data bylo však nutné vytvorit tak, aby bylo možné zkontrolovat správnou vzájemnou polohu os, trénovacích dat a modelu, a proto bylo nutné vytvorit data tak, aby byla asymetrická vzhledem k osám souradného systému. Pro tyto úcely jsem použil následující funkci trí promenných x,y,z: ( x, y, z) ( x + y) z výsledekde SET = * pokud x y jinak 0, pricemž x 0; 5 ; y 0; 10 ; z 0; 50.

66 52APITOLA 9. TESTOVÁNÍ A EXPERIMENTY Data jsem vygeneroval s krokem generování 1 v celém oboru všech promenných x,y,z: Promenné této funkce vytvorí spolu s natrénovanou odpovedí sítí (cili s aproximací funkcní hodnoty) 4-dimenzionální prostor. Na obr. 9.3 je vizualizace dvou modelu vytvorených aplikací GAME na datech, vygenerovaných s pomocí výše uvedené funkce. Jeden z modelu je obarven svetle šedou barvou a druhý hnedožlutou. Ucicí data jsou zobrazena pomocí cervených koulí. Promenná z slouží jako merítko, ale jejím hlavním úcelem je, aby umožnila demonstrovat závislost velikosti zobrazení trénovacích dat na jejich vzdálenosti od jejich skutecné polohy, vzhledem k zmrazeným dimenzím. To je nejlépe videt v levé cásti obr. 9.3 V pravé cásti obrázku, za zlomem funkce, se vizualizovaná trénovací data vzhledem k dimenzi z nemení, a proto jsou zobrazena vždy jako jedna koule. Z obr. 9.3 a definice trénovací funkce je patrné, že poloha os a modelu je správná. Také je na nem videt, že rozsah hodnot na osách a jejich popis odpovídá trénovaným hodnotám.

67 53 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY Obr. 9.3 Overení korektnosti vizualizace 9.3 Užití genetického algoritmu Pro otestování funkcnosti genetického algoritmu jsem vygeneroval trénovací data, která jsem následne predložil síti k natrénování. Pri trénování jsem nechal program GAME vytvorit 5 modelu. Tato trénovací data jsem vygeneroval tak, aby byla trojrozmerná, a použil jsem následující predpis: f 2 * Π * y 100 ( x, y, z) = x* sin pravdepodobností nebo žádná hodnota,, pokud z = 5,jinak náhodné císlo z intervalu 0;1 s 5% pricemž x 0;10 ; y 0;100 z ; 0;10.

68 54APITOLA 9. TESTOVÁNÍ A EXPERIMENTY Tato data vytvorí spolecne s funkcní hodnotou 4 dimenzionální prostor. Víme o nich, že urcite obsahují alespon jednu zajímavou oblast, a sice pro z = 5. Ostatní data jsou náhodný šum. Pro vizualizaci techto modelu pomocí 3D rezu je jako zmrazená dimenze zvolena promenná z, která zde slouží pro urcení polohy zajímavé oblasti. Na levé polovine obrázku 9.4 je zobrazen model v náhodne zvoleném bode vzhledem k promenné z. Zde je videt, že se jednotlivé modely, které jsou barevne odlišené, se svými hodnotami odpovedí liší. Tato odlišnost odpovedí je dána velmi malou hustotou ci absencí trénovacích dat v tomto bode prostoru. Následne jsem nechal genetický algoritmus najít zajímavou oblast s ponecháním jeho nastavení na jeho základních hodnotách, a ten po stu generacích evoluce oznacil jako nejzajímavejší oblast v bode 4,989 na ose z, což je o pouhých 0,011 od námi ocekávaného bodu. Ponevadž je chování modelu v nalezeném bode témer stejné jako v oblasti dané ocekávaným bodem jednotlivé modely mají podobné chování, výrazne mení své hodnoty a velikost této oblasti je velká lze tento výsledek hledání zajímavé oblasti genetickým algoritmem považovat za vynikající. Navíc leží nalezená oblast velmi blízko ocekávané oblasti. Vizualizace modelu v takto nalezené oblasti je na obr. 9.4 vpravo. 0br. 9.4 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým algoritmem Oblast na obrázku 9.4 vpravo se nachází velmi blízko místa, kde leží trénovací data, a je videt, že všech 5 modelu velmi presne aproximuje trénovanou funkci sinus (y) násobenou x a ani jeden model se nesnaží aproximovat šum. To je ale presne to,

69 KAPITOLA 10. ZÁVER ceho jsme chteli dosáhnout! Genetický algoritmus nalezl oblast, kde modely velmi dobre aproximují natrénovanou funkci a shodují se svými hodnotami. Také je z tohoto obrázku patrné, že umístení modelu vzhledem k osám, hodnoty na osách stejne tak jako tvar zobrazeného modelu odpovídjí trénovaným datum. Prubeh rustu hodnoty fitness funkce pri behu genetického hledání je zachycen v grafu na obrázku 9.5. Fitness 0,0045 0,004 0,0035 0,003 0,0025 0,002 0,0015 0,001 0, Generace Obr. 9.5 Prubeh rustu fitness funkce pri hledání zajímavých oblastí genetickým algoritmem 9.4 Genetický algoritmus na reálných datech Pro otestování genetického algoritmu jsem použil data pocházející z [11]. Zvolená data obsahují ceny budov v Bostnu spolu s údaji o jejich konkrétní vzdálenesti od centra, stárí, celkem je sledováno 12 atributu budov. Modelovaným parametrem je práve cena techto budov v závislosti na techto parametrech. Spolu s cenou je pak tedy modelový prostor 13ti dimenzionální. Po natrénování sítí jsem spustil genetický algoritmus s volbou sledovaných parametru AGE a CRIM, tentokrát jsem ale oproti základnímu nastavení nechal algoritmus bežet 1000 generací. Na levé polovine obrázku 9.6 je zobrazen model v náhodne zvoleném bode a na pravé polovine je oblast nalezená genetickým algoritmem. Je videt, že nalezená

70 KAPITOLA 9. TESTOVÁNÍ A EXPERIMENTY oblast se chová více zajímavým zpusobem, než oblast náhodná. Prubeh vývoje fitness funkce je zachycen na obrázku 9.7. Obr. 9.6 Vlevo náhodná oblast, vpravo zajímavá oblast nalezená genetickým algoritmem Na obrázku 9.6 je videt, že v nalezené oblasti se jednotlivé modely svými hodnotami shodují lépe, než v oblasti zvolené náhodne. Fitness 0,0016 0,0014 0,0012 0,001 0,0008 0,0006 0,0004 0, Generace Obr. 9.7 Vývoj fitness funkce na modelech z reálných dat Z obrázku 9.7 je patrné, že po sté generaci se hodnota fitness funkce již významne nemení, címž dokládá kvalitu základního nastavení genetického algoritmu.

71 KAPITOLA 10. ZÁVER 10 Záver Navrhl a implementoval jsem moduly do programu GAME, které vizualizují chování modelu neuronových sítí vytvorených v tomto programu. Oba tyto moduly využívají prostredku 3D grafiky. 3D grafika v techto modulech využívá rozhraní Java 3D API. Bohužel, v dusledku chyby v Java 3D API je použitelný pouze jeden z techto dvou modulu a sice vizualizace 3D rezu n-dimenzionálního prostoru. Po odstranení chyby v Java 3D API by však melo být možné nasadit i druhý modul. Pro nalezení oblastí, ve kterých mají modely z našeho hlediska zajímavé chování, v n-dimenzionálním prostoru, a jejich následnou vizualizaci jsem implementoval genetický algoritmus, který umožnuje jejich automatické nalezení a prechod k jejich vizualizaci. Správná funkcnost vizualizacního modulu, stejne tak jako genetického algoritmu, byla overena experimenty na skutecných a umele vygenerovaných datech. Výsledky této práce jsem prezentoval na 11. Bilateral Student Workshop CTU Prague HTW Dresden, která se konala prosince 2006 v Dráždanech. Díky efektnosti obrázku, které pri 3D vizualizaci modelu získáváme, jsou tyto obrázky velmi vhodné pro prezentacní úcely programu GAME, stejne tak jako samotných výsledku práce tohoto programu.

72 KAPITOLA 11. SEZNAM LITERATURY 11 Seznam literatury [1] Šnorek M.: Neuronové síte a neuropocítace, Vydavatelství CVUT, Praha, 2002, ISBN [2] Horácek P.: Systémy a modely, Vydavatelství CVUT, Praha, 1999, ISBN [3] Kordík P.: Fully Automated Knowledge Extraction using Group of Adaptive Models Evolution, PhD thesis, FEE, CTU Prague, September [4] Minsky M., Pápery S.: Perceptrons. MIT Press [5] P. L.K.Hansen: Neural network ensembles. IEEE Trans. Pattern Anal. Machine Inteligence, [6] Seidl Jan: Vizualizace jako nástroj studia chování modelu prírodních systému, Diplomová práce CVUT, [7] java.net: The source for Java Technology Collaboration [8] Sun Developer Network: [9] Daniel A. Keim: Information Visualization and Visual Data Mining, IEEE Transactions On Visualization and Computer Graphics, Vol. 7, No. 1, January March [10] interval.cz: [11] Neural Computing Group: [12] Uci machine learning repository:

73 KAPITOLA 11. SEZNAM LITERATURY 12 Seznam použitých zkratek Renderování název používaný pro proces výpoctu vizuální podoby 3D scény Progressbar grafický prvek urcený pro indikaci stavu déle trvajícího vývoje nejakého procesu 4D ctyrdimenzionální 3D trídimenzionální 2D dvoudimenzionální API Application Programming Interface rozhraní urcené pro programování aplikací PC Personal Computer osobní pocítac AWT Abstract Window Toolkit rozhraní Javy pro práci s grafickými ovládacími prvky

74

75 KAPITOLA 10. ZÁVER 13 Uživatelská prírucka Tato prírucka popisuje ovládání implementovaného vizualizacního modulu, který jsem implementoval do programu GAME. Popis práce s programem GAME lze získat z [11] a tento popis není predmetem této prírucky. Tato prírucka se zabývá pouze implementovaným vizualizacním modulem Instalace Postup instalace a spuštení programu GAME s implementovaným vizualizacním modulem je popsán v souboru index.html v korenovém adresári priloženého CD Získání modelu pro vizualizaci Model pro vizualizaci je možné vytvorit v programu GAME. Popis tvorby je modelu je popsán v [11]. Dríve vytvorený model je možné nacíst ze souboru. Nactení se provede volbou File -> load a následným výberem souboru v menu programu GAME Aktivace vizualizacního modulu Máme-li nactený model, který chceme vizualizovat, je nejprve nutné oznacit presne dve vstupní promenné tohoto modelu. Oznacení vstupních promenných se provádí v levé cásti okna aplikace GAME pomocí checkboxu, kde jeden checkbox odpovídá jedné vstupní promenné. Dále je nutné vybrat modely, které chceme vizualizovat, a to se provede pomocí okna urceného k výberu modelu. Okno pro výber modelu je prístupné pres tlacítko multiple models, které se nachází ve spodní cásti okna aplikace GAME vlevo. Aktivace vizualizacního modulu se provádí volbou v menu aplikace Graph -> Cut 3D. Následne dojde ke spuštení vizualizacního modulu. Vizualizace modelu je zobrazena v prostrední nejvetší cásti aplikace.

76 PRÍLOHA B. UŽIVATELSKÁ PRÍRUCKA Obr. B.1 Program GAME s aktivovaným vizualizacním modulem 13.4 Ovládání vizualizacního modulu Vizualizované modely je možné otácet do všech stran. To se provede umístením kurzoru myši do cásti aplikace, kde jsou modely zobrazeny, stiskem levého tlacítka myši a pohybem myši pri stisknutém levém tlacítku. Vizualizované modely je možné posouvat horizontálne a vertikálne vzhledem k oknu, kde jsou zobrazeny. To se provede umístením kurzoru myši do cásti aplikace, kde jsou modely zobrazeny, stiskem pravého tlacítka myši a pohybem myši pri stisknutém pravém tlacítku. Vizualizované modely je možné približovat a oddalovat vzhledem k oknu, kde jsou zobrazeny. To se provede umístením kurzoru myši do cásti aplikace, kde jsou modely zobrazeny, stiskem prostredního tlacítka myši a pohybem myši pri stisknutém prostredním tlacítku. Místo stisku prostredního tlacítka lze stisknout kolecko myši, nebo jen (i bez stisku) koleckem otácet Nastavení vlastností vizualizace Parametry vizualizace lze nastavit po otevrení okna Graph properties. Toto okno otevreme volbou v menu aplikace Options -> Graph properties. Okno Graph properties je dále rozdeleno 5 záložkami Axis, Models, Lights, Data, Genetic search. V dolní cásti tohoto okna je tlacítko Recreate now, jehož stisk zpusobí

Vytěžování znalostí z dat

Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 8 1/26 Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec Department of Computer Systems Faculty of Information

Více

Vizualizace jako nástroj studia chování modelů přírodních systémů

Vizualizace jako nástroj studia chování modelů přírodních systémů České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce Vizualizace jako nástroj studia chování modelů přírodních systémů Jan Saidl Vedoucí práce: Ing. Pavel Kordík Studijní program:

Více

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

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

Více

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

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013 Ambasadoři přírodovědných a technických oborů Ing. Michal Řepka Březen - duben 2013 Umělé neuronové sítě Proč právě Neuronové sítě? K čemu je to dobré? Používá se to někde v praxi? Úvod Umělé neuronové

Více

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1 Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní

Více

3. Optimalizace pomocí nástroje Řešitel

3. Optimalizace pomocí nástroje Řešitel 3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)

Více

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA Rovinné přetvoření Rovinné přetvoření, neboli, jak se také často nazývá, geometrická transformace je vlastně lineární zobrazení v prostoru s nějakou soustavou souřadnic. Jde v něm o přepočet souřadnic

Více

Funkce, funkční závislosti Lineární funkce

Funkce, funkční závislosti Lineární funkce Funkce, funkční závislosti Lineární funkce Obsah: Definice funkce Grafické znázornění funkce Konstantní funkce Lineární funkce Vlastnosti lineárních funkcí Lineární funkce - příklady Zdroje Z Návrat na

Více

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

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

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

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

ANALYTICKÁ GEOMETRIE V ROVINĚ

ANALYTICKÁ GEOMETRIE V ROVINĚ ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii

Více

11 Zobrazování objektů 3D grafiky

11 Zobrazování objektů 3D grafiky 11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a

Více

Rosenblattův perceptron

Rosenblattův perceptron Perceptron Přenosové funkce Rosenblattův perceptron Rosenblatt r. 1958. Inspirace lidským okem Podle fyziologického vzoru je třívrstvá: Vstupní vrstva rozvětvovací jejím úkolem je mapování dvourozměrného

Více

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

Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc Neuronové sítě a možnosti jejich využití Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc 1. Biologický neuron Osnova 2. Neuronové sítě Umělý neuron

Více

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

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Vytěžování dat Miroslav Čepek, Filip Železný Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Evropský sociální fond Praha & EU: Investujeme

Více

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

Emergence chování robotických agentů: neuroevoluce Emergence chování robotických agentů: neuroevoluce Petra Vidnerová, Stanislav Slušný, Roman Neruda Ústav Informatiky, AV ČR Kognice a umělý život VIII Praha 28. 5. 2008 Evoluční robotika: EA & neuronové

Více

Funkce a lineární funkce pro studijní obory

Funkce a lineární funkce pro studijní obory Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce

Více

Lineární klasifikátory

Lineární klasifikátory Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

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

Algoritmy a struktury neuropočítačů ASN - P11 Aplikace UNS při rozpoznání obrazů Základní úloha segmentace obrazu rozdělení obrazu do několika významných oblastí klasifikační úloha, clusterová analýza target Metody Kohonenova metoda KSOM Kohonenova

Více

Architektura - struktura sítě výkonných prvků, jejich vzájemné propojení.

Architektura - struktura sítě výkonných prvků, jejich vzájemné propojení. Základní pojmy z oblasti neuronových sítí Zde je uveden přehled některých základních pojmů z oblasti neuronových sítí. Tento přehled usnadní studium a pochopení předmětu. ADALINE - klasická umělá neuronová

Více

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

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

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

7. Funkce jedné reálné proměnné, základní pojmy , základní pojmy POJEM FUNKCE JEDNÉ PROMĚNNÉ Reálná funkce f jedné reálné proměnné je funkce (zobrazení) f: X Y, kde X, Y R. Jde o zvláštní případ obecného pojmu funkce definovaného v přednášce. Poznámka:

Více

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU ÚLOHY S POLYGONEM Polygon řetězec úseček, poslední bod je totožný s prvním 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU 3 úsečky (segmenty) v horní části 2 úsečky ve spodní části

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

6 Samodružné body a směry afinity

6 Samodružné body a směry afinity 6 Samodružné body a směry afinity Samodružnými body a směry zobrazení rozumíme body a směry, které se v zobrazují samy na sebe. Například otočení R(S má jediný samodružný bod, střed S, anemá žádný samodružný

Více

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

Moderní systémy pro získávání znalostí z informací a dat Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:

Více

Funkce pro studijní obory

Funkce pro studijní obory Variace 1 Funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce Funkce je přiřazení,

Více

Diagnostika regrese pomocí grafu 7krát jinak

Diagnostika regrese pomocí grafu 7krát jinak StatSoft Diagnostika regrese pomocí grafu 7krát jinak V tomto článečku si uděláme exkurzi do teorie regresní analýzy a detailně se podíváme na jeden jediný diagnostický graf. Jedná se o graf Předpovědi

Více

5.2.8 Zobrazení spojkou II

5.2.8 Zobrazení spojkou II 5.2.8 Zobrazení spojkou II Předpoklady: 5207 Př. 1: Najdi pomocí význačných paprsků obraz svíčky, jejíž vzdálenost od spojky je menší než její ohnisková vzdálenost. Postupujeme stejně jako v předchozích

Více

3. ÚVOD DO ANALYTICKÉ GEOMETRIE 3.1. ANALYTICKÁ GEOMETRIE PŘÍMKY

3. ÚVOD DO ANALYTICKÉ GEOMETRIE 3.1. ANALYTICKÁ GEOMETRIE PŘÍMKY 3. ÚVOD DO ANALYTICKÉ GEOMETRIE 3.1. ANALYTICKÁ GEOMETRIE PŘÍMKY V této kapitole se dozvíte: jak popsat bod v rovině a v prostoru; vzorec na výpočet vzdálenosti dvou bodů; základní tvary rovnice přímky

Více

MATURITNÍ TÉMATA Z MATEMATIKY

MATURITNÍ TÉMATA Z MATEMATIKY MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické

Více

Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy

Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy Radek Srb 1) Jaroslav Mlýnek 2) 1) Fakulta mechatroniky, informatiky a mezioborových studií 2) Fakulta přírodovědně-humanitní

Více

13 Barvy a úpravy rastrového

13 Barvy a úpravy rastrového 13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody

Více

Lingebraické kapitolky - Analytická geometrie

Lingebraické kapitolky - Analytická geometrie Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V

Více

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2 6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje

Více

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

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 I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby

Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Algoritmy a struktury neuropočítačů ASN P4 Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Vrstevnatá struktura - vícevrstvé NN (Multilayer NN, MLNN) vstupní vrstva (input layer)

Více

9 Kolmost vektorových podprostorů

9 Kolmost vektorových podprostorů 9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.

Více

Předpokládané znalosti žáka 1. stupeň:

Předpokládané znalosti žáka 1. stupeň: Předpokládané znalosti žáka 1. stupeň: ČÍSLO A POČETNÍ OPERACE používá přirozená čísla k modelování reálných situací, počítá předměty v daném souboru, vytváří soubory s daným počtem prvků čte, zapisuje

Více

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

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.

Více

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

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Prostá regresní a korelační analýza 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Problematika závislosti V podstatě lze rozlišovat mezi závislostí nepodstatnou, čili náhodnou

Více

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.

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. 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.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška

Více

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1) .6. Analtická geometrie lineárních a kvadratických útvarů v rovině. 6.1. V této kapitole budeme studovat geometrické úloh v rovině analtick, tj. lineární a kvadratické geometrické útvar vjádříme pomocí

Více

Teorie systémů TES 1. Úvod

Teorie systémů TES 1. Úvod Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 1. Úvod ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní ČVUT v Praze

Více

Přednáška 13 Redukce dimenzionality

Přednáška 13 Redukce dimenzionality Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární VEKTOR Úvod Vektor je abstraktní pojem sloužící k vyjádření jistého směru a velikosti. S vektorovými veličinami se setkáváme například ve fyzice. Jde o veličiny, u nichž je rozhodující nejen velikost,

Více

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

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY

Více

Neuronové sítě v DPZ

Neuronové sítě v DPZ Univerzita J. E. Purkyně v Ústí nad Labem Fakulta životního prostředí Neuronové sítě v DPZ Seminární práce z předmětu Dálkový průzkum Země Vypracovali: Jan Lantora Rok: 2006 Zuzana Vašková Neuronové sítě

Více

Statistická teorie učení

Statistická teorie učení Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální

Více

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

K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami. Josef Keder K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami Josef Keder Motivace Předpověď budoucí úrovně znečištění ovzduší s předstihem v řádu alespoň několika hodin má význam

Více

CVIČNÝ TEST 27. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

CVIČNÝ TEST 27. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 27 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Karel povídá: Myslím si celé číslo. Je záporné. Nyní

Více

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA. pro nástavbové studium. varianta B 6 celkových týd.

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA. pro nástavbové studium. varianta B 6 celkových týd. MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY Učební osnova předmětu MATEMATIKA pro nástavbové studium (hodinová dotace: varianta A 4 až 5 celkových týd. hodin, varianta B 6 celkových týd. hodin) Schválilo

Více

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Zobrazte si svazy a uspořádané množiny! Jan Outrata LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé

Více

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB 62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup

Více

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku

Více

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

3. Vícevrstvé dopředné sítě 3. Vícevrstvé dopředné sítě! Jsou tvořeny jednou nebo více vrstvami neuronů (perceptronů). Výstup jedné vrstvy je přitom připojen na vstup následující vrstvy a signál se v pracovní fázi sítě šíří pouze

Více

Cvičení z matematiky jednoletý volitelný předmět

Cvičení z matematiky jednoletý volitelný předmět Název předmětu: Zařazení v učebním plánu: Cvičení z matematiky O8A, C4A, jednoletý volitelný předmět Cíle předmětu Obsah předmětu je zaměřen na přípravu studentů gymnázia na společnou část maturitní zkoušky

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

4EK213 LINEÁRNÍ MODELY

4EK213 LINEÁRNÍ MODELY 4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

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

Regresní analýza 1. Regresní analýza Regresní analýza 1 1 Regresní funkce Regresní analýza Důležitou statistickou úlohou je hledání a zkoumání závislostí proměnných, jejichž hodnoty získáme při realizaci experimentů Vzhledem k jejich náhodnému

Více

Neuronové sítě. Vlasta Radová Západočeská univerzita v Plzni katedra kybernetiky

Neuronové sítě. Vlasta Radová Západočeská univerzita v Plzni katedra kybernetiky Neuronové sítě Vlasta Radová Západočeská univerzita v Plzni katedra kybernetiky Motivace pro výzkum umělých neuronových sítí lidský mozek pracuje jiným způsobem než běžné číslicové počítače počítače přesně

Více

Pokročilé operace s obrazem

Pokročilé operace s obrazem Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání

Více

Matematika a její aplikace Matematika 1. období 3. ročník

Matematika a její aplikace Matematika 1. období 3. ročník Vzdělávací oblast : Vyučovací předmět : Období ročník : Matematika a její aplikace Matematika 1. období 3. ročník Počet hodin : 165 Učební texty : H. Staudková : Matematika č. 7 (Alter) R. Blažková : Matematika

Více

4. Statika základní pojmy a základy rovnováhy sil

4. Statika základní pojmy a základy rovnováhy sil 4. Statika základní pojmy a základy rovnováhy sil Síla je veličina vektorová. Je určena působištěm, směrem, smyslem a velikostí. Působiště síly je bod, ve kterém se přenáší účinek síly na těleso. Směr

Více

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 22 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Kontroloři Státní zemědělské a potravinářské inspekce

Více

Umělé neuronové sítě

Umělé neuronové sítě Umělé neuronové sítě 17. 3. 2018 5-1 Model umělého neuronu y výstup neuronu u vnitřní potenciál neuronu w i váhy neuronu x i vstupy neuronu Θ práh neuronu f neuronová aktivační funkce 5-2 Neuronové aktivační

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Úlohy nad rastrovými daty Daniela

Více

Neuropočítače. podnět. vnímání (senzory)

Neuropočítače. podnět. vnímání (senzory) Neuropočítače Princip inteligentního systému vnímání (senzory) podnět akce (efektory) poznání plánování usuzování komunikace Typické vlastnosti inteligentního systému: schopnost vnímat podněty z okolního

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 36 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Určete iracionální číslo, které je vyjádřeno číselným výrazem (6 2 π 4

Více

Geometrické algoritmy pro počítačovou grafiku

Geometrické algoritmy pro počítačovou grafiku České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Katedra fyzikální elektroniky Informatická fyzika Geometrické algoritmy pro počítačovou grafiku Semestrální práce Autor práce:

Více

Momenty setrvačnosti a deviační momenty

Momenty setrvačnosti a deviační momenty Momenty setrvačnosti a deviační momenty Momenty setrvačnosti a deviační momenty charakterizují spolu shmotností a statickými momenty hmoty rozložení hmotnosti tělesa vprostoru. Jako takové se proto vyskytují

Více

Diplomová práce Prostředí pro programování pohybu manipulátorů

Diplomová práce Prostředí pro programování pohybu manipulátorů Diplomová práce Prostředí pro programování pohybu manipulátorů Štěpán Ulman 1 Úvod Motivace: Potřeba plánovače prostorové trajektorie pro výukové účely - TeachRobot Vstup: Zadávání geometrických a kinematických

Více

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán rovinný obrazec, v obrázku vyznačený barevnou výplní, který představuje

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

Jana Dannhoferová Ústav informatiky, PEF MZLU

Jana Dannhoferová Ústav informatiky, PEF MZLU Počítačová grafika 1. Definice oblasti souvisí: a) s definováním množiny všech bodů, které náleží do hranice a zároveň do jejího vnitřku b) s popisem její hranice c) s definováním množiny všech bodů, které

Více

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA

MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY. Učební osnova předmětu MATEMATIKA MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY Učební osnova předmětu MATEMATIKA pro střední odborné školy s humanitním zaměřením (6 8 hodin týdně celkem) Schválilo Ministerstvo školství, mládeže a tělovýchovy

Více

2. RBF neuronové sítě

2. RBF neuronové sítě 2. RBF neuronové sítě Kapitola pojednává o neuronových sítích typu RBF. V kapitole je popsána základní struktura tohoto typu neuronové sítě. Poté následuje definice a charakteristika jednotlivých radiálně

Více

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy

K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy Koza se pase na polovině zahrady, Jaroslav eichl, 011 K OZA E PAE NA POLOVINĚ ZAHADY Zadání úlohy Zahrada kruhového tvaru má poloměr r = 10 m. Do zahrady umístíme kozu, kterou přivážeme provazem ke kolíku

Více

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44 Asociativní paměti Asociativní sítě (paměti) Cíl učení Asociace známého vstupního vzoru s daným výstupním vzorem Okoĺı známého vstupního vzoru x by se mělo také zobrazit na výstup y odpovídající x správný

Více

Funkce - pro třídu 1EB

Funkce - pro třídu 1EB Variace 1 Funkce - pro třídu 1EB Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv využití výukového materiálu je povoleno pouze s odkazem na www.jarjurek.cz. 1. Funkce Funkce je přiřazení, které každému

Více

Cvičení z matematiky - volitelný předmět

Cvičení z matematiky - volitelný předmět Vyučovací předmět : Období ročník : Učební texty : Cvičení z matematiky - volitelný předmět 3. období 9. ročník Sbírky úloh, Testy k přijímacím zkouškám, Testy Scio, Kalibro aj. Očekávané výstupy předmětu

Více

10. Předpovídání - aplikace regresní úlohy

10. Předpovídání - aplikace regresní úlohy 10. Předpovídání - aplikace regresní úlohy Regresní úloha (analýza) je označení pro statistickou metodu, pomocí nichž odhadujeme hodnotu náhodné veličiny (tzv. závislé proměnné, cílové proměnné, regresandu

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

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

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

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

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

Detekce kartografického zobrazení z množiny

Detekce kartografického zobrazení z množiny Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky Albertov 6, Praha 2 bayertom@natur.cuni.cz Abstrakt. Detekce kartografického zobrazení z množiny bodů o známých

Více

Tvorba technická dokumentace

Tvorba technická dokumentace Tvorba technická dokumentace Základy zobrazování na technických výkresech Zobrazování na technických výkresech se provádí dle normy ČSN 01 3121. Promítací metoda - je soubor pravidel, pro dvourozměrné

Více

Úvod do optimalizace, metody hladké optimalizace

Úvod do optimalizace, metody hladké optimalizace Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady

Více

2.5 Rovnováha rovinné soustavy sil

2.5 Rovnováha rovinné soustavy sil Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 2.5 Rovnováha rovinné soustavy sil Rovnováha sil je stav, kdy na těleso působí více sil, ale jejich výslednice

Více

Evoluční výpočetní techniky (EVT)

Evoluční výpočetní techniky (EVT) Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich

Více

StatSoft Úvod do neuronových sítí

StatSoft Úvod do neuronových sítí StatSoft Úvod do neuronových sítí Vzhledem k vzrůstající popularitě neuronových sítí jsme se rozhodli Vám je v tomto článku představit a říci si něco o jejich využití. Co si tedy představit pod pojmem

Více

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

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe

Více