Algoritmy pro optimalizaci sítí GAME. Miroslav Janošík
|
|
- Richard Tobiška
- před 6 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalářská práce Algoritmy pro optimalizaci sítí GAME Miroslav Janošík Vedoucí práce: Ing. Pavel Kordík Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika červen 2006
2 ii
3 Poděkování Za spoustu poznatků, ochotu při konzultacích a vedení práce patří můj dík Pavlu Kordíkovi. iii
4 iv
5 Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Litoměřicích dne 31.srpna v
6 vi
7 Abstract This bachalor thesis is about a problem of optimization. Concreatly it is about optimization of units of neural network GAME. This thesis includes theoretical part, where is the description of some optimization methods, and it also includes practical part. There was created an implementation of algorithm of differential evolution. This implementation was tested on some choosen data sets. On the same data sets were aplicated other optimization methods too. This results was compared to results of algorithm of differential evolution. High quality of created algorithm was prooved. Abstrakt Tato práce se zabývá problémem optimalizačních úloh. Konkrétně se jedná o optimalizaci jednotek neuronové sítě GAME. Součástí práce je teoretický rozbor problému, kde jsou popsány některé z optimalizačních metod, a dále praktická část, při které byla vytvořena implementace algoritmu diferenciální evoluce. Tato implementace byla testována na několika souborech vybraných dat. Na stejný soubor dat byly aplikovány i jiné optimalizační metody a jejich výsledky byly porovnány s výsledky algoritmu diferenciální evoluce. Byla prokázána vysoká kvalita implementovaného algoritmu. vii
8 viii
9 Obsah Seznam obrázků Seznam tabulek xi xiii 1 Úvod Motivace Specifikace cíle Optimalizační metody Gradientní metody Quasi-Newtonův algoritmus Levenberg-Marquardtův algoritmus Evoluční metody Genetické algoritmy Diferenciální evoluce Parametry Princip činnosti Vlastnosti Hejna Particle swarm optimization Hybrid GA a PSO Simulátor GAME 13 4 Implementace diferenciální evoluce Popis implementace UML schéma Grafické rozhraní Hlavní části kódu Vlastnosti Testování Získané výsledky Metodika Úspěšnost přežití neuronu Chyba sítě Building Spiral Antro Převzaté výsledky Ecoli Boston Building Mandarin Zhodnocení výsledků Teoretické předpoklady Praktické poznatky Funkčnost diferenciální evoluce ix
10 7 Závěr 29 8 Literatura 31 A Antro - Grafy výsledků experimentu 33 B Seznam použitých zkratek 35 C Obsah přiloženého CD 37 x
11 Seznam obrázků 2.1 Příklad prohledávání prostoru gradientní metodou Pseudokód algoritmu gradientního sestupu Levemberg-Marquardt - pseudokód Pseudokód algoritmu EVT Obměna generací Mutace Křížení Reprodukce jedince Detailní popis reprodukce nového jedince Rozdíl mezi sítí MIA GMDH a sítí GAME Rozhraní simulátoru GAME pro získávání chyby modelu. a) verze bez výpočtu gradientu b) verze s výpočtem gradientu UML schéma implementovaných tříd GUI pro konfiguraci Procentuální zastoupení optimalizačních metod T-test nad daty WBE - Energy consumption Datová množina Building - RMS Error Data Spiral 1 a Spiral 2 - RMS Error Klasifikační úspěšnost na spirálních datech Datová množina Ecoli - schopnost klasifikace sítě. Dva modely Datová množina Boston - RMS error sítě Datová množina Building - menší hodnota znamená lepší výsledek Datová množina Mandarin - RMS error A.1 Klasifikační úspěšnost u věkových kategorií A.2 Antropologická data AGE - RMS Error A.3 Modely pro klasifikaci do věkových skupin - RMS Error C.1 Obsah přiloženého CD xi
12 xii
13 Seznam tabulek 2.1 Řídící parametry DE Seznam optimalizačních metod pro testování Procetuální úspěšnost přežití jednotek sítě na různých datových množínách Seznam všech optimalizačních metod xiii
14 xiv
15 KAPITOLA 1. ÚVOD 1 1 Úvod Pro tvorbu své bakalářské práce jsem si vybral téma: Algoritmy pro optimalizaci sítí GAME. 1.1 Motivace Hlavním důvodem, proč jsem si vybral právě toto téma je prostudování metod umělé inteligence, které slouží k optimalizaci. Z praktického hlediska si zkusím vytvoření a otestování funkčnosti tohoto alogoritmu. 1.2 Specifikace cíle Charakter této bakalářské práce je implementační. V praktické části půjde o doplnění softwarového produktu o novou funkčnost - optimalizační metodu pro výuku jednotek neuronové sítě. Po naprogramování a odladění konkrétní optimalizační metody bude nutné zhodnotit její funkčnost. Tento krok se bude skládat především z porovnání mnou přidané metody s metodami již implementovanými. Konkrétní optimalizační metodou bude algoritmus nazývaný Diferenciální evoluce patřící do skupiny evolučních výpočetních technik. Teoretická část práce se bude zabývat studiem a popisem optimalizačních metod založených na gradientním sestupu, genetických algoritmech a hejnech. Zvláštní pozornost bude věnována evolučním výpočetním technikám, mezi něž patří již zmíněné genetické algoritmy a diferenciální evoluce, která byla vybrána pro implementační část práce. V závěru práce bude zhodnocena funkčnost algoritmu.
16 2 KAPITOLA 1. ÚVOD
17 KAPITOLA 2. OPTIMALIZAČNÍ METODY 3 2 Optimalizační metody Tato kapitola obsahuje teoretický podklad k metodám použitým v simulátoru GAME. Stěžejní oblastí teoretické části je podkapitola nazvaná Evoluční metody a především její součást - Diferenciální evoluce. Ostaní optimalizační metody jsou uvedeny pouze pro úplnost. 2.1 Gradientní metody Gradientní metody jsou matematické metody pro optimalizaci, které využívají hodnoty gradientu k určení vektoru největšího spádu v (m + 1)-dimenzionálním prostoru (kde m je dimenze hledaného vektoru x 1 ). Pro názornou představu se dá minimalizace pomocí gradientního prohledávání 3-dimenzionálního prostoru připodobnit k toku vody v krajině. Voda totiž teče směrem největšího spádu a zastaví se v nejnižším místě krajiny. Ilustrováno na obrázku 2.1. Obrázek 2.1: Příklad prohledávání prostoru gradientní metodou Pokud prvním místem v prohledávaném prostoru zvolíme náhodně vektor x 0, pak další krok iterativního zlepšování řešení popíšeme vztahem x k+1 = x k + α k dk kde k {1, 2, 3,...} a představuje iterační krok. α k je délka kroku. Pro konvergenci algoritmu je potřeba směrový vektor - d k. Ten určuje směr největšího spádu. Nejjednodušší metodou pro nalezení tohoto vektoru je použití gradientu funkce f( x k ). d k = f( x k ), f( x k ) = ( ) T f( x 1 ),..., f( x n ) x 1 x n Obecný tvar algoritmu je na obrázku 2.2 [4]. Výhodou algoritmů založených na gradientním sestupu je rychlost se kterou nacházejí globální extrém Quasi-Newtonův algoritmus V simulátoru GAME je jako reprezentant gradientní metody zahrnut Quasi-Newtonův algoritmus. Je založen na gradientním sestupu a jeho předností je především rychlost výpočtu. 1 v kapitole 3 - Simulátor GAME - je tento vektor označován a
18 4 KAPITOLA 2. OPTIMALIZAČNÍ METODY Obrázek 2.2: Pseudokód algoritmu gradientního sestupu Levenberg-Marquardtův algoritmus Jedním z nejčastěji používaných algoritmů využívaných pro optimalizaci je Levenberg-Marquardt (LM). Dosahuje totiž největší rychlosti nalezení výsledku. Nevýhodou je ovšem jeho složitá implementace. Pseudokód algoritmu je na obrázku 2.3 [4]. Obrázek 2.3: Levemberg-Marquardt - pseudokód 2.2 Evoluční metody Evoluční výpočetní techniky (EVT) [5], jak už jejich název napovídá, jsou techniky inspirované evolucí v přírodě. Pro laika se může zdát poněkud nepochopitelná představa kombinovat Darwinovský zápas o přežití a výpočetní techniku, ale opak je pravdou. Použití EVT je především pro prohledávání určitého stavového prostoru (stejně jako mnohé jiné metody oboru umělé inteligence). Pokud se navíc jedná o optimalizaci, je možné zmínku o ní nalézt již v biologické charakteristice evoluce: V přírodní evoluci je základní úlohou biologického druhu vyhledání výhodných adaptací vůči složitému a dynamicky se měnícímu prostředí. Znalost, která charakterizuje každý
19 KAPITOLA 2. OPTIMALIZAČNÍ METODY 5 biologický druh, byla získána vývojem a je shrnuta v chromozomech každého jedince. [2] Zde je implicitně známka optimalizace. Vyhledání adaptace (změny) musí být výhodné ve smyslu nějakého hodnotícího kritéria. V přírodě je zpravidla tímto hodnotícím kritériem schopnost reprodukce, která je limitována množstvím potravy a dalšími zdroji v oblasti. Ne všechna individua v populaci musí být stejně kvalitní, avšak předpokládá se, že kvalitu jedince (např. schopnost přežití a reprodukce) jsme schopni určit. Z těchto myšlenek vychází i algoritmické využití EVT. Standardní metody optimalizace pracují s jedním kandidátem řešení a toho postupně zlepšují. Oproti tomu EVT pracují s množinou kandidátů x t,i, která je často nazývána populace a matematicky se dá zapsat v následujícím tvaru G(t) = {x t,1, x t,2,..., x t,n } kde t je vývojový čas a N je velikost populace. Vývojový čas zpravidla běží v diskrétních krocích a proto se o něm dá hovořit jako o generacích. Všichni jedinci jsou implementováni pomocí týchž datových struktur S. Přitom platí, že pro každého jedince x t,i je možno určit hodnotu (cost value) jeho hodnotící funkce (fitness function), která je zpravidla dána zobrazením f : S R. To přesně odpovídá parametrům zadání úlohy pro učení neuronové sítě. Obecný tvar EVT algoritmu vystihuje pseudokód na obrázku 2.4. Obrázek 2.4: Pseudokód algoritmu EVT Před začátkem cyklu, který simuluje vývojový čas (posloupnost generací), je potřeba provést inicializaci. Ta se skládá z vynulování čítače generací t, stanovení první generace jedinců pomocí inicializace G(t) a její ohodnocení pomocí vyhodnocení G(t). Součástí ohodnocení může být i stanovení nejlepšího jedince či výpočet průměrného ohodnocení celé generace. Následuje začátek cyklu while, který se opakuje dokud není splněno zastavovací pravidlo. To může být různé. Může to být například maximální doba výpočtu, dostatečná přesnost výsledku, doba běhu programu, nebo předem určený počet po sobě jdoucích generací, při kterých pokud nedojde ke zlepšení nejlepšího doposud nalezeného jedince - výpočet je ukončen. V těle cyklu se pak odehrává vlastní evoluce. Ta začíná inkrementací čítače generací t a je následována operací selekce G(t) z G(t-1). Zde probíhá simulace procesu přirozeného výběru - zápasu o přežití. Jedinci jsou vybíráni do další generace pravděpodobnostmí kriteriem a to zpravidla podle své kvality. Lepší přežívají častěji a horší méně často. Už z tohoto hlediska
20 6 KAPITOLA 2. OPTIMALIZAČNÍ METODY vyplývá, že průměrné ohodnocení by v další generaci rozhodně nemělo být horší, než v té současné. Operací změna G(t) se vnáší do reprodukce inovativní prvek. Pomocí rekombinačních operátorů m a x se vytvářejí nový jedinci - rozdílní od jedinců v minulé generaci. Tyto operátory pracují s jedinci na úrovni datových struktur S. Mutace (m : S S) - unární operátor - vytváří malou změnu v rámci jedince. Křížení (x : S... S S) - operátor pro n rodičů (většinou dva, ale není to pravidlem - např. diferenciální evoluce) provede křížení. Výsledkem je opět pouze jeden jedinec. Rekombinačních operátorů může být více a jsou vázány na reprezentaci jedince datovými strukturami S. Následuje skok na začátek cyklu a proces evoluce se opakuje pro další generaci. To, jakým způsobem probíhá obměna generací naznačuje obrázek 2.5. Obrázek 2.5: Obměna generací Doposud nezmíněný stav mezigenerace je množinou rodičů, ale i jejich potomků, kteří vznikli operací změna G(t). Šipka označená náhrada generací pak vyjadřuje tzv. vývojovou strategii. Vzhledem k tomu, že počet jedinců pro další generaci je většinou konstantní N, musí být vybráni pouze někteří jedinci. Vývojové strategie lze podle toho, z kterých jedinců staví novou generaci zařadit do dvou tříd: Generační strategie - dochází k obměně celé generace. Do další generace jsou převzati pouze potomci. Obdoba evoluce jednoletých rostlin. Postupné strategie - dochází pouze k výměně části populace. Obdoba evoluce živočichů a víceletých rostlin.
21 KAPITOLA 2. OPTIMALIZAČNÍ METODY 7 Pokud se rozhodneme použít generační model, pak je vhodné použít nějakou formu elitismu. Ten spočívá v tom, že několik nejlepších jedinců předáme do následující generace vždy. Při používání EVT může dojít i nepříjemnostem, jako je například stagnace populace. Pokud není zachována různorodost populace, dochází k její k její unifikaci a rekombinační operátory mohou mít velký problém se z tohoto stavu dostat. Stagnace je rovněž odpovědí na zdánlivě jednoduchou biologickou otázku: Proč se navzájem liší jedinci patřící k témuž biologickému druhu. Pokud by totiž došlo k takovéto stagnaci biologického druhu (z matematického hlediska - uváznutí v lokálním extrému), stal by se neadaptibilním vůči dynamicky se měnícímu prostředí a následovalo by jeho vyhynutí Genetické algoritmy Historicky prvním představitelem EVT jsou Genetické algoritmy [5]. Jsou inspirovány křížením jedinců na úrovni jejich genetického materiálu. Datové struktury S jsou v souladu s biologií nazývány chromozomy. Ty jsou tvořeny posloupností symbolů s i tak, že S = {s 1, s 2,..., s n } kde n N. Každá pozice i v chromozomu je pak nazývána alela. Konkrétní symbol v chromozomu se nazývá gen. Standardní genetický algoritmus využívá binární reprezentaci genů (0,1). Rekombinační operátory m - mutace a x - křížení pracují nad strukturami S. Obrázek 2.6: Mutace Obrázek 2.7: Křížení Mutace (m : S S) - vybere náhodně jeden bit a ten zneguje (viz. obrázek 2.6). Křížení (x : S S S) - nejprve jsou vybrání dva rodiče podle pravděpodobnostního kriteria. Pak je zvoleno (náhodně nebo předem) místo v chromozomu, které rozdělí chromozom na dvě části. Rodiče si vymění takto rozdělené části své genetické výbavy a vzniknou dva nový jedinci (viz. obrázek 2.7). Schéma výměny generací je shodné s obecným tvarem EVT algoritmu. Výhodou algoritmu je především jeho jednoduchost a univerzálnost použití. Za nevýhodu může být považována rychlost výpočtu a možnost stagnace populace - uvíznutí v lokálním extrému Diferenciální evoluce Mezi poměrně mladé EVT algoritmy patří i diferenciální evoluce (DE) [6]. Její autoři Ken Price a Rainer Storn [7] ji definovali v roce Její schéma je podobné genetickým algoritmům, z
22 8 KAPITOLA 2. OPTIMALIZAČNÍ METODY nichž vychází, nicnémě v dost ohledech se odlišuje. Genetickým algoritmům (GA) se nejvíce podobají především manipulací s datovými typy. Nalezneme zde křížení jedinců i mutaci. GA pracuje se dvěma rodiči, naproti tomu DE využívá pro získání nového jedince hned rodiče čtyři Parametry Pro činnost algoritmu je významným faktorem náhodná složka (stejně jako pro většinu EVT). Chování algoritmu lze ale ovlivnit i jeho nastavením (viz. tabulka 2.1). Řídicí parametr Interval Optimum Význam N P 4; velikost populace F 0; 2 0, 3 0, 9 mutační konstanta CR 0; 1 0, 8 0, 9 práh křížení GEN dle uživatele - počet generací Tabulka 2.1: Řídící parametry DE NP - počet jedinců v populaci. Pro správnou funkčnost je doporučeno NP 10. Při vysokých hodnotách pracuje algoritmus pomalu, při nízkých je problém s málo pestrou populací. Dobrý kompromis se dá určit experimentálně. F - mutační konstanta. Skalár, který slouží k přenásobení vektoru během procesu reprodukce jedince. CR - práh křížení - pravděpodobnost, jak moc bude zkušební vektor podobný původnímu rodiči nebo šumovému vektoru (který vznikl křížením dalších tří rodičů). CR < 0, 5 znamená, že zkušební vektor bude více podobný rodiči. CR > 0, 5 znamená, že zkušební vektor bude více podobný mutačnímu (šumovému) vektoru. Nikdy by nemělo nabývat hodnot 0 nebo 1. GEN - ukončovací podmínka - maximální počet generací. Při jeho překročení se dál již neoptimalizuje. D - dimenze vektoru řešení Princip činnosti Jak již bylo řečeno, princip činnosti je podobný GA. Dochází zde ke koloběhu generací, přičemž se zvyšuje průměrné ohodnocení jedince x i kde i NP. První generace jedinců je generována zcela náhodně. Co je však odlišné, je proces reprodukce nového jedince. Reprodukce (viz. obrázek 2.8) je provedena v cyklu pro každého jedince x i. Vznikne tím nová generace se stejným počtem jedinců. 1. Prvním krokem je určení rodičů r 0, r 1, r 2 a r 3. Rodič r 0 je vektor x i pro nějž je reprodukce prováděna. Ostatní rodiče r 1, r 2 a r 3 jsou náhodně zvolení jedinci v generaci. 2. Dalším krokem je Mutace. Při ní vznikne mutační vektor (někdy nazývaný též šumový vektor) v podle předpisu v = F (r 1 r 2 ) + r 3, kde F je mutační konstanta, která je parametrem algoritmu.
23 KAPITOLA 2. OPTIMALIZAČNÍ METODY 9 Obrázek 2.8: Reprodukce jedince
24 10 KAPITOLA 2. OPTIMALIZAČNÍ METODY 3. Při procesu křížení vzniká zkušební vektor x test. Ten vznikne tak, že postupně procházíme všechny složky vektoru r 0,i a v i ( i {1, 2,..., D}) a podle pravděpodobnosti dané konstantou CR zařadíme do zkušebního vektoru x test i složku z r 0,i nebo v i. Algoritmicky zapsáno: if (rnd(0, 1) CR) then x test i := v i else x test i := r 0,i. 4. Nyní už zbývá otestovat, zda je zkušební vektor x test i lepší, než jeho hlavní rodič r 0. Lepší z těchto dvou jedinců přežívá do další generace. V našem případě minimalizujeme - proto vyhrává jedinec s nižším ohodnocením f cost (x). V tomto bodě je do DE zakomponován elitismus - zapamatování si nejlepšího jedince. Další vlastností tohoto kroku je používání postupné strategie pro obměnu jedinců - rodiče koexistují se svými potomky. Podrobný popis reprodukce jedince je na obrázku Vlastnosti Mezi výhody algoritmu DE patří: [6] Jednoduchost - algoritmus je poměrně jednoduchý na pochopení a implementaci. Oproti gradientním metodám není nutno počítat jakékoliv derivace. Různorodost datové reprezentace - velkou předností je možnost realizovat jednotlivé prvky vektoru reprezentujícího jedince pomocí různých datových typů. Lze kombinovat celočíselné, reálné, dokonce i logické datové typy. Je možné využít i pouze diskrétní množinu čísel. Používání dekadických číslic - oproti GA není nutné používání logických operátorů nad binární reprezentací. Odpadá problém při mutaci, kdy záleží na umístění bitu (mutace m v nejnižším bitu má rozdílnou účinnost oproti mutaci bitu nejvyšším). Rychlost - algoritmus pro díky své jednoduchosti vykazuje oproti jiným EVT velkou rychlost. Nezávislost křížení na kvalitě rodičů - pokud u GA hraje roli kvalita jedince na jeho pravděpodobnost páření, pak může výsledek konvertovat do lokálního extrému. V DE jsou při reprodukci vybírání tři ze čtyř rodičů náhodně. Schopnost nalezení výsledku - metoda je robustní. Zachovává diversitu populace, takže nedochází často ke stagnaci. Možnost nalezení více globálních extrémů, pokud existují. Nevýhodou může být pomalejší činnost oproti algoritmům založeným na gradientním sestupu.
25 KAPITOLA 2. OPTIMALIZAČNÍ METODY Obrázek 2.9: Detailní popis reprodukce nového jedince 11
26 12 KAPITOLA 2. OPTIMALIZAČNÍ METODY Hejna Metody optimalizace pomocí hejna (angl. swarm) jsou inspirovány přírodou jinak, než například genetické algoritmy. Princip činnosti je zde v simulaci pohybu hejna nad krajinu. Jedinci jsou na začátku rozprostřeni náhodně po prohledávaném prostoru. Čas t běží v diskrétních krocích. V každém časovém okamžiku jsou přepočítány polohové vektory x i pro každého jedince podle vztahu: x i (t + 1) = x i (t) + v i (t) kde i {1, 2,..., N} a N je velikost populace. Pro určení v i je potřeba další vztah: v i (t + 1) = w v i (t) + c 1 rnd() ( p i x i (t)) + c 2 rnd() ( p g x i (t)) kde w je inerciální konstanta a je menší než jedna, c 1 a c 2 jsou konstanty okolo hodnoty 1, p i je vektor nejlepšího bodu v prostoru okolo jedince a p g je vektor nejlepšího bodu pro celé hejno. Funkce rnd() generuje náhodnou hodnotu z intervalu 0; 1. Tímto způsobem je modelován pohyb hejna v prostoru. Iterativním způsobem algoritmus mění polohu jedinců, přičemž průměrné ohodnocení generace se zlepšuje. Výsledkem je, že se hejno v prostoru dostane do nějakého extrému (lokálního nebo globálního) Particle swarm optimization Particle swarm optimization (PSO) je jednou z implementací optimalizace pomocí hejna v simulátoru GAME. Nevýhodou PSO je velká spotřeba výpočetního času. Ta je dána velkým počtem ohodnocení modelu sítě Hybrid GA a PSO Hybrid genetických algoritmů a particle swarm optimization (HGAPSO) je další z metod obsažených v simulátoru GAME. Pracuje tak, že část výpočtu pracuje jako genetický algoritmus a pak se přepne a pracuje na principu PSO.
27 KAPITOLA 3. SIMULÁTOR GAME 13 3 Simulátor GAME Group of Adaptive Models Evolution (GAME) je programem pro simulaci a studium chování umělých neuronových sítí. Je zde využita síť typu GAME, která vychází z původních GMDH sítí (viz. obrázek 3.1) [3]. Síť může být tvořena různými typy jednotek (např. LinearNeuron, CombiNeuron, PolySimpleNeuron, SigmNeuron, GaussNeuron a mnohé další). Tyto jednotky jsou organizovány ve vrstvách. Evolučními procesy dochází k selekci kvalitních jednotek, které nadále v jednotlivých vrstvách přežívají. Obrázek 3.1: Rozdíl mezi sítí MIA GMDH a sítí GAME Síť je dynamicky generována procesem učení - jedná se tedy o neuronové sítě s učitelem. Pro tvorbu neuronové sítě v simulátoru je potřeba zadat vstupní data. Ta obsahují informaci o reálném systému, který bude v počítači simulován neuronovou sítí. Data jsou organizována v řádcích a v každém řádku je vektor x (představující vstupní data sítě) a hodnotu d (předpokládaný výsledek pro vstupní data x). Pokud zjistíme odpověď sítě y na všechna vstupní data x, můžeme spočítat chybu sítě - E jako E = 1 m (y j d j ) 2 m j=0 kde m je počet řádek se vstupními daty. Účelem práce je začlenit do simulátoru metodu pro učení sítě, takzvaného učitele, pomocí nějakého optimalizačního algoritmu. Proto je důležité, že v simulátoru existuje rozhraní pro zjišťování chyby modelu E (schematicky viz. obrázek 3.2) [3]. Toto rozhraní dokáže komunikovat s modelem a na vstupní data a odpovídat hodnotou chyby E. Z geometrického hlediska je možné si optimalizaci představit jako proces hledání globálního minima v (m + 1)-dimenzionálním prostoru (kde m je dimenze vektoru a). Pro představu, pokud by byl vstupní vektor dvoudimenzionální, pak by se jednalo o úlohu hledání globálních extrémů v třírozměrném prostoru - tedy po převedení do reálného světa - hledání nejvyššího (popř. nejnižšího) bodu v krajině (kopce a údolí). V tomto případě jde o naučení neuronové sítě na vstupních datech. Účelem optimalizace je tedy
28 14 KAPITOLA 3. SIMULÁTOR GAME Obrázek 3.2: Rozhraní simulátoru GAME pro získávání chyby modelu. a) verze bez výpočtu gradientu b) verze s výpočtem gradientu minimalizovat chybu sítě E, půjde tedy o minimalizací. Výsledkem snažení při optimalizaci by mělo být nalezení globálního minima v (m + 1)-dimenzionálním prostoru.
29 KAPITOLA 4. IMPLEMENTACE DIFERENCIÁLNÍ EVOLUCE 15 4 Implementace diferenciální evoluce Pro implementační část práce byla původně vybrána jiná evoluční metoda, a to genetické algoritmy. Vzhledem k tomu, že tato metoda (byť v modifikované podobě) je již v simulátoru GAME obsažena, byla vybrána jiná evoluční metoda - diferenciální evoluce. K tomuto kroku mě vedlo několik důvodů. Především není tak často používána (je stále poměrně mladá). Je považována za velmi efektivní a robustní a v neposlední řadě je poměrně jednoduchá na implementaci. 4.1 Popis implementace Simulátor GAME je napsán v jazyce Java, proto i pro implementaci bylo použito stejného jazyku. Plné začlenění DE zahrnovalo pouze přidání tří tříd. DifferentialEvolutionTrainer.java - reprezentuje učitele sítě pomocí DE DifferentialEvolutionConfig.java - GUI pro nastavení parametrů DE Individual.java - reprezentuje jedince v populaci UML schéma Schéma 4.1 zobrazuje začlenění DE do simulátoru GAME. Ve schématu jsou zobrazeny pro přehlednost pouze důležité metody a proměnné. Obrázek 4.1: UML schéma implementovaných tříd Pro správnou funkčnost bylo potřeba, aby třída DifferentialEvolutionTrainer.java byla potomkem třídy Trainer.java. Od něj byly přetíženy některé metody - např. teach(), která realizuje
30 16 KAPITOLA 4. IMPLEMENTACE DIFERENCIÁLNÍ EVOLUCE samotný proces učení neuronové sítě. Reprodukci jedinců populaci obstarává metoda makereproduction(). Obě tyto metody budou dále v textu zobrazeny a popsány Grafické rozhraní Třída DifferentialEvolutionConfig.java slouží pro zobrazení panelu pro konfiguraci DE při běhu simulátoru (tzv. GUI - viz. Obrázek 4.2). Jsou zde parametry pro nastavení DE: NP - počet jedinců v populaci. Pro správnou funkčnost je doporučeno NP 10. F - mutační konstanta. Doporučená hodnota je F 0, 4; 1, 6. CR - práh křížení - pravděpodobnost, jak moc bude zkušební vektor podobný původnímu rodiči a nebo šumovému vektoru (který vznikl křížením dalších tří rodičů). CR < 0, 5 znamená, že zkušební vektor bude více podobný rodiči. CR > 0, 5 znamená, že zkušební vektor bude více podobný šumovému vektoru. GEN - ukončovací podmínka - maximální počet generací. Při jeho překročení se dál již neoptimalizuje. Málokdy je tato podmínka uplatněna. EN D GEN - ukončovací podmínka, která stanovuje počet generací, při kterých pokud nedojde ke zlepšení nejlepšího dosaženého řešení - ukončí optimalizaci. X - meze pro počáteční náhodné nastavení parametrů jedinců první generace. Náhodná hodnota bude v intervalu X; X Obrázek 4.2: GUI pro konfiguraci
31 KAPITOLA 4. IMPLEMENTACE DIFERENCIÁLNÍ EVOLUCE Hlavní části kódu Ze zdrojového kódu třídy DifferentialEvolutionTrainer.java jsem vybral dvě instanční metody, které ilustrují způsob funkčnosti algoritmu. Jsou velmi jednoduché a skoro představují pseudokód algoritmu DE. První z nich je procedura teach(), která v sobě skrývá proces učení neuronové sítě. Nejprve je náhodně vygenerována první generace jedinců (proměnná population) a poté je v cyklu while provedena reprodukce všech jedinců v generaci. Následuje nahrazení původní generace generací novou, inkrementace čítače generací a na závěr cyklu testována ukončovací podmínka. /** starts teaching process */ public void teach() { // initialize the first random population this.initpopulation(); // maximal GEN populations while (this.generationcounter < this.gen) { // Reproduction of each Individual for (int i = 0; i < population.length; i++) { this.makereproduction(i); } // swap populations this.population = this.nextpopulation; this.nextpopulation = new Individual[this.NP]; // increment generation counter this.generationcounter++; // test - is the solution going better...? if (!issolutiongoingbetter()) { break; } } } Zde stojí za povšimnutí, že nikde není uplatněno zapamatování si nejlepšího průběžného výsledku optimalizace. Tento fakt se dá vysvětlit tím, že v následující proceduře makereproduction() je volána funkce geterror(), která nám vrátí chybu vygenerovanou neuronovou sítí. Tato funkce si sama hlídá, které nastavení vykazovalo nejmenší chybu a pokud toto nastavení najde, pak si ho automaticky zapamatuje. Po skončení procedury teach() si toto řešení automaticky přebere simulátor GAME. Samotná procedura makereproduction() představuje proces reprodukce nového jedince. Jejím parametrem je celočíselný index, který určuje jedince v generaci. Prvním krokem je určení všech čtyř rodičů. Rodič r0 je rodičem hlavním. Následuje stanovení mutačního (šumového) vektoru. V cyklu for je proveden proces křížení, při kterém je získám zkušební vektor, který je v závislosti na konstantě CR více podobný rodiči r0 nebo mutačnímu vektoru v. Dalším krokem je ohodnocení nového řešení pomocí funkce geterror(). Podmíněný příkaz if
32 18 KAPITOLA 4. IMPLEMENTACE DIFERENCIÁLNÍ EVOLUCE rozhodne, zda nalezený zkušební vektor je lepší než jeho rodič r0 a vítěze zařadí do nové populace. /** main method of DE - makes new individual for next genneration */ private void makereproduction(int ind) { // setting parents Individual r0 = this.population[ind]; int index[] = this.setparentsindexes(ind); Individual r1 = this.population[index[0]]; Individual r2 = this.population[index[1]]; Individual r3 = this.population[index[2]]; // setting mutation vector: v = (r1 - r2)*f + r3 Individual v = r1.minus(r2); v = v.timesscalar(this.f); v = v.plus(r3); // makeing crossover -> setting test vector for (int i = 0; i < this.d; i++) { if( Math.random() > this.cr){ v.setvalueat(i, r0.getvalueat(i)); } } // set the costvalue of new vector v (after mutation and crossover) double costvalue = this.geterror( v.getvalues() ); v.setcostvalue(costvalue); } // test -> is new individual better then it s parent...? // <... because we want to minimalize // the function (error in neural network) if( v.getcostvalue() < r0.getcostvalue() ){ this.nextpopulation[ind] = v; // new solution is better } else { this.nextpopulation[ind] = r0; // old solution is better } 4.2 Vlastnosti Do simulátoru GAME byla přidána optimalizace pomocí DE ve své ryzí podobě - tedy verze se čtyřmi rodiči, kteří jsou náhodně vybírání. První generace jedinců je generována zcela náhodně. Ukončovací podmínky byly zahrnuty dvě a dají se nastavit v grafickém rozhraní (viz. Obrázek parametry GEN a END GEN). 1. Maximální počet generací. Při jeho překročení se dál již neoptimalizuje. Pouze z důvodu možného uváznutí algoritmu. 2. Počet generací, při kterých pokud nedojde ke zlepšení nejlepšího dosaženého řešení - dochází k přerušení optimalizace.
33 KAPITOLA 5. TESTOVÁNÍ 19 5 Testování Pro otestování funkčnosti a účinnosti byly provedeny dvě sady experimentů. Ty měli ověřit především, jak se chová DE v porovnání s jinými metodami, které jsou již implementovány v simulátoru GAME. Předem je tedy vhodné uvést, že se nejednalo o porovnávání z hlediska náročnosti na čas a složitost výpočtu, ale především na jeho kvalitu. Dobou výpočtu se evoluční výpočetní techniky zdaleka nemohou rovnat metodám založeným na gradientním sestupu. 5.1 Získané výsledky V této kapitole jsou shrnuty výsledky testováním pomocí optimalizačních metod uvedených v tabulce 5.1. Název třídy v GAME Zkratka Druh Výuková metoda UncminTrainer QN Gradient Quasi-Newton method SADETrainer SADE Genetic SADE genetic method PSOTrainer PSO Swarm Particle Swarm Optimization HGAPSOTrainer HGAPSO Genetic Hybrid of GA and PSO DifferentialEvolutionTrainer DE Genetic Differtial Evolution Tabulka 5.1: Seznam optimalizačních metod pro testování Testy proběhly na následujících datech: Spiral - klasifikace spirály Building - data o teplotě vody - klasifikace na základě teploty vody, vzduchu, vzdušné vlhkosti, atd. Antro - antropologická data - klasifikace podle různých parametrů (věková kategorie, pohlaví, národnost,...) - jde o modelování věku Metodika Byly provedeny dva druhy testů, které se lišily svou metodikou, ale obě měly ukázat, jak si DE vede v porovnání s ostatními optimalizačními metodami. 1. Úspěšnost přežití neuronu - vzhledem k tomu, že při učení jednotek sítě GAME probíhá mezi těmito k evolučnímu boji, bylo sledováno, jak často přežívají jednotky učené DE. 2. Porovnání DE s ostatními metodami na základě RMS-error sítě Úspěšnost přežití neuronu Při tomto testu byla sledována procentuální úspěšnost přežívání jednotek neuronové sítě učených DE ve výsledném modelu. Testy proběhly nad výše zmíněnými daty. Nastavení simulátoru GAME bylo ponecháno ve standardní podobě. Byly však zapnuty všechny optimalizační metody a všechny druhy jednotek neuronové sítě. Algoritmus DE byl nastaven podle obrázku 4.2. Testy proběhly z důvodu velké časové náročnosti výpočtu pouze jednou. Tabulka 5.2 obsahuje výsledky experimentu. Obrázek 5.1 shrnuje výsledky do grafu s procentuálním zastoupením optimalizačních metod.
34 20 KAPITOLA 5. TESTOVÁNÍ Optimalizační metoda [%] Data BackProp QN PSO DE HGAPSO SADE Antro AGE 9,09 72,73 9,09 9, Spiral 1 16,67 50, ,67 16,67 0 Spiral 2 65,71 11,43 2,86 5,71 11,43 2,86 WBE 14,29 57, , ,29 WBHW 37,50 12, ,00 12,50 12,50 WBCW 11,11 44, ,11 11,11 22,22 Průměr 25,73 41,37 1,99 13,64 8,62 8,64 Tabulka 5.2: Procetuální úspěšnost přežití jednotek sítě na různých datových množínách Obrázek 5.1: Procentuální zastoupení optimalizačních metod
35 KAPITOLA 5. TESTOVÁNÍ 21 Algoritmus QN představuje hlavní část se 40%. Následován je algoritmem BackPropagation s 26%. Diferenciální evoluce (DE) představuje solidních 14%. HGAPSO a SADE představují každý 9%, PSO pouze 2%. Tyto testy ukázaly dobrou schopnost přežití jednotek učených pomocí DE. Především v porovnání s ostatními evolučními technikami se DE vedla lépe Chyba sítě Dalšími testy byla sledována chyba sítě. Nastavení simulátoru GAME bylo ponecháno ve standardní podobě. Byly zapnuty všechny všechny druhy jednotek neuronové sítě. Pokaždé byla zapnuta pouze jedna optimalizační metoda (učitel neuronové sítě). Takto bylo vygenerováno vždy 10 modelů nad každou množinou dat pro každou optimalizační metodu. Algoritmus DE byl nastaven podle obrázku 4.2. Jako metoda pro porovnání dvou nezávislých procesů byl vybrán T-test [1]. Tato statistická metoda je schopna rozhodnout, jestli jsou dva procesy stejné či nikoliv Building Na testovací množině dat Building a konkrétně modelu WBE - Energy consumption proběhlo porovnání DE s HGAPSO a DE s QN. Obrázek 5.2 ukazuje grafické porovnání vždy dvou optimalizačních metod - a) DE s HGAPSO a b) DE s QN. Obrázek 5.2: T-test nad daty WBE - Energy consumption
36 22 KAPITOLA 5. TESTOVÁNÍ Při porovnávání DE a HGAPSO byla získána hodnota t = 8.23 a pravděpodobnost, že obě metody jsou rovnocenné menší než 0,01%. Rozdíl je tedy statisticky signifikantní. Oproti tomu při porovnání DE s QN byla získána hodnota t = a pravděpodobnost, že obě metody jsou rovnocenné, byla rovna 72%. Rozdíl tedy není statisticky signifikantní. Nelze tedy učit, která metoda je lepší. Takto byly porovnány různé metody na různých datových množinách a bylo zjištěno, že závěry potvrzené T-testem přibližně odpovídají závěrům zjištěným při porovnávání Ensamble RMS Error hodnot jednotlivých modelů. Ensamble RMS Error je hodnota produkovaná simulátorem GAME. Pro 10 modelů vygenerovaných na každé skupině dat byla zjištěna tato hodnota. Obrázek 5.3: Datová množina Building - RMS Error Tři druhy modelů datové množiny Building (viz. obrázek 5.3). Modely WBE - Energy consumption vykazují největší rozdíly jednotlivých učících metod. Jsou dost zašuměná a metodám založeným na simulaci hejna (PSO, HGAPSO) působí problémy. DE, SADE i QN prokazují dobré výsledky. Obdobné výsledky vykazují i modely WBCW - Cold water consumption a WBHW - Hot water consumption. Zde již je rozdíl menší, ale stále patrný. Datová množina Building vykazovala největší rozdíly testovaných algoritmů Spiral Spiral je další testovanou množinou dat. Metody na těchto datech vykazovaly menší vzájemné rozdíly. Výsledky na grafech v obrázku 5.4 ukazují chybu sítě při klasifikaci spirály. Obstojně si vede QN. DE se řadí k průměru. Rozdíl mezi jednotlivými metodami není příliš velký. Graf na obrázku 5.5 znázorňuje úspěšnost sítě při klasifikaci spirály. Všechny hodnoty se pohy-
37 KAPITOLA 5. TESTOVÁNÍ 23 Obrázek 5.4: Data Spiral 1 a Spiral 2 - RMS Error Obrázek 5.5: Klasifikační úspěšnost na spirálních datech
38 24 KAPITOLA 5. TESTOVÁNÍ bují těsně nad padesátiprocentní hranicí. DE se vede nejlépe, rozdíly však nejsou velké. Modely učené všemi druhy metod mají špatnou schopnost klasifikace Antro Datová množina Antro vykazovala minimální rozdíly. Dá se konstatovat, že na těchto datech si vedou všechny optimalizační metody stejně. Z prostorových důvodů jsou výsledky porovnání zahrnuty v příloze A nazvané Antro - Grafy výsledků experimentu. Tam jsou výsledky i zhodnoceny. 5.2 Převzaté výsledky Druhá skupina testů je převzata z dizertační práce ing. Pavla Kordíka [3]. Tyto testy byly provedeny s rozšířenou množinou učících metod. Diferenciální evoluce se zde objevuje ve dvou různých implementacích. Seznam metod je uveden v tabulce 5.3. Převzaté výsledky byly okomentovány s ohledem na výsledky DE. Název třídy v GAME Zkratka Druh Výuková metoda UncminTrainer QN Gradient Quasi-Newton method SADETrainer SADE Genetic SADE genetic method PSOTrainer PSO Swarm Particle Swarm Optimization HGAPSOTrainer HGAPSO Genetic Hybrid of GA and PSO PALDifferentialEvolutionTr. PalDE Genetic Differtial Evolution version 1 DifferentialEvolutionTrainer DE Genetic Differtial Evolution version 2 StochasticOSearchTrainer SOS Random Stochastic Orthogonal Search OrthogonalSearchTrainer OS Gradient Orthogonal Search ConjugateGradientTrainer CG Gradient Conjugate Gradient method ACOTrainer ACO Swarm Ant Colony Optimization CACOTrainer CACO Swarm Cont. Ant Colony Optimization Tabulka 5.3: Seznam všech optimalizačních metod Provádění testů proběhlo na čtyřech různých datových množinách: Ecoli Boston Building Mandarin Pro testy byly zapnuty všechny jednotky. Vždy byla zapnuta pouze jedna optimalizační metoda (výjimkou je pouze nastavení all - zde byli zapnuty všechny výukové metody). Pro každou množinu dat bylo vygenerováno 5 modelů (výjimkou jsou data Ecoli - pouze 3 modely z důvodu velké časové náročnosti výpočtu) Ecoli Obrázek 5.6 zachycuje úspěšnost klasifikace pomocí různých modelů neuronové sítě na datech Ecoli. V obou případech vyhrává metoda HGAPSO (Hybrid GA a PSO). DE si vede poměrně špatně. V prvním modelu velkou úspěšnost na trénovacích datech, ovšem na datech testovacích je tomu právě naopak. Překvapením je velký rozdíl úspěšnosti QN v prvním a druhém modelu.
39 KAPITOLA 5. TESTOVÁNÍ 25 Obrázek 5.6: Datová množina Ecoli - schopnost klasifikace sítě. Dva modely Boston Obrázek 5.7: Datová množina Boston - RMS error sítě Druhou testovanou množinou jsou data Boston. Jak ukazuje obrázek 5.7 prakticky všechny metody si vedly stejně. Jedinou výjimkou je OS (Orthogonal Search). Shodné výsledky všech metod mohou znamenat, že data nebyla zašuměna a že na této datové množině je celkem jedno, kterou metodu pro naučení sítě použijeme Building V datové množině Building byla data klasifikována do tří výstupních proměnných. Pro každou je vygenerováno 5 modelů a z nich vypočítán ensamble RMS error. Tato hodnota byla převzata přímo ze simulátoru GAME. Energy consumption Cold water consumption Hot water consumption Výsledky (viz. obrázek 5.8) ukazují na to, že některé metody (DE, QN, SADE) si vedou velmi dobře pro všechny tři modely. Nic na tom nemění ani značné zašumění modelu Energy consumption.
40 26 KAPITOLA 5. TESTOVÁNÍ Obrázek 5.8: Datová množina Building - menší hodnota znamená lepší výsledek Ostatní metody již dopadly hůře (PSO, ACO, palde). Překvapením je metoda palde. Ta je druhou implementací diferenciální evoluce v simulátoru GAME. Její výsledky jsou zde špatné a ukazují na to, že je důležité správné nastavení parametrů algoritmu diferenciální evoluce. Tato metoda byla přidána do simulátoru GAME z internetu Mandarin Posledním testem byla data Mandarin. Ty ukazují postupné rozložení výsledků jednotlivých optimalizačních algoritmů (viz. obrázek 5.9). DE si vede dobře. Tradičně dobře dopadl i QN. Obrázek 5.9: Datová množina Mandarin - RMS error
41 KAPITOLA 6. ZHODNOCENÍ VÝSLEDKŮ 27 6 Zhodnocení výsledků Obsahem této kapitoly je krátké zhodnocení výsledků práce. Během práce došlo k potvrzení některých teoretických předpokladů. 6.1 Teoretické předpoklady Pokud jde o dobu výpočtu, pak své jednoznačné přednosti potvrdily metody využívající gradientního sestupu (např. Quasi-Newtonův alg.). Ty jsou jednoznačně nejrychlejším způsobem pro dosažení výsledku. Diferenciální evoluce potvrdila, že ve skupině evolučních výpočetních technik je jedním z nejrychlejších algoritmů. Optimalizace pomocí hejna (PSO) byla nejpomalejší. 6.2 Praktické poznatky Při srovnání poznatků z testování optimalizačních metod je dobré se zaměřit na to, jaké metody jsou nejvýhodnější z pohledu nalezení nejlepšího výsledku. Odpověď není tak jednoduchá. Existují metody, které mají často dobré výsledky (QN, DE,...), ale občas se umístí až na konci startovního pole. Jindy zase výsledky ukazují, že metody, které mají častěji horší výsledky (PSO, HGAPSO), vyhrávají nad tradičními vítězi. Dalším případem je, že jsou si všechny metody skoro rovnocenné. Významným faktorem při testování byla zašuměnost dat (např. model WBE - Energy consumtion) - metody HGAPSO a PSO zde prokazovaly znatelně horší výsledky. Záleží tedy především na datových množinách pro které jsou modely neuronových sítí stavěny. Lze tedy konstatovat, že pro různá data jsou vhodné různé optimalizační metody. Za výhodnou metodu pro většinu porovnávaných dat lze považovat Quasi-Newtonův algoritmus případně i Diferenciální evoluci. 6.3 Funkčnost diferenciální evoluce Praktickými testy byla potvrzena funkčnost DE. Ověřena byla stabilita a robustnost algoritmu, který vykazuje vysokou schopnost nalezení globálního extrému. Překvapivým poznatkem byla funkčnost metody PalDE, druhé implementace algoritmu DE, která byla do simulátoru GAME přidána z internetu 1. Ta dopadla špatně na datovém modelu WBE - Energy consumtion. Přitom DE implementovaná jako součást této práce byla mezi nejlepšími. 1 PalDE nepochzí od tvůrců simulátoru GAME
42 28 KAPITOLA 6. ZHODNOCENÍ VÝSLEDKŮ
43 KAPITOLA 7. ZÁVĚR 29 7 Závěr V úvodu práce jsem si vytkl začlenění algoritmu diferenciální evoluce do simulátoru GAME. Tento předpoklad se podařilo naplnit. Vytvořil jsem novou aplikaci v oboru evolučních výpočetních metod nazývanou diferenciální evoluce. Funkčnost a vlastnosti algoritmu jsem prověřil na různých skupinách dat. Pro porovnání jsem na stejná data aplikoval i jiné optimalizační metody a porovnal je s činností diferenciální evoluce. Testováním se potvrdily přednosti algoritmu diferenciální evoluce, jako například stabilita a robustnost. Tímto byla přidána do simulátoru kvalitní optimalizační metoda. Teoretická část práce přispěla k prohloubení mých znalostí o učení neuronových sítí, optimalizačních metodách a testování jejich funkčnosti. Dalším pokračováním práce by mohla být úprava algoritmu diferenciální evoluce o využití hodnoty gradientu během výpočtu nebo implementace Levemberg-Marquardtova algoritmu.
44 30 KAPITOLA 7. ZÁVĚR
45 KAPITOLA 8. LITERATURA 31 8 Literatura [1] T-test - webový kalkulátor. [2] L. Davis. Genetic Algorithms and Simulated Annealing. Morgan Kaufmann Publisher, Los Altos, [3] P. Kordík. Fully Automated Knowledge Extraction using Group of AdaptiveModels Evolution. Disertation thesis, [4] K. Madsen. Methods for non-linear least squares problems. 2nd edition, [5] V. Mařík. Umělá inteligence (3). Academica, Praha, 1. edition, [6] V. Mařík. Umělá inteligence (4). Academica, Praha, 1. edition, [7] R. Storn. Diferenciální evoluce - web tvůrce algoritmu.
46 32 KAPITOLA 8. LITERATURA
47 PŘÍLOHA A. ANTRO - GRAFY VÝSLEDKŮ EXPERIMENTU 33 A Antro - Grafy výsledků experimentu Tato příloha obsahuje grafy experimentů se stručným vyhodnocením výsledků. Obrázek A.1: Klasifikační úspěšnost u věkových kategorií Na obrázku A.1 jsou zachyceny procentuální úspěšnosti klasifikace do jednotlivých věkových kategorií. Zde není příliš velký rozdíl - největší rozdíl dvou metod je menší než 1%. Obrázek A.2: Antropologická data AGE - RMS Error Antropologická data AGE na obrázku A.2 vykazují přibližně stejné výsledky pro všechny optimalizační metody. Nejinak je tomu i pro modely pro klasifikaci do věkových skupin - obrázek A.3. Zde se od sebe jednotlivé metody prakticky neliší a to jak na trénovací, tak na testovací množině dat.
48 34 PŘÍLOHA A. ANTRO - GRAFY VÝSLEDKŮ EXPERIMENTU Obrázek A.3: Modely pro klasifikaci do věkových skupin - RMS Error
49 PŘÍLOHA B. SEZNAM POUŽITÝCH ZKRATEK 35 B Seznam použitých zkratek ACO Ant colony optimization CACO Cooperative ant colony optimization CG Conjugate gradient DE Diferenciální evoluce EVT Evoluční výpočetní technika GA Genetický algoritmus GAME Group of adaptive models evolution GMDH Group method of data handling GUI Graphical user interface HGAPSO Hybrid genetických algoritmů a particle swarm optimization LM Levemberg-Marquardt MIA Multilayered iteration algorithm OS Orthogonal search PalDE Pal diferenciální evoluce PSO Particle swarm optimization QN Quasi-Newton SADE Simplified atavistic differential evolution SOS Stochastic orthogonal search UML Unified modeling language
50 36 PŘÍLOHA B. SEZNAM POUŽITÝCH ZKRATEK
51 PŘÍLOHA C. OBSAH PŘILOŽENÉHO CD 37 C Obsah přiloženého CD Přiložené cd obsahuje násdedující složky a soubory (viz. obrázek C.1). Obrázek C.1: Obsah přiloženého CD Soubor index.html obsahuje informace pro zacházení s obsahem CD. Ve složce text je umístěna elektronická verze této práce ve formátu PDF.
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
Algoritmy pro spojitou optimalizaci
Algoritmy pro spojitou optimalizaci Vladimír Bičík Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze 10.6.2010 Vladimír Bičík (ČVUT Praha) Algoritmy pro spojitou optimalizaci
PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods
CW057 Logistika (R) PŘEDNÁŠKA 03 Optimization methods Ing. Václav Venkrbec skupina obecných modelů slouží k nalezení nejlepšího řešení problémů a modelovaných reálií přináší řešení: prvky konečné / nekonečné
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
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
Biologicky inspirované výpočty. Schématické rozdělení problematiky a výuky
Biologicky inspirované výpočty Schématické rozdělení problematiky a výuky 1 Biologicky inspirované výpočty - struktura problematiky Evoluční systémy: evoluční algoritmy, evoluční hardware, víceúčelová
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é
Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví
Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém
Jak se matematika poučila v biologii
Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika
Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie
Evoluční strategie Navrženy v 60. letech jako experimentální optimalizační metoda Založena na reálných číslech Velice rychlá s dobrou podporou teorie Jako první zavedla self-adaptation (úpravu sebe sama)
OPTIMALIZACE. (přehled metod)
OPTIMALIZACE (přehled metod) Typy optimalizačních úloh Optimalizace bez omezení Nederivační metody Derivační metody Optimalizace s omezeními Lineární programování Nelineární programování Globální optimalizace
1. Úvod do genetických algoritmů (GA)
Obsah 1. Úvod do genetických algoritmů (GA)... 2 1.1 Základní informace... 2 1.2 Výstupy z učení... 2 1.3 Základní pomy genetických algoritmů... 2 1.3.1 Úvod... 2 1.3.2 Základní pomy... 2 1.3.3 Operátor
Ú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
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
Evolučníalgoritmy. Dále rozšiřována, zde uvedeme notaci a algoritmy vznikléna katedře mechaniky, Fakulty stavební ČVUT. Moderní metody optimalizace 1
Evolučníalgoritmy Kategorie vytvořená v 90. letech, aby se sjednotily jednotlivémetody, kterévyužívaly evoluční principy, tzn. Genetickéalgoritmy, Evolučnístrategie a Evoluční programování (v těchto přednáškách
UČENÍ BEZ UČITELE. Václav Hlaváč
UČENÍ BEZ UČITELE Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/~hlavac 1/22 OBSAH PŘEDNÁŠKY ÚVOD Učení
1. Téma 03 - Rozhodování
1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice
Využití neuronové sítě pro identifikaci realného systému
1 Portál pre odborné publikovanie ISSN 1338-0087 Využití neuronové sítě pro identifikaci realného systému Pišan Radim Elektrotechnika 20.06.2011 Identifikace systémů je proces, kdy z naměřených dat můžeme
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á,
Gramatická evoluce a softwarový projekt AGE
Gramatická evoluce a softwarový projekt AGE Adam Nohejl Matematicko-fyzikální fakulta Univerzita Karlova v Praze http://nohejl.name/ 4. 4. 2010 Poznámka: Prezentace založené na variantách těchto slajdů
Swarm Intelligence. Moderní metody optimalizace 1
Swarm Intelligence http://pixdaus.com/single.php?id=168307 Moderní metody optimalizace 1 Swarm Intelligence Inteligence hejna algoritmy inspirované chováním skupin ptáků, hmyzu, ryb apod. Particle Swarm
Numerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
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Í
Metaheuristiky s populacemi
Metaheuristiky s populacemi 8. března 2018 1 Společné vlastnosti 2 Evoluční algoritmy 3 Optimalizace mravenčí kolonie Zdroj: El-Ghazali Talbi, Metaheuristics: From Design to Implementation. Wiley, 2009.
Trénování sítě pomocí učení s učitelem
Trénování sítě pomocí učení s učitelem! předpokládá se, že máme k dispozici trénovací množinu, tj. množinu P dvojic [vstup x p, požadovaný výstup u p ]! chceme nastavit váhy a prahy sítě tak, aby výstup
A0M33EOA: Evoluční optimalizační algoritmy
A0M33EOA: Evoluční optimalizační algoritmy Zkouškový test Pátek 8. února 2011 Vaše jméno: Známka, kterou byste si z předmětu sami dali, a její zdůvodnění: Otázka: 1 2 3 4 5 6 7 8 Celkem Body: 1 3 2 1 4
Masarykova univerzita. Fakulta informatiky. Evoluce pohybu
Masarykova univerzita Fakulta informatiky Evoluce pohybu IV109 Tomáš Kotula, 265 287 Brno, 2009 Úvod Pohyb je jedním ze základních projevů života. Zdá se tedy logické, že stejně jako ostatní vlastnosti
Dynamické datové struktury III.
Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované
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í
OBSAH 1 Pøedmluva 19 2 Evoluèní algoritmy: nástin 25 2.1 Centrální dogma evoluèních výpoèetních technik... 26 2.2 Chcete vìdìt víc?... 29 3 Historická fakta trochu jinak 31 3.1 Pár zajímavých faktù...
Ú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í
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í
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ě
Pokročilé metody učení neuronových sítí. Tomáš Řehořek tomas.rehorek@fit.cvut.cz
Pokročilé metody učení neuronových sítí Tomáš Řehořek tomas.rehorek@fit.cvut.cz Problém učení neuronové sítě (1) Nechť N = (V, I, O, S, w, f, h) je dopředná neuronová síť, kde: V je množina neuronů I V
Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004
Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.
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:
SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR
EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení
Poslední nenulová číslice faktoriálu
Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip
6 Příkazy řízení toku
6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní
Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného) 1 Obecný popis metody Particle Image Velocimetry, nebo-li zkráceně PIV, je měřící
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Optimalizační metody v CFD
Optimalizační metody v CFD diferenciální evoluce 20.dubna 2006 Ondřej Suchomel, FS ČVUT 4.ročník, obor IMM úvod předmět: cíl: popis: optimalizační metoda: programy: Projekt II., Počítačová mechanika tekutin
OPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
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.
1 Nejkratší cesta grafem
Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto
Kybernetika a umělá inteligence, cvičení 10/11
Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ
PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ Ing. David KUDLÁČEK, Katedra stavební mechaniky, Fakulta stavební, VŠB TUO, Ludvíka Podéště 1875, 708 33 Ostrava Poruba, tel.: 59
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
FORTANNS. havlicekv@fzp.czu.cz 22. února 2010
FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku
Časová a prostorová složitost algoritmů
.. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
VISUAL BASIC. Přehled témat
VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat
Optimalizační metody v CFD diferenciální evoluce
Fakulta strojní ČVUT, Ú 12107.1 - Odbor mechaniky tekutin a termodynamiky Optimalizační metody v CFD diferenciální evoluce Ondřej Suchomel, ing. Tomáš Hyhlík Abstrakt Příspěvek popisuje využití jednokriteriální
Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39
Algoritmy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna 2018 1/ 39 Algoritmy Příklad: Popis algoritmu pomocí pseudokódu: Algoritmus 1: Algoritmus pro nalezení největšího prvku v poli 1 Find-Max(A,n):
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
NG C Implementace plně rekurentní
NG C Implementace plně rekurentní neuronové sítě v systému Mathematica Zdeněk Buk, Miroslav Šnorek {bukz1 snorek}@fel.cvut.cz Neural Computing Group Department of Computer Science and Engineering, Faculty
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE. 2016/2017 Monika Knolová
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE 2016/2017 ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ Studijní program: B 2301 Strojní inženýrství Studijní zaměření: Průmyslové inženýrství
Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace.
Genetické algoritmy a jejich praktické využití Pavel Šturc Úvod Cílem této práce je seznámit čtenáře se základním principem funkce genetických algoritmů a nastínit jejich možné aplikování do různých odvětví
ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT
Využit ití empirických modelů při i optimalizaci procesu mokré granulace léčivl Jana Kalčíkov ková 5. ročník Školitel: Doc. Ing. Zdeněk k Bělohlav, B CSc. Granulace Prášek Granule Vlhčivo Promíchávání
Objektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Obsah přednášky Jaká asi bude chyba modelu na nových datech?
Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
2015 http://excel.fit.vutbr.cz Kartézské genetické programování s LUT Karolína Hajná* Abstract Tato práce se zabývá problematikou návrhu obvodů pomocí kartézského genetického programování na úrovni třívstupových
Analytické programování v C#
Analytické programování v C# Analytic programming in C# Bc Eva Kaspříková Diplomová práce 2008 UTB ve Zlíně, Fakulta aplikované informatiky, 2008 4 ABSTRAKT Analytické programování je metoda, která generuje
Datové struktury 2: Rozptylovací tabulky
Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy
Markov Chain Monte Carlo. Jan Kracík.
Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),
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í
Algoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu
Vytěžování dat, cvičení 1: Úvod do Matlabu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Úvod do Matlabu Proč proboha Matlab? Matlab je SW pro
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é
Testování neuronových sítí pro prostorovou interpolaci v softwaru GRASS GIS
Testování neuronových sítí pro prostorovou interpolaci v softwaru GRASS GIS Veronika NEVTÍPILOVÁ Gisáček 2013 Katedra Geoinformatiky Univerzita Palackého v Olomouci Cíle otestovat kvalitu interpolace pomocí
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
5.5 Evoluční algoritmy
5.5 Evoluční algoritmy Jinou skupinou metod strojového učení, které vycházejí z biologických principů, jsou evoluční algoritmy. Zdrojem inspirace se tentokrát stal mechanismus evoluce, chápaný jako Darwinův
Rekurzivní algoritmy
Rekurzivní algoritmy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA) ZS
VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony
VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony František Němec (xnemec61) xnemec61@stud.fit.vutbr.cz 19. července 2015 1 Úvod
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování
4.8.16. Úvod do programování Vyučovací předmět Úvod do programování je na naší škole nabízen v rámci volitelných předmětů v sextě, septimě nebo v oktávě jako jednoletý dvouhodinový kurz. V případě hlubšího
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb
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
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
PRŮZKUM VÝŽIVY LESA NA ÚZEMÍ ČESKÉ REPUBLIKY
PRŮZKUM VÝŽIVY LESA NA ÚZEMÍ ČESKÉ REPUBLIKY Aplikované metodické postupy Tomáš Samek počet odběrných míst/vzorků volba odběrných míst pokyny k odběru vzorků, jejich označování a skladování předávání
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce
MULTISIM VÝUKOVÝ ELEKTRONICKÝ MATERIÁL
MULTISIM VÝUKOVÝ ELEKTRONICKÝ MATERIÁL MULTISIM ELECTRONIC EDUCATION MATERIAL Pavel BENAJTR Resumé Tématem bakalářské práce bylo vytvoření výukového elektronického materiálu pro simulační program Multisim
1. 5. Minimalizace logické funkce a implementace do cílového programovatelného obvodu CPLD
.. Minimalizace logické funkce a implementace do cílového programovatelného obvodu Zadání. Navrhněte obvod realizující neminimalizovanou funkci (úplný term) pomocí hradel AND, OR a invertorů. Zaznamenejte
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
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
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Rozvoj tepla v betonových konstrukcích
Úvod do problematiky K novinkám v požární odolnosti nosných konstrukcí Praha, 11. září 2012 Ing. Radek Štefan prof. Ing. Jaroslav Procházka, CSc. Znalost rozložení teploty v betonové konstrukci nebo její
Popis zobrazení pomocí fuzzy logiky
Popis zobrazení pomocí fuzzy logiky diplomová práce Ján Fröhlich KM, FJFI, ČVUT 23. dubna 2009 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 1 / 25 Obsah 1 Úvod Základy
Genotypy absolutní frekvence relativní frekvence
Genetika populací vychází z: Genetická data populace mohou být vyjádřena jako rekvence (četnosti) alel a genotypů. Každý gen má nejméně dvě alely (diploidní organizmy). Součet všech rekvencí alel v populaci
Úvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
Výuka odborného předmětu z elektrotechniky na SPŠ Strojní a Elektrotechnické
Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta Oddělení celoživotního vzdělávání Závěrečná práce Výuka odborného předmětu z elektrotechniky na SPŠ Strojní a Elektrotechnické Vypracoval:
11. Tabu prohledávání
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Název diplomové práce: Srovnávač životního pojištění. Určení: Bakalářská práce. Vedoucí: Doc. Ing. Petr Sosík, Dr.
Název diplomové práce: Srovnávač životního pojištění Určení: Bakalářská práce Konzultant: Ing. Mgr. Barbora Volná, Ph.D. Cíl práce: Naprogramovat srovnávač životního pojištění, který spadá pod obor automatizace
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é