Univerzita Karlova v Praze. Matematicko-fyzikální fakulta. Katedra softwarového inženýrství (Matematicko-fyzikální fakulta UK)

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

Download "Univerzita Karlova v Praze. Matematicko-fyzikální fakulta. Katedra softwarového inženýrství (Matematicko-fyzikální fakulta UK)"

Transkript

1 Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Martin Dörfler Využití umělých neuronových sítí k řízení genetických algoritmů Katedra softwarového inženýrství (Matematicko-fyzikální fakulta UK) Vedoucí diplomové práce: Studijní program: Studijní obor: RNDr. Martin Holeňa, CSc. Informatika Teoretická informatika Praha 2012

2 Na tomto místě bych chtěl poděkovat svému vedoucímu, doc. RNDr. Martinu Holeňovi, CSc. Bez jeho rad a podpory by tato práce jen těžko mohla vzniknout.

3 Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně a výhradně s použitím citovaných pramenů, literatury a dalších odborných zdrojů. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona v platném znění, zejména skutečnost, že Univerzita Karlova v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle 60 odst. 1 autorského zákona. V... dne... Martin Dörfler

4 Název práce: Využití umělých neuronových sítí k řízení genetických algoritmů Autor: Martin Dörfler Katedra: Katedra softwarového inženýrství Vedoucí diplomové práce: RNDr. Martin Holeňa, CSc., Ústav informatiky AV ČR, v. v. i. Abstrakt: Genetické algoritmy jsou jedny z nejvíce flexibilních optimalizačních metod. Mají minimální požadavky na zadání, a tedy jsou schopny řešit široké spektrum úloh. Tato flexibilita je však místy vykoupena nižší efektivitou. Ve srovnání s více specializovanými metodami se genetické algoritmy obvykle ukazují méně výkonné. Tato práce zkoumá možnosti jak navýšit jejich efektivitu pomocí řízení umělou neuronovou sítí. Je v ní popsán způsob řízení běhu genetického algoritmu pomocí samoorganizující mapy. Práce obsahuje návrh algoritmu, pokusnou implementaci a sérii testů, která má za úkol ověřit jeho účinnost. Ukazuje se, že i když výsledky na benchmarkových funkcích poukazují na jisté pozitivní vlastnosti algoritmu, výsledky na úlohách vyšší složitosti jsou méně optimistické. Klíčová slova: Optimalizace, genetické algoritmy, samoorganizující mapy Title: Use of artificial neural networks for controlling of genetic algorithms Author: Martin Dörfler Department: Department of Software Engineering Supervisor: RNDr. Martin Holeňa, CSc., Institute of Computer Science, Academy of Sciences of the Czech Republic Abstract: Genetic algorithms are some of the most flexible among optimization methods. Because of their low requirements on input data, they are able to solve a wide array of problems. The flexibility is balanced by their lower effectiveness. When compared to more specialized methods, their results are inferior. This thesis examines the possibility of increasing their effectiveness by means of controlling their run by an artificial neural network. Presented inside are means of controlling a run of a genetic algorithm by a self-organizing map. The thesis contains an algorithm proposal, a prototype implementation of such algorithm and a series of tests to assess its efficiency. While the results on benchmark functions show some positive properties, the problems of greater complexity yield less optimistic results. Keywords: Optimization, genetic algorithms, self-organizing maps

5 Obsah Úvod 3 1 Evoluční algoritmy Genetické algoritmy Evoluční strategie Řízení genetického algoritmu Možnosti řízení pomocí neuronové sítě Předzpracování a následné úpravy Ovlivňování parametrů algoritmu Modulace fitness funkce Ovlivňování populace v průběhu výpočtu Náhradní model Výběr varianty Samoorganizující mapy Stručná charakteristika Kombinované přístupy Evoluční strategie s přitažlivostí sousedů Návrh algoritmu Motivace Princip algoritmu Detaily implementace Specifikace problému Inicializace a preprocessing Iterace Ukončení algoritmu Experimentální ověření vlastností prototypové implementace Srovnávané algoritmy Testované veličiny Testovací funkce Benchmark Úloha z praxe Výsledky testů Test robustnosti Test diverzity populace

6 5.4.3 Test rychlosti konvergence Test vlivu dimenze problému Test na simulaci reálné úlohy Závěr 38 Shrnutí Možnosti dalšího výzkumu Seznam použitých zkratek 44 Přílohy 45 A Uživatelská dokumentace 46 A.1 Prostředí A.2 Použití A.3 Popis funkcí a datových struktur A.3.1 Hlavní funkce A.3.2 Pomocné funkce A.3.3 Datové struktury B Programová dokumentace 52 B.1 Obecné B.2 Implementace vlastního algoritmu B.2.1 Použití funkce GA B.2.2 Samoorganizující mapa B.3 Pomocné funkce pro testování B.3.1 Odečítání dat B.3.2 Evoluční strategie s přitažlivostí sousedů C Obsah přiloženého média 56 2

7 Úvod V posledních letech dochází ke znatelnému pokroku na poli alternativních výpočetních metod, označovaných též termínem soft-computing. Značná pozornost je věnována heuristickým metodám inspirovaným biologickými jevy. Principy známé z přírody byly použity k řešení úloh jako je aproximace funkcí, shlukování dat a stochastická optimalizace. Tyto metody mají mnoho předností, ale nejsou prosty slabin. Jejich flexibilita je vykoupena nižší efektivitou. V případech kdy je možné udělat přímé srovnání, specializované metody takřka vždy dokážou nalézt řešení v kratším čase. Dalším problémem je spolehlivost; jelikož většina těchto metod je stochastická, dosažení optima v konkrétním běhu není zaručeno. Jsou případy, kdy některé běhy algoritmu nejsou vůbec schopné dosáhnout výsledku. Pokusů tyto obtíže obejít je prováděno mnoho. Jedním ze směrů, kterým se tyto pokusy vydávají, je použít kombinaci různých přístupů, tedy zkombinovat evoluční algoritmus s nějakou jinou metodou. Došlo k množství pokusů navrhovat umělé neuronové sítě prostřednictvím genetických algoritmů, což bylo zřejmě inspirováno biologickými kořeny obou metod. Tyto pokusy sahají od prostého upravování váhových vektorů k návrhu architektury neuronové sítě. Znatelně menší pozornost je věnována přístupu opačnému - využití neuronových sítí jako kontrolní mechanismus nad během evolučního algoritmu. Cílem této práce je prozkoumat jednu z variant takového postupu. Záměrem je ukázat jednu z možností, jak usměrňovat běh genetického algoritmu prostřednictvím umělé neuronové sítě. Cílem je ověřit hypotézu, že takováto kombinovaná metoda by mohla překonat některé slabiny, které tyto metody mají. Strukura práce Práce začíná shrnutím výsledků rešerší. První kapitola popisuje fungování evolučních algoritmů se zvláštním zřetelem k algoritmům genetickým. V kapitole 2 jsou rozebrány možnosti řízení genetických algoritmů. Z uvažovaných variant byla jedna vybrána k důkladnějšímu rozpracování, a byla zvolena neuronová sít která je pro tuto variantu vhodná. Tato varianta neuronové sítě je podrobněji popsána v kapitole 3. Mimo popisu neuronové sítě samotné jsou uvedeny i některé případy z literatury, které tuto sít používají způsobem relevantním k této práci. Jeden z těchto případů se ukázala zvláště relevantní, a byl popsán do detailu. Zbytek kapitol je věnován realizaci řešení. 3

8 V kapitole 4 je navržen způsob řešení uvedeného problému. Je popsán algoritmus, založený na tomto principu, a nástin toho jak ho implementovat. Tato kapitola se nicméně drží na teoretické úrovni - implementace z programátorského hlediska je do podrobna rozebrána v programové dokumentaci B, která je přílohou práce. Kapitola 5 pojednává o testování, sledovaných hodnotách a použitých metodách. Obsahuje získané výsledky a porovnání výkonů algoritmu s vybranými algoritmy z literatury. Práci zakončuje shrnutí dosažených výsledků, závěr, a přílohy. 4

9 1. Evoluční algoritmy Toto označení zahrnuje skupinu optimalizačních metod, pro něž je charakteristické stochastické prohledávání vstupního prostoru s pomocí heuristik inspirovaných biologií, zejména evolucí. Mezi další význačné vlastnosti patří iterativní zpracování, práce s množinou kandidátů na řešení a to, že použité pravděpodobnostní rozdělení je proměnlivé - v každém kroku iterace se mění podle výsledků z předchozího kroku. Existuje mnoho heuristik využívaných v různých evolučních algoritmech. Všechny tím či oným způsobem vycházejí z principů známých z oblasti genetiky a evoluce. Rozsah využitých aspektů je však široký, od rekombinace a mutace na chromozómu, přes populační dynamiku až po chování rojů hmyzu. Je nutné dodat, že cílem evolučních algoritmů není věrně replikovat přírodní procesy. Nejde ani o důkladnou simulaci. Vždy se jedná minimálně o radikální zjednodušení, častěji spíše o volně inspirované algoritmy. I když do oblasti evolučních algoritmů spadá mnoho různých metod, některé vlastnosti jsou společné všem. Především jde o metody nedeterministické. Náhoda je využívána spolu s heuristikami k řízení směru prohledávání (jde o využití náhody obdobné metodám Monte Carlo). Kvůli tomu je konečné řešení, délka běhu, a někdy i samotné ukončení algoritmu závislé na náhodě. Znamená to rovněž, že tyto metody poskytují suboptimální (přibližná) řešení. Dosažení optima není nijak garantováno. Další společnou vlastností těchto metod je iterativní zpracování. Množina dat prochází periodickými transformacemi, ve snaze o postupné zlepšování výsledků. Díky tomu většina metod charakterizovaných jako evoluční algoritmy může být zastavena v libovolný moment a poskytne všechny dosud spočtené výsledky. Stojí za to ještě zmínit, že většina z těchto metod používá paralelní zpracování, právě díky tomu že pracují s množinou kandidátů na řešení. Práce, pojednávající o evolučních algoritmech, používají pro některé pojmy specifickou terminologii. Tato terminologie se odkazuje na biologické procesy, které jim byly vzorem. Proto je každá instance potenciálního řešení nazývána jedinec, množina takovýchto řešení populace a výsledek každé iterace algoritmu je označován jako generace. Účelová funkce, jejíž hodnotu se algoritmus snaží optimalizovat, se nazývá fitness funkce a její hodnota v nějakém bodě se označuje jako fitness daného bodu. Toto názvosloví je považováno za standardní a ve zbytku této práce bude používáno takřka bez výjimky. V počátcích výzkumu evolučních algoritmů dosáhly pozornosti především dvě skupiny metod: genetické algoritmy a evoluční strategie. Obě dvě tyto skupiny 5

10 jsou pro zbytek práce relevantní a budou popsány více do detailu. 1.1 Genetické algoritmy Jedním z nejznámějších druhů evolučních algoritmů jsou Genetické Algoritmy (GA). Jejich historie sahá až do padesátých let, ale známější se staly až prací Johna Hollada [9]. Jde tedy zároveň o jednu z nejstarších variant. Jejich heuristiky jsou založené na Darwinově evoluční teorii. Její hlavní teze, přežití nejschopnějších, tvoří základ výpočetního modelu: pravděpodobnost že řešení bude prozkoumáno do větší hloubky je úměrná jeho kvalitě, vzhledem ke zbytku populace. Další inspirací je genetika, konkrétně mutace a rekombinace chromozómů. Ta je předobrazem modelu pro kódování a manipulace s daty. Genetické algoritmy se vyskytují v mnoha variantách, většina jich ale má některé rysy společné. Množina kandidátů na řešení (nazývaná populace) obvykle prochází mnoha iteracemi výpočtu. Během každé z nich jsou řešení ohodnocena, a na základě výsledků jsou vybráni kandidáti na vytvoření nové generace. Výběr je stochastický, ale pravděpodobnost výběru jedince zohledňuje jeho ohodnocení. Na tyto kandidáty jsou aplikovány genetické operátory rekombinace a mutace. Výsledek tvoří novou populaci. Takto vzniklá populace je opět ohodnocena, a proces pokračuje další iterací. Toto je nejjednodušší varianta, zvaná jednoduchý genetický algoritmus. Její popis je poněkud skoupý na detaily, jelikož GA jsou velice variabilní metoda a i když základní princip zůstává stejný, provedení jednotlivých kroků se mezi variantami liší. Selekce, genetické operátory, dokonce i kódování může být implementováno mnoha způsoby, a volba správné varianty má velký vliv na výkon algoritmu. Následující odstavce prozkoumají jednotlivé části více do detailu. Každý jedinec představuje potenciální řešení, kódované jako řetězec hodnot. Způsob kódování se podobá molekule DNA: simulovaný chromozom obsahuje řetězec symbolů, které kódují jednotlivé proměnné. Implementace jsou různé, každá proměnná je kódována jedním nebo několika symboly podle potřeby. Použité symboly se také různí: je možné potkat jak binární hodnoty, celá a desetinná čísla, tak i méně obvyklé varianty. Nejpoužívanější varianta je kódování binární. Ostatní varianty jsou využity typicky v případě, že jsou k dispozici znalosti o řešeném problému a je možné posoudit účinky takové volby. Při vhodné volbě kódování je možné například eliminovat nepřijatelná řešení, omezit šum nebo vedlejší účinky použitých genetických operátorů. Při správném použití je možné takto dosáhnout výrazně lepší efektivity na specifických problémech. Jak již bylo řečeno, výběr jedinců pro další zpracování probíhá stochasticky. Je založen na kombinaci ohodnocení a náhodné veličiny. Cíl je zde dvojí: jedinci 6

11 s vyšším ohodnocením by měli mít vyšší pravděpodobnost výběru, ale nová populace by měla zachovávat jistou míru diverzity, a tedy by neměla sestávat pouze z kopií nejlepšího jedince. Jelikož tyto dva záměry působí proti sobě, je nutné nalézt mezi nimi nějaký kompromis. Jednotlivé metody selekce nabízejí různý poměr mezi růstem fitness a diverzitou populace. Křížení (neboli rekombinace) je způsob, jak vytvořit nového jedince kombinací dvou jiných. Je založena na myšlence křížení biologického, a má stejný záměr - získat jedince, který bude v sobě kombinovat užitečné vlastnosti obou rodičů. Volba operátoru rekombinace má velký vliv na efektivitu algoritmu. V závislosti na použitém kódování mohou některé metody rekombinace produkovat nevalidní řešení, která budou následně zahozena, nebo mohou rozbíjet vlastnosti již přítomné v některém z rodičů. Záměrem je pokud možno omezit pravděpodobnost těchto jevů na minimum. Mutace je způsob, jak do vyhledávání vnést více náhodnosti. Je to též způsob, jak algoritmus může nacházet zcela nová řešení nebo uniknuot z lokálních minim. Většinou je prováděna vnesením náhodné změny do chromozomu, například změnou bitu nebo přičtením náhodného čísla. Taková změna ovšem většinou vede ke vzniku jedince, který je horší než originál. To je důvodem, proč mutace, i když nezbytná, je obvykle prováděna jen na několika málo jedincích z každé generace. GA mají oproti konvenčním výpočetním metodám některé výhody. Tou hlavní jsou nízké požadavky na zadání problému. K aplikaci genetického algoritmu je nezbytná pouze účelová funkce a reprezentace prostoru řešení (včetně genetických operátorů). Díky tomu jsou GA vhodnou volbou v případech, kdy bližší informace nejsou dostupné a specializované metody není možné použít. Další výhodou je inkrementálnost a možnost získat nějaké výsledky v libovolné fázi výpočtu (viz. 1). Genetické algoritmy jsou též snadno paralelizovatelné. Na jednu stranu se u nich projevuje implicitní paralelismus - schopnost populace n jedinců prohledávat prostor je přibližně srovnatelná s množinou n 3 nezávislých prvků. Zároveň většinu variant GA je možné spouštět paralelně. Samozřejmě jsou zde přítomné jisté nevýhody. Ve většině případů kdy je možné použít specializované metody (např. gradientní optimalizace) se ve srovnání genetické algoritmy ukazují jako znatelně pomalejší. GA také nejsou deterministické a výsledky se mezi jednotlivými běhy můžou dost lišit, a v některých případech dochází k uvíznutí v lokálních optimech (což je ale případ většiny optimalizačních metod). To je důvod, proč je často na jednom problému prováděno několik pokusů o řešení. Dalším důležitým faktorem je počáteční nastavení parametrů. GA jsou na tato nastavené citlivé, a špatná volba může výrazně snížit účinnost algoritmu nebo dokonce zabránit nalezení řešení. Volba parametrů musí 7

12 být dost často provedena empiricky. S takovým množstvím existujících variant se pojem genetický algoritmus jeví poněkud nepřesným. Když bude použit v této práci, označuje následující varianty: Kanonický GA je Jednoduchý genetický algoritmus, který používá nejběžnější, binární kódování. Funkce genetických operátorů je též nekomplikovaná: jednobodové křížení, které v náhodném bodě rozdělí oba chromozomy a vymění jejich části, a mutace, která s nízkou pravděpodobností změní hodnotu bitu v chromozomu. Teoretické práce (např. [8]) většinou pojednávají o této variantě. GA kódovaný reálnými čísly je varianta která používá jako chromozom vektor reálných čísel. Tomu jsou uzpůsobeny genetické operátory: mutace přidá náhodné číslo s normálním rozložením, a rekombinace je provedena interpolací. 1.2 Evoluční strategie Jestliže genetické algoritmy jsou jednou z nejstarších a nejznámějších variant evolučních algoritmů, pak evoluční strategie nezůstávají příliš pozadu. Jejich původ sahá do stejné doby - první varianty byly navrženy počátkem šedesátých let v pracích P. Bienerta, I. Rechenberga, a H.-P. Schwefela na Berlínské Technické Universitě ([3]). Obdobně jako v případě genetických algoritmů jsou i evoluční strategie stochastickou optimalizační metodou založenou na biologických heuristikách. Najdou se i další podobnosti s GA: iterativní zpracování, výpočetní cyklus, který probíhá až do splnění ukončovacích kritérií, i genetické operátory pomocí kterých je populace transformována. Přesto se evoluční strategie od genetických algoritmů významným způsobem odlišují. Vycházejí z odlišných biologických principů - zatímco genetické algoritmy jsou obdobou procesu rekombinace a mutace na chromozomech, evoluční strategie jsou inspirovány dynamikou populace skupin živočichů. Díky tomu je role jedinců v populaci chápána jinak a je s nimi nakládáno odlišně. Jedinci a zacházení s nimi je vnímáno spíše na úrovni fenotypu. Kódování bývá voleno tak, aby co nejpřirozeněji odpovídalo doméně problému a aby velikost změn v datech byla úměrná velikosti změn ve fitness jedince (To je rozdíl oproti genetickým algoritmům, kde většina operací probíhá na úrovni genotypu a fenotyp je použit pouze pro zjištění hodnoty fitness). Primárním genetickým operátorem ES je adaptivní mutace. Spočívá ve vytvoření nového jedince v okolí jeho rodiče tak, že rozdíl ve všech datových vekto- 8

13 rech je náhodný s normálním rozložením. Data jedince obsahují soubor parametrů (zvaných strategie), které určují rozptyl takto náhodně generovaných hodnot. Rozptyl v každém rozměru je určen zvláštním parametrem. Tyto parametry podléhají mutaci stejně jako zbytek dat jedince; variant implementace je několik, například Self-adaptace nebo Covariance Matrix Adaptation. Rekombinace má v evolučních strategiích menší význam než v genetických algoritmech, v některých variantách dokonce chybí úplně. Předpokládá se, že převážnou část změn budou do dat vnášet mutace, účel rekombinace se omezuje převážně na posilování užitečných vlastností rodičovských jedinců a omezování vlivu vlastností nevýhodných. I průběh celé iterace se liší. Jedinci určení jako rodiče pro vytvoření následující generace jsou vybíráni náhodně (nezávisle na jejich kvalitách), nebo jsou využiti všichni. Nově vytvořených jedinců je většinou několikanásobek potřebného množství, a mezi nimi teprve probíhá selekce. Ta je provedena deterministicky: potřebný počet jedinců s nejlepší fitness postoupí do další generace, ostatní jsou zahozeni. V některých variantách jsou rodiče zařazeni mezi kandidáty, aby se zabránilo zhoršení kvality populace a ztrátě dobrých řešení. Celkově vzato jsou evoluční strategie principem podobné metody jako genetické algoritmy a přesto, že vypadají podobně se v některých podstatných detailech liší. Prohledávají prostor řešení odlišným způsobem a jejich parametry je třeba nastavit odlišně, i když jde v zásadě o stejné parametry jako u genetických algoritmů (toto se týká zejména míry mutace a velikosti populace). 9

14 2. Řízení genetického algoritmu V předcházející kapitole byly popsány obecné vlastnosti evolučních algoritmů a jejich některých variant. V této budou rozebrány možnosti řízení genetického algoritmu prostřednictvím umělých neuronových sítí. 2.1 Možnosti řízení pomocí neuronové sítě K problému řízení genetického algoritmu prostřednictvím neuronové sítě je možné se postavit několika způsoby. Tato sekce shrnuje varianty, které byly zvažovány v úvodních fázích této práce Předzpracování a následné úpravy Neuronovou sít je možné použít k přípravě dat pro genetický algoritmus namísto standardní inicializace. Je tak možné přeskočit první fáze výpočtu a nechat algoritmus pracovat na datech, která už nejsou zcela náhodná. Je možné též nejprve nechat běžet genetický algoritmus a neuronovou sít použít na zpracování výsledných dat. V obou případech jde o platné a používané metody. Obě se ovšem běhu genetického algoritmu dotýkají pouze okrajově, a dle mínění autora nenaplňují zcela podstatu zadání této práce Ovlivňování parametrů algoritmu Běh genetického algoritmu je ovlivněn velkým množstvím parametrů. Standardně pracuje genetický algoritmus se stejnými parametry po celou dobu běhu, nicméně není nijak vyloučeno přizpůsobovat je aktuálnímu stavu algoritmu. Jednou z možností je nechat některé z těchto parametrů nastavovat prostřednictvím neuronové sítě. V tomto případě by neuronová sít pracovala s malou množinou proměnných. Působení tohoto druhu ovlivňuje algoritmus globálně, vždy bude zasažena celá populace Modulace fitness funkce Často používanou variantou je modulace fitness funkce. Výsledek ohodnocení každého jedince je přenásoben nějakou hodnotou. To umožňuje například uměle snížit vhodnost některých částí vstupního prostoru. 10

15 Nejznámější metodou tohoto druhu je Tabu Search[7]. Tato a další příbuzné metody fungují tak, že dříve prozkoumané části vstupního prostoru mají zhoršenou hodnotu účelové funkce. Je tak omezeno opakované prozkoumávání již známých oblastí a setrvávání v lokálních minimech. Novější prací obdobného druhu je například [2] Ovlivňování populace v průběhu výpočtu Další z možností je přímo ovlivňovat populaci genetického algoritmu. Může jít o použití komplikovanějších genetických operátorů, nebo o simultánní použití více různých metod při počítání následující generace. Praktická realizace této metody může mít více způsobů. Jednou z možností je řídit, na které z jedinců bude celý proces aplikován. Do této katergorie spadají algoritmy, které využívají více populací nebo rozdělení populace na několik podpopulací. Příkladem takového postupu je práce [12]. Jinou možností je použití modifikovaných genetických operátorů. Místo standardního křížení nebo mutace je možné využít operátory implementované neuronovou sítí, nebo využívající princip neuronové sítě. Příkladem druhé skupiny je práce [10]. Řízen zde není genetický algoritmus, nýbrž evoluční strategie. Křížení jako operace zde zcela odpadá, místo něj je použita operace, ketrá vychází z učicího pravidla samoorganizující mapy Náhradní model Jedním ze způsobů jak řídit běh genetického algoritmu je použití náhradního modelu (surrogate modelling). Jde o přístup, který se snaží omezit počet vyhodnocení účelové funkce. Tato metoda je založena na principu, podle kterého se na určování fitness vyhodnocování účelové funkce ve většině případů nepoužívá přímo účelová funkce, ale je použit nějaký způsob, jak hodnotu účelové funkce odhadnout. Většina hodnot je pak odhadnuta, a původní účelová funkce je použita pouze pro zlomek případů, nebo pokud je odhadovaná chyba příliš velká. Hodnoty účelové funkce získávané v průběhu výpočtu jsou zároveň použity pro zpřesnění modelu. Tento přístup je používán zejména v případě, že získání hodnot účelové funkce je příliš náročné, než aby mohlo být prováděno pro celou populaci. To je poměrně obvyklý případ v praxi, kdy zjistit kvalitu řešení vyžaduje empirické testování nebo časově náročné simulace. V těchto situacích použití náhradního modelu výrazně snižuje náklady a zjednodušuje tak celý proces. Nápad použít umělou neuronovou sít jako náhradní model není nikterak nový. V posledních letech bylo v tomto směru podniknuto několik pokusů. Některé, jako 11

16 například [1], řeší přímo otázku jejich využití jako náhradní model pro genetické algoritmy. Tato oblast výzkumu vypadá slibně, nicméně její základy se už zdají být dostatečně prozkoumány. Pokračovat tímto směrem by znamenalo navázat na nějakou z předchozích prací, zatímco prozkoumání některé z méně vyzkoušených variant se zdá lépe vyhovovat zadání práce. 2.2 Výběr varianty Jednou z obtíží při použití umělých neuronových sítí je nedostatek vhodných trénovacích dat. Tak je tomu i v tomto případě. Situaci navíc komplikuje fakt, že není jisté, jak by měl vypadat vzorek běhu genetického algoritmu, který bychom označili za prototyp úspěšného běhu. Tento problém je možné zcela obejít použitím nějaké varianty učení bez učitele (unsupervised learning). Tyto metody hledají ve vstupních datech nějaké zákonitosti, a nevyžadují k tomu zvenčí dodaný údaj, který by rozlišil správné a nesprávné případy. To je nevhodné pro způsoby řízení, které mají za cíl uvést algoritmus do nějakého konkrétního stavu, ale zůstává to možností pro způsoby řízení, které dokážou využít takovouto informaci. Po zvážení všech variant bylo zvoleno, že tato práce prozkoumá možnosti ovlivňování populace za běhu genetického algoritmu (viz ). Z typů neuronových sítí byla vybrána samoorganizující mapa. Důvodů pro to je několik. Jedním je, že problém se zdá vhodný pro výše zmíněné učení bez učitele. Faktorem je též předpokládaná nízká míra komplikací při použití. Samoorganizující mapa není příliš složitá, a navíc používá data v podobném formátu jako genetický algoritmus. To pravděpodobně usnadní následnou implementaci. Posledním důvodem je, že použití samoorganizujících map za tímto účelem je zatím méně prozkoumaná oblast. Samoorganizujícím mapám se věnuje následující kapitola. 12

17 3. Samoorganizující mapy Tato kapitola podrobněji představí samoorganizující mapy jako konkrétní variantu umělých neuronových sítí. Nejprve bude poskytnut teoretický přehled, a následně bude uvedeno několik odkazů na práce, které se snaží tyto sítě zkombinovat s evolučními algoritmy. Práce s nejvyšší relevancí bude následně rozebrána do větších detailů. 3.1 Stručná charakteristika Samoorganizující mapy (obvykle zkracované jako SOM) jsou druh umělé neuronové sítě, navržené Teuvo Kohonenem v [13]. Podle svého autora jsou též nazývány Kohonenovy mapy. Obdobně jako jiné varianty neuronových sítí i tyto vycházejí z biologického modelu. Předobrazem samoorganizujících map je senzorický kortex v mozku. SOM jsou používány k vytvoření aproximace diskrétního modelu dat na vstupu. Tento model, označovaný většinou jako mapa, mívá menší dimenzi než původní množina, díky čemuž je mnohem snazší ho zpracovat, at už strojově nebo člověkem. SOM s malým počtem neuronů fungují obdobně jako algoritmus K- means [14], větší navíc zachovávají do jisté míry topologii původní množiny. Díky tomu například body blízké v původní množině si budou blízké i ve vytvořené mapě. Tyto sítě používají metodu učení bez učitele, proto je možné je využít v úlohách jako automatická klasifikace, shlukování, detekce anomálií a obdobných, kde získat trénovací data je obtížné či nepraktické. Jejich praktické aplikace zahrnují též rozpoznávání obrazu, diagnostické a bezpečnostní systémy. Jiné aplikace využívají jejich schopnost vytvořit nízkodimenzionální representaci vysokodimenzionálních dat. Možná využití jsou dvojí: vizualizační nástroje, nebo předzpracování dat. Samoorganizující mapy mají následující architekturu: velké množství vstupních neuronů napojených na vnitřní vrstvu kompetitivních neuronů tak, že každý vstupní neuron je spojen s každým z vnitřních neuronů. Vnitřní vrstva je uspořádána do mřížky (obvykle dvoj- či trojdimenzionální), kde všechny sousedící neurony jsou navzájem propojeny (3.1). Tato architektura má jistou podobnost s jednovrstvými sítěmi s dopředným šířením, její funkce je však zcela odlišná. Učicí funkce pro samoorganizující mapy je varianta kompetitivního učení bez učitele. Postup je následující: vektory ze vstupní množiny jsou po jednom předkládány síti. Pro každý vektor d je nalezen neuron x, jehož vzdálenost od d je 13

18 Obrázek 3.1: Architektura samoorganizující mapy ve zvolené metrice nejmenší. Váhový vektor zvoleného neuronu je následně upraven tak, aby se nacházel ještě blíž předkládanému neuronu (3.1). Stejná změna je v menší míře aplikována na všechny sousední neurony (3.2). ( ) x N = x O + α d xo ( ) x N = x O + 1α d 2 xo (3.1) (3.2) Konstanta α v obou předchozích vzorcích představuje plasticitu sítě. Tato hodnota ovlivňuje míru změny v každém kroku algoritmu a tím i rychlost, s jakou se sít mění. Obvykle je zvolena podle druhu problému, jeho dimenze, atd. V průběhu výpočtu tato hodnota nezůstává stálá - obvykle je v počáteční fázi nastavena vysoko (spolu s velikostí sousedského okolí) a postupně je snižována, aby sít mohla zkonvergovat do stabilního stavu. 3.2 Kombinované přístupy V této sekci jsou uvedeny některé předcházející práce, které nějakým způsobem kombinují použití samoorganizujících map s nějakou formou evolučního algoritmu. Většina těchto prací se řešeného tématu týká jen okrajově a tedy nebude zmíněna do větší hloubky, nežli by odpovídalo jejich relevanci. 14

19 Práce [12] popisuje genetický algoritmus, který využívá samoorganizující mapy k výběru podpopulací. SOM je natrénována na populaci genetického algoritmu a následně využita k rozdělení populace do clusterů. Křížení následně probíhá pouze v rámci těchto clusterů, za účelem zrychlení výpočtu. V práci [18] autoři využívají samoorganizujících map k vizualizaci stavu genetického algoritmu. Využívají jejich schopnosti namapovat prostor s vyšším počtem dimenzí na ménědimenzionální prostor při zachování topologických vztahů. Článek [6] popisuje využití samoorganizujících map pro výběr modelu v procesu MultiLevel Optimization. Ve článku [10] autorka představila variantu evoluční strategie, silně inspirovanou samoorganizujícími mapami. SOM zde nejsou využity přímo nebo jako nějaká součást výpočtu. Místo toho je chování evoluční strategie pozměněno tak, že využívá podobných principů jako je učicí pravidlo samoorganizující mapy. Tento přístup je velmi blízký postupu použitému v této práci. Jelikož představuje jistou paralelu, bude v následující sekci popsán podrobněji. 3.3 Evoluční strategie s přitažlivostí sousedů V této sekci je popsána varianta evoluční strategie, která kombinuje principy ES s učícími pravidly, použitými v samoorganizujících mapách. Tato varianta byla navržena v [10] pod jménem Evolution strategy with Neighborhood Attraction. Pro stručnost bude dále označována jako EN. Oproti běžné evoluční strategii má tato mnohé odlišnosti. V prvé řadě je to populace - její prvky jsou uspořádány v mřížce, a interakce jsou omezené jen na prvky přímo sousedící. Jde o stejný druh uspořádání, jaký je používán v SOM. Na rozdíl od SOM a ES, počáteční hodnoty populace nejsou zcela náhodné. Inicializace probíhá tak, že vstupní prostor je rozdělen na množství stejně velkých hyperkvádrů, a každý z prvků počáteční populace je umístěn do jednoho z nich. Přesná hodnota je náhodná, s rovnoměrným rozložením. Takto je dosaženo toho, že prvky jsou rozmístěny v mřížce, která pokrývá vstupní prostor. Pozice v této mřížce zároveň určuje, které prvky spolu sousedí. Sousednost prvků zůstane zachována, nezávisle na tom jak se jejich pozice změní v průběhu výpočtu. Na místo běžné mutace používá EN speciální genetický operátor zvaný sousední přitažlivost(neighborhood attraction). Jde o variantu rekombinace, která vychází z učících pravidel SOM. Poté co je v každé iteraci populace vyhodnocena, pro každého jedince x P je vybrán soused s nejlepší hodnotou x N,b. Pokud má x P horší hodnotu fitness než soused, je posunut blíže k němu (3.3). Tento proces je čistě deterministický. 15

20 x O = x P + δ ( x N,b x P ) (3.3) Pokud má jedinec vyšší fitness než každý z jeho sousedů, výše zmíněná operace neproběhne a místo toho dojde k mutaci. V blízkosti jedince je vygenerováno L potomků, a ten s nejlepší fitness nahradí rodiče (vyjma případu, kdy by rodič měl lepší fitness než všichni potomci). Potomci vznikají v okolí rodiče s normálním rozložením, jehož rozptyl je dán vzdáleností k nejbližšímu sousedu v libovolné dimenzi. Tak je minimalizována pravděpodobnost zamotání sítě. v mut,l = N (0, 1) l = 1... λ d min = min { xp } x Nj j = 1... g s eff = 1 n d min x Oi = x P + s eff v mutt,i i = 1... n Výsledky z testů [11] ukazují, že tato varianta vykazuje znatelně vyšší robustnost než standardní evoluční strategie. Dosahovala optima s velkou pravděpodobností, a to i pro problémy specificky navržené jako obtížně optimalizovatelné [20]. Na těchto vybraných problémech podávala výkony srovnatelné nebo převyšující jiné varianty ES, jako MRS, CMA, nebo derandomizovaná selfadaptace. 16

21 4. Návrh algoritmu Tato kapitola popisuje navrhovaný algoritmus. Na začátku jsou shrnuty myšlenky ze kterých algoritmus vychází. Poté je do detailů rozebrán princip jeho fungování. Poslední sekce se zaobírá některými podrobnostmi implementace. 4.1 Motivace Sítě typu EN dosahují dobrých výsledků i na problémech, kde je optimalizace obtížná. Jejich konvergence je ovšem značně pomalejší než v případě GA, což znamená, že čas potřebný k získání výsledků je též delší. Pomalá konvergence je sice výhodná z hlediska stability a robustnosti, ale přesto by nějaký kompromis s rychlostí výpočtu mohl být na místě. Pokud by bylo možné zvýšit rychlost prohledávání prostoru řešení a zároveň zachovat nízkou rychlost konvergence, je možné že výsledný algoritmus by nacházel řešení rychleji a zároveň nebyl tak náchylný k pádu do lokálního optima. Prohledávací heuristiky GA jsou rychlejší a sítě EN by tedy mohly těžit z jejich schopnosti rychlejšího průzkumu prostoru řešení. Kombinace těchto dvou metod by mohla spojovat výhody obou, nebo alespoň představovat funkční kompromis. Na věc je možné také pohlížet z jiného úhlu: retenční schopnosti genetického algoritmu by mohly být zvýšeny přidáním pomalu konvergujících struktur. Tato změna by zároveň mohla zmenšit šance, že se algoritmus bude zasekávat v lokálních optimech nebo jiných problematických zónách (jako například údolí Rosenbrockovy funkce, viz ). 4.2 Princip algoritmu Základním principem algoritmu je souběžná aplikace dvou metod na stejná data. Tyto metody jsou samoorganizace (kompetitivní učení bez učitele, tak jak je použito v samoorganizujících mapách) a simulovaná evoluce (střídání selekce, rekombinace a mutace známé z GA). Problémem je, že tato druhá metoda provádí v datech mnohem větší změny, až do té míry, že většina dat je nahrazena novými jejichž vztah k datům předchozí iterace je nevýznamný. Bez nějaké modifikace by efekty samoorganizace byly zcela zastíněny touto evolucí. Dalším problémem je, že samoorganizace vyžaduje poněkud odlišné formátování dat. Obě metody pracují s množinou bodů ze vstupního prostoru, ale při samoorganizaci jsou tyto body uspořádány do mřížky, nejčastěji dvojrozměrné. Evoluce používá neuspořádanou množinu, a navíc většinu z ní v každé iteraci 17

22 proměňuje. To poněkud komplikuje udržování datových struktur pro samoorganizaci. Zvoleným řešením je rozdělit data do dvou částí, každá vhodná specificky pro jednu z metod. Jedna je uspořádaná do mřížky pro SOM, tato část je nazvána strukturovaná; ta druhá, určená pro evoluci, je bez struktury (volná). Během každé iterace algoritmu jsou u obou spočteny nové generace, a následně jsou data každé z částí přidána ke vstupům pro tu druhou. Toto umožňuje tok dat mezi oběma částmi, a zároveň zajišt uje, že vliv dat z obou částí zůstane na podobné úrovni a nestane se, že by jedna z částí byla výrazně dominantní. Obě části nyní popíšu podrobněji. Strukturovaná část je tvořena množinou bodů ze vstupního prostoru, seřazených do mřížky tím způsobem, aby topologie mřížky odpovídala topologii vstupního prostoru. Jinak řečeno, body které sousedí v mřížce se nacházejí v blízkých oblastech vstupního prostoru. Jde o stejné uspořádání, jaké používají samoorganizující mapy. Zde podobnost nekončí - tato struktura projde učením podobně, jako samoorganizující mapa. V každé iteraci algoritmu jí budou předkládána trénovací data a následně budou zpracována pomocí kompetitivního učení bez učitele. Oproti běžné samoorganizující mapě ovšem nedochází k postupnému snižování plasticity - cílem není dosáhnout nějakého určitého tvaru, ale průběžně se přizpůsobovat situaci. Volná část je pouze neuspořádaná množina bodů vstupního prostoru, bez jakékoli struktury. Musí být ve vhodném formátu pro použití genetického algoritmu, nicméně to je zajištěno zvolením vhodné reprezentace dat - použitá varianta GA zachází s vektory reálných čísel. Díky tomu je takováto neuspořádaná množina vhodnou populací pro genetický algoritmus a může být použita k výpočtu další generace (jak se v technologii GA nazývá výsledek jedné iterace). Výpočet na obou částech probíhá střídavě. Během každé iterace projdou obě části updatem a výsledná data jsou přidána ke vstupním datům druhé části pro následující iteraci. Nejprve jsou váhové vektory samoorganizující mapy ve strukturované části vyextrahovány na neuspořádanou množinu, která je přidána k volné části (obě dvě používají stejný formát dat). Následně je z nich vytvořena nová generace skrze aplikaci genetického algoritmu. Tato nová generace je použita jako trénovací data pro strukturovanou část; zároveň odpovídající počet prvků nahradí obsah nestrukturované části. Tímto způsobem je dosaženo toho, že nově vytvoření jedinci se s velkou pravděpodobností nalézají v blízkosti uzlů samoorganizující mapy. Genetický algoritmus prohledává blízké okolí oblasti obsáhlé SOM a směřuje jí k oblastem s nejlepší hodnotou fitness v tomto okolí. Naproti tomu samoorganizující mapa zajišt uje jistou míru retence, jelikož data v ní obsažená neprocházejí takovou fluktuací jako populace genetického algoritmu. To by mělo pomoci udržení 18

23 diverzity populace a zároveň zajistit důkladnější prohledání oblastí vstupního prostoru, které byly vyhodnoceny jako slibné. Retence zajišt ovaná samoorganizující mapou navíc umožňuje, aby genetický algoritmus používal parametry více zaměřené na prozkoumávání (jako například vyšší pravděpodobnost křížení a mutace); předpokladem je, že stabilita SOM bude působit jako protiváha těchto chaotických vlivů. 4.3 Detaily implementace Tato sekce v hrubých obrysech popisuje implementaci prototypu algoritmu. Zápis v pseudokódu je na výpisu 1. Podrobnější informace je možné nalézt v příloze B. Kód implementace se nalézá na přiloženém médiu v souboru /program/somga.m Algorithm 1 Genetický algoritmus se samoorganizujícími mapami S inicializuj samoorganizující mapu U vytvoř náhodnou populaci while not stopping do P S U P 2 vytvoř novou generaci aplikací genetického algoritmu na populaci P. S Předlož množinu P 2 samoorganizující mapě S jako trénovací data U P 2 end while return best(u) Specifikace problému Popisovaný algoritmus řeší optimalizační problém, zadaný stejným způsobem jako úloha pro genetické algoritmy. Konkrétně, zadání úlohy sestává z účelové funkce, dimenze a vstupního prostoru. Jako vstupní prostor může sloužit libovolná lineárně omezená podmnožina R n, nejčastěji jde o hyperkvádr. Ostatní vstupní parametry ovlivňují činnost SOM a GA zakomponovaných do algoritmu. Jde o běžné parametry vyžadované těmito výpočetními metodami: pro GA jsou to funkce pro selekci, křížení a mutaci, pravděpodobnost mutace, míra elitismu a velikost populace; u SOM je nutné určit rozměry sítě a plasticitu Inicializace a preprocessing Obě poloviny dat jsou inicializovány zvlášt. Volná část je vygenerována náhodně pomocí standardních metod Matlabu pro inicializaci populace pro GA. Způsob inicializace strukturované části závisí na tom, jaká omezení jsou na vstupní prostor kladena. V případě že jde o hyperkvádr, je možné použít jed- 19

24 nodušší metodu. Vstupní prostor je rozdělen na množství stejně velkých hyperkvádrů, a každý z prvků strukturované části je umístěn do jednoho z nich, tak aby se sousední prvky nacházely v sousedních hyperkvádrech. Jedná se o stejnou metodu, jaká je použita k inicializaci sítě s přitažlivostí sousedů (viz. sekce 3.3). V případě že jsou na algoritmus kladena složitější lineární omezení, je použita složitější varianta. Strukturovaná část je po několik iterací trénována na náhodných datech, vybraných z takto vymezeného prostoru. Díky tomu rovnoměrně pokryje vstupní prostor a přitom bude dodržovat lineární omezen, která jsou součástí zadání. Tento krok je v zásadě natrénování SOM na náhodná data ze vstupního prostoru Iterace V každém kroku algoritmu jsou postupně provedeny následující kroky: Nová populace P je vytvořena sloučením dat ze strukturované a volné části populace. Použity jsou pouze samotné hodnoty, uspořádání strukturované části je v tomto kroku ignorováno. Na populaci P je proveden jeden krok genetického algoritmu. To zahrnuje kroky ohodnocení, selekce, rekombinace a mutace, čímž dojde ke vzniku nové populace P 2. Nově vzniklá populace P 2 je využita jako množina trénovacích dat pro strukturovanou část. Prvky jsou předkládány v náhodném pořadí. Je použito kompetitivní učení, stejné jako se používá k učení SOM 1. Upravená strukturovaná část je připravená na další iteraci. Volná část je vytvořena výběrem potřebného počtu prvků z populace P Ukončení algoritmu Zadání úlohy může obsahovat několik různých podmínek pro ukončení výpočtu. Sledována je dosažená hodnota fitness, počet generací, uběhlý čas, a počet iterací od poslední změny nejlepší nalezené hodnoty. V případě že je dosažena libovolná z určených podmínek, běh algoritmu je zastaven a výsledky poslední iterace jsou odeslány na výstup. 1 Tak jak je popsáno v sekci

25 5. Experimentální ověření vlastností prototypové implementace Tato kapitola popisuje experimenty provedené za účelem zjištění výkonnosti algoritmu. Prototypová implementace, popsaná v předcházející kapitole, je srovnávána s dvěma dalšími algoritmy v sérii testů, které mají za úkol ukázat rozdíly ve spolehlivosti, účinnosti a škálovatelnosti. V následující sekci jsou představeny algoritmy, které se účastní srovnání. Dále následuje popis měřených kritérií a jejich významu. Následně jsou popsány benchmarkové funkce, na kterých je pokusná optimalizace prováděna. V dalších sekcích jsou vlastní výsledky testů. Nejprve jsou algoritmy srovnány na benchmarkových funkcích ve dvou rozměrech, následuje test pro vyšší dimenze těchto funkcí. Závěr kapitoly tvoří test na funkci, která je modelována podle úlohy z praxe. 5.1 Srovnávané algoritmy V kapitole 4 byl popsán návrh algoritmu, kombinujícího genetický algoritmus se samoorganizující mapou. Jeho implementace byla popsána tamtéž. Ve zbytku této kapitoly bude tato implementace pro jednoduchost označována SGA. V testech, které budou následovat, bude SGA srovnávána s následujícími dvěma algoritmy: Prvním je standardní Matlabovská implementace genetického algoritmu s chromozómem kódovaným reálnými čísly. Vzhledem k tomu, že algoritmus SGA je varianta genetického algoritmu, bylo vhodné provést srovnání s nějakou jinou variantou. Tato byla zvolena ze dvou důvodů: jedním je podobnost s algoritmem SGA, díky které je možné považovat ji za základní variantu, ze které vychází. Druhým je dostupnost; s touto variantou pravděpodobně přišel do styku každý, kdo je alespoň lehce obeznámen s toolboxem GOT v Matlabu. Tento algoritmus bude označován jako GA. Jako druhý algoritmus pro srovnání byl zvolen optimalizační algoritmus, který taktéž vychází ze samoorganizující mapy, a který je též jednou z inspirací pro tuto práci. Jde o sít se sousedskou přitažlivostí, tak jak byla navržena v článku [10]. Podrobnější popis se nachází v sekci 3.1. Použita je vlastní implementace, která vychází přímo z výše zmíněného článku. 21

26 Pro tento algoritmus budu používat označení EN. 5.2 Testované veličiny Robustnost Spolehlivost s jakou je algoritmus schopen dosáhnout optima se nazývá robustnost. Tuto veličinu je možné vyjádřit dvěma způsoby: procentní podíl běhů, kdy algoritmus dosáhl předem stanovené hodnoty přesnosti, nebo hodnoty zobrazující jak blízko se jednotlivé běhy dostaly k optimu. První způsob bude používán při srovnávání více algoritmů, druhý v případě že bude žádoucí podat co nejúplnější informace o konkrétním testu. Diverzita populace Diverzita je pomocná veličina, která ukazuje jak moc se od sebe jednotlivé prvky populace liší. Je počítána jako průměrné vzdálenost od těžiště populace [16]. i=n j=p D = (x ij c i ) 2 kde (5.1) c i = i=1 j=1 j=p j=1 x ij P Definice této veličiny je vyjádřena vzorcem (5.1). Proměnná N zde představuje dimenzi prostoru, a P velikost populace. Tato hodnota je závislá na velikosti populace a vstupního prostoru, není tedy vhodná pro porovnání výsledků na různých úlohách. Tato práce bude proto porovnávat pouze vývoj diverzity různých algoritmů na společné úloze a se stejnou velikostí populace. Diverzita není důležitá přímo, ale algoritmy, které používají rekombinaci, jsou na ní závislé. Se snižující se diverzitou klesá jejich efektivita, a zvyšuje se pravděpodobnost, že uváznou v lokálním optimu. S tím jak algoritmus konverguje k řešení dochází přirozeně k poklesu diverzity. Důležité je, aby k tomu nedocházelo příliš brzy v průběhu výpočtu. Proto je u této veličiny sledován vývoj s postupem výpočtu spíše než nějaké konečné hodnoty. Rychlost konvergence Tato veličina měří účinnost algoritmu, neboli to jak rychle je schopen nalézt řešení. Je několik způsobů jak rychlost měřit, a většina z nich je závislá i na 22

27 dalších faktorech, jako výkon a velikost populace. Ve snaze tyto vlivy odstínit bude sledována pouze nejlepší dosažená hodnota v závislosti na množství provedených vyhodnocení fitness funkce. Tak bude možné ve srovnání zanedbat nejen výkon stroje, ale i velikost populace. Aby bylo možné přehledně zachytit výsledky z velkého množství běhů v jednom grafu, hodnoty byly zformátovány následovně: na osu x je vynesen počet vyhodnocení účelové funkce. Pro každou takovou hodnotu je ukázáno, jak blízko se který algoritmus přiblížil optimu jako průměr přes všechny běhy s vyznačenou standardní odchylkou. Je možné se tázat, zdali je rychlá konvergence ve všech případech pozitivní jev, zejména když v předchozí sekci bylo na předčasnou konvergenci upozorňováno. Na to lze říci, že problematické případy se projeví právě zhoršenými výsledky v ostatních sledovaných parametrech i v celkových dosažených výsledcích. Můžeme tedy říci, že s touto výhradou je možné rychlou konvergenci považovat za žádoucí výsledek. 5.3 Testovací funkce Benchmark K testování byla použita benchmarková sada funkcí [20]. Tyto funkce zahrnují různé druhy problémů, které představují komplikace při optimalizaci. Zaměřena je hlavně na funkce více proměnných, nebo na ty které obsahují mnoho lokálních optim - tedy funkce, které snadno zmatou genetický algoritmus a u kterých by zvýšená robustnost mohla představovat podstatné zlepšení. Použity byly následující funkce: Koule - jde o velmi jednoduchou funkci, která je navíc separovatelná, tedy je možné každou z jejích proměnných optimalizovat nezávisle. Tuto funkci je velmi snadné optimalizovat. Důvodem jejího použití je poskytnout základ pro srovnání a ukázat chování algoritmu na snadných úlohách. Stupňovitá funkce - Její graf připomíná schodiště rozšířené do příslušného počtu rozměrů. Optimalizovat jí gradientním algoritmem je problematické, protože skoro ve všech svých bodech má derivaci 0. Metody které gradient nevyužívají však tento problém nijak neovlivní. Zobecněná Rosenbrockova funkce - neseparovatelná funkce. Její graf ukazuje údolí zvolna se svažující k jedné straně. Velmi nízký sklon a proměnlivý směr tohoto údolí způsobují, že optimalizace funkce probíhá v malých krocích a vyžaduje mnoho iterací. Standardní Rosenbrockova funkce je definována pouze ve dvou dimenzích. 23

28 Koule f(x) = Stupně f(x) = N i=1 x 2 i N x i i=1 N 1 Rosenbrock f(x) = (100(x 2 i x i+1 ) 2 + (1 x i ) 2 ) i=1 Rastrigin f(x) = (10 N) + Schwefel f(x) = N i=1 Griewangk f(x) = 1 + N (x 2 i 10 cos(2πx i )) i=1 [ ( )] x i sin xi N i=1 x 2 N i i=1 ( cos x i / ) i Tabulka 5.1: Benchmarkové funkce Zobecněná varianta je její rozšíření pro libovolně vysokou dimenzi vstupu. Rastriginova funkce - Tato funkce vychází z Koule, ale přidává modulaci funkcí cos(x). Díky tomu obsahuje nekonečně mnoho lokálních optim (Toto platí je-li zadefinována na celém definičním oboru. Pokud je zadefinována na intervalu, je početlokálních minim omezen). Schwefelova funkce - Tato funkce je klamná, jelikož její globální optimum se nachází daleko od obdobných optim lokálních. Griewangkova funkce - obdoba Rastriginovy funkce, ale ve větším měřítku Úloha z praxe Testování optimalizačních metod na reálných úlohách bývá problematické. Výsledky účelové funkce totiž musí být získávány empiricky, což je časově i finančně nákladné. Z těchto důvodů je provedení takového testu pro účely diplomové práce poněkud nepraktické. Proto byla použita náhradní varianta. V oboru kombinatorické chemie jsou na testování optimalizačních metod používány funkce, modelované podle výsledků předchozích experimentů. Tím je možné tyto metody zkoušet na datech jejichž získání je levné a která se složitostí i chováním podobají reálným úlohám. V práci [19] byla představena funkce Valero. Její definici ukazuje rovnice (5.2). Jde o pětirozměrnou funkci, která je modelována podle výsledků hledání vícesložkových katalyzátorů. Test navrhovaného algoritmu bude proveden na ní. 24

29 Obrázek 5.1: Sada testovacích funkcí 25

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

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

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

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)

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

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

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně Aplikace UNS v biomedicíně aplikace v medicíně postup při zpracování úloh Aplikace UNS v medicíně Důvod: nalezení exaktnějších, levnějších a snadnějších metod určování diagnóz pro lékaře nalezení šetrnějších

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

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

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

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

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

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

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

Více

Jak se matematika poučila v biologii

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

Více

11. Tabu prohledávání

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

Více

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky Pokročilé heuristiky jednoduchá heuristika asymetrické stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy pokročilá heuristika symetrické stavový prostor, který vyžaduje řízení 1 2 Paměť pouze

Více

OPTIMALIZACE. (přehled metod)

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

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

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

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. 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

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

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

1. Statistická analýza dat Jak vznikají informace Rozložení dat

1. Statistická analýza dat Jak vznikají informace Rozložení dat 1. Statistická analýza dat Jak vznikají informace Rozložení dat J. Jarkovský, L. Dušek, S. Littnerová, J. Kalina Význam statistické analýzy dat Sběr a vyhodnocování dat je způsobem k uchopení a pochopení

Více

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

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

Více

1. Úvod do genetických algoritmů (GA)

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

Více

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

ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík,, CSc. NEURONOVÉ SÍTĚ otázky a odpovědi 1 AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net i, tedy na tom, zda bude suma

Více

Algoritmy pro shlukování prostorových dat

Algoritmy pro shlukování prostorových dat Algoritmy pro shlukování prostorových dat Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 21. 26. leden 2018 Rybník - Hostouň

Více

NG C Implementace plně rekurentní

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

Více

OSA. maximalizace minimalizace 1/22

OSA. maximalizace minimalizace 1/22 OSA Systémová analýza metodika používaná k navrhování a racionalizaci systémů v podmínkách neurčitosti vyšší stupeň operační analýzy Operační analýza (výzkum) soubor metod umožňující řešit rozhodovací,

Více

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

Využití metod strojového učení v bioinformatice David Hoksza Využití metod strojového učení v bioinformatice David Hoksza SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita v Praze Bioinformatika Biologické inspirace

Více

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

Rozdělování dat do trénovacích a testovacích množin Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném

Více

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

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é

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

Algoritmy a struktury neuropočítačů ASN P3

Algoritmy a struktury neuropočítačů ASN P3 Algoritmy a struktury neuropočítačů ASN P3 SOM algoritmus s učitelem i bez učitele U-matice Vektorová kvantizace Samoorganizující se mapy ( Self-Organizing Maps ) PROČ? Základní myšlenka: analogie s činností

Více

Numerické metody a programování. Lekce 8

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í:

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

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

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ù...

Více

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Zpětnovazební učení Michaela Walterová Jednoocí slepým, Zpětnovazební učení Michaela Walterová Jednoocí slepým, 17. 4. 2019 V minulých dílech jste viděli Tři paradigmata strojového učení: 1) Učení s učitelem (supervised learning) Trénovací data: vstup a požadovaný

Více

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

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í

Více

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 Úvodní poznámky... 11 1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 1.1 Základní pojmy... 15 1.2 Aplikační oblasti a etapy zpracování signálů... 17 1.3 Klasifikace diskretních

Více

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 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á

Více

Modelování a simulace Lukáš Otte

Modelování a simulace Lukáš Otte Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast

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

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

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

Úvodem Dříve les než stromy 3 Operace s maticemi Obsah 1 Úvodem 13 2 Dříve les než stromy 17 2.1 Nejednoznačnost terminologie 17 2.2 Volba metody analýzy dat 23 2.3 Přehled vybraných vícerozměrných metod 25 2.3.1 Metoda hlavních komponent 26 2.3.2 Faktorová

Více

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

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.

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

Počítačový model plazmatu. Vojtěch Hrubý listopad 2007

Počítačový model plazmatu. Vojtěch Hrubý listopad 2007 Počítačový model plazmatu Vojtěch Hrubý listopad 2007 Situace Zajímá nás, co se děje v okolí kovové sondy ponořené do plazmatu. Na válcovou sondu přivedeme napětí U Očekáváme, že se okolo sondy vytvoří

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

Markov Chain Monte Carlo. Jan Kracík.

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),

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,

Více

Úvod do zpracování signálů

Úvod do zpracování signálů 1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování

Více

A0M33EOA: Evoluční optimalizační algoritmy

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

Více

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti ZÁKLADNÍ STATISTICKÉ POJMY HROMADNÝ JEV Statistika pracuje s tzv. HROMADNÝMI JEVY cílem statistického zpracování dat je podání informace o vlastnostech a zákonitostech hromadných jevů: velkého počtu jedinců

Více

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

Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005 Rozpoznávání písmen Jiří Šejnoha Rudolf Kadlec (c) 2005 Osnova Motivace Popis problému Povaha dat Neuronová síť Architektura Výsledky Zhodnocení a závěr Popis problému Jedná se o praktický problém, kdy

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

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

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

Algoritmy pro spojitou optimalizaci

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

Více

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/ Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/07.0354 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Populační genetika (KBB/PG)

Více

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW)

Zada ní 1. Semina rní pra ce z pr edme tu Matematický software (KI/MSW) Zada ní. Semina rní pra ce z pr edme tu Matematický software (KI/MSW) Datum zadání: 5.. 06 Podmínky vypracování: - Seminární práce se skládá z programové části (kódy v Matlabu) a textové části (protokol

Více

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

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í

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

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

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů

Více

5. Umělé neuronové sítě. neuronové sítě. Umělé Ondřej Valenta, Václav Matoušek. 5-1 Umělá inteligence a rozpoznávání, LS 2015

5. Umělé neuronové sítě. neuronové sítě. Umělé Ondřej Valenta, Václav Matoušek. 5-1 Umělá inteligence a rozpoznávání, LS 2015 Umělé neuronové sítě 5. 4. 205 _ 5- 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

Detekce interakčních sil v proudu vozidel

Detekce interakčních sil v proudu vozidel Detekce interakčních sil v proudu vozidel (ANEB OBECNĚJŠÍ POHLED NA POJEM VZDÁLENOSTI V MATEMATICE) Doc. Mgr. Milan Krbálek, Ph.D. Katedra matematiky Fakulta jaderná a fyzikálně inženýrská České vysoké

Více

Využití neuronové sítě pro identifikaci realného systému

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

Více

Studie webů automobilek

Studie webů automobilek Studie webů automobilek červen 2006 [manažerské shrnutí] Obsah Obsah... 1 Manažerské shrnutí... 2 Kvalita obsahu a použitelnost webu... 3 Základní nedostatky negativně ovlivňují použitelnost většiny webů...

Více

analýzy dat v oboru Matematická biologie

analýzy dat v oboru Matematická biologie INSTITUT BIOSTATISTIKY A ANALÝZ Lékařská a Přírodovědecká fakulta, Masarykova univerzita Komplexní přístup k výuce analýzy dat v oboru Matematická biologie Tomáš Pavlík, Daniel Schwarz, Jiří Jarkovský,

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í Bayesovské modely Doc. RNDr. Iveta Mrázová, CSc.

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

Popis zobrazení pomocí fuzzy logiky

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

Více

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

Strojové učení se zaměřením na vliv vstupních dat Strojové učení se zaměřením na vliv vstupních dat Irina Perfilieva, Petr Hurtík, Marek Vajgl Centre of excellence IT4Innovations Division of the University of Ostrava Institute for Research and Applications

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

Dyson s Coulomb gas on a circle and intermediate eigenvalue statistics

Dyson s Coulomb gas on a circle and intermediate eigenvalue statistics Dyson s Coulomb gas on a circle and intermediate eigenvalue statistics Rainer Scharf, Félix M. Izrailev, 1990 rešerše: Pavla Cimrová, 28. 2. 2012 1 Náhodné matice Náhodné matice v současnosti nacházejí

Více

Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky v Brně

Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky v Brně Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky Algoritmy řízení topného článku tepelného hmotnostního průtokoměru Autor práce: Vedoucí

Více

Genetické programování

Genetické programování Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace

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

OPTIMALIZACE CHEMICKÝCH STUPŇOVÝCH PROCESŮ POMOCÍ MATLAB SYMBOLIC MATH TOOLBOXU. Vladimír Hanta

OPTIMALIZACE CHEMICKÝCH STUPŇOVÝCH PROCESŮ POMOCÍ MATLAB SYMBOLIC MATH TOOLBOXU. Vladimír Hanta OPTIMALIZACE CHEMICKÝCH STUPŇOVÝCH PROCESŮ POMOCÍ MATLAB SYMBOLIC MATH TOOLBOXU Vladimír Hanta Vysoká škola chemicko-technologická Praha, Ústav počítačové a řídicí techniky Při modelování a simulaci chemicko-inženýrských

Více

Statistické vyhodnocení průzkumu funkční gramotnosti žáků 4. ročníku ZŠ

Statistické vyhodnocení průzkumu funkční gramotnosti žáků 4. ročníku ZŠ Statistické vyhodnocení průzkumu funkční gramotnosti žáků 4. ročníku ZŠ Ing. Dana Trávníčková, PaedDr. Jana Isteníková Funkční gramotnost je používání čtení a psaní v životních situacích. Nejde jen o elementární

Více

Gramatická evoluce a softwarový projekt AGE

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ů

Více

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek UNIVERZITA PARDUBICE Licenční Studium Archimedes Statistické zpracování dat a informatika 4.4 Aproximace křivek a vyhlazování křivek Mgr. Jana Kubátová Endokrinologický ústav V Praze, leden 2012 Obsah

Více

Multirobotická kooperativní inspekce

Multirobotická kooperativní inspekce Multirobotická kooperativní inspekce prostředí Diplomová práce Multirobotická kooperativní inspekce prostředí Diplomová práce Intelligent and Mobile Robotics Group Laboratory for Intelligent Decision Making

Více

Odhad stavu matematického modelu křižovatek

Odhad stavu matematického modelu křižovatek Odhad stavu matematického modelu křižovatek Miroslav Šimandl, Miroslav Flídr a Jindřich Duník Katedra kybernetiky & Výzkumné centrum Data-Algoritmy-Rozhodování Fakulta aplikovaných věd Západočeská univerzita

Více

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? 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

Více

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

Více

VYUŽITÍ FUZZY MODELŮ PŘI HODNOCENÍ OBTÍŽNOSTI CYKLOTRAS

VYUŽITÍ FUZZY MODELŮ PŘI HODNOCENÍ OBTÍŽNOSTI CYKLOTRAS VYUŽITÍ FUZZY MODELŮ PŘI HODNOCENÍ OBTÍŽNOSTI CYKLOTRAS ArcGIS ModelBuilder, Python Pavel Kolisko Cíle motivace zastaralost, neúplnost a nepřesnost dat obtížnosti cyklotras na portálu cykloturistiky JMK

Více

Numerická stabilita algoritmů

Numerická stabilita algoritmů Numerická stabilita algoritmů Petr Tichý 9. října 2013 1 Numerická stabilita algoritmů Pravidla v konečné aritmetice Pro počítání v konečné aritmetice počítače platí určitá pravidla, která jsou důležitá

Více

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

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

Více

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

Pravděpodobně skoro správné. PAC učení 1 Pravděpodobně skoro správné (PAC) učení PAC učení 1 Výpočetní teorie strojového učení Věta o ošklivém kačátku. Nechť E je klasifikovaná trénovací množina pro koncept K, který tvoří podmnožinu konečného

Více

Datové struktury 2: Rozptylovací tabulky

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

Více

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1 Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1 Efektivita optimalizačních metod Robustní metoda Efektivita Specializovaná metoda Enumerace nebo MC kombinatorický

Více

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 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

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

Seminář z umělé inteligence. Otakar Trunda

Seminář z umělé inteligence. Otakar Trunda Seminář z umělé inteligence Otakar Trunda Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup:

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod

Více

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte

Více

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

Neuronové sítě Ladislav Horký Karel Břinda Neuronové sítě Ladislav Horký Karel Břinda Obsah Úvod, historie Modely neuronu, aktivační funkce Topologie sítí Principy učení Konkrétní typy sítí s ukázkami v prostředí Wolfram Mathematica Praktické aplikace

Více

Stanovení nejistot při výpočtu kontaminace zasaženého území

Stanovení nejistot při výpočtu kontaminace zasaženého území Stanovení nejistot při výpočtu kontaminace zasaženého území Michal Balatka Abstrakt Hodnocení ekologického rizika kontaminovaných území představuje komplexní úlohu, která vyžaduje celou řadu vstupních

Více