5. prednáška Genetické programovanie (GP)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
NÁZOV ČIASTKOVEJ ÚLOHY:
Advertisements

Prístroje na detekciu žiarenia
Spoľahlivosť stavebných konštrukcií
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Univerzálny darvinizmus a teória evolučných systémov
Financovanie originálnych školských kompetencií a neštátnych ZUŠ, MŠ, JŠ a školských zariadení v roku 2011.
Vlnenie Kód ITMS projektu:
Elektrický odpor Kód ITMS projektu:
Spoľahlivosť existujúcich mostných konštrukcií
OPAKOVANIE.
PPMS - Physical Property Measurement System Quantum Design
Programovanie CNC V modernej dobe vzrastá zložitosť produkovaných výrobkov a z toho vyplívajú nároky na presnosť a spoľahlivosť jednotlivých dielov. Pre.
Medzinárodná sústava jednotiek SI
Zariadenia FACTS a ich použitie v elektrických sieťach
Materiál spracovali študenti 3.I triedy v rámci ročníkového projektu
Mechanická práca na naklonenej rovine
Teplota a teplo.
Sily pôsobiace na telesá v kvapalinách
LICHOBEŽNÍK 8. ročník.
Autor: Štefánia Puškášová
STEREOMETRIA REZY TELIES
Kotvené pažiace konštrukcie
Fyzika-Optika Monika Budinská 1.G.
Digitálne spracovanie obrazu
Prístroje na detekciu žiarenia
OHMOV ZÁKON, ELEKTRICKÝ ODPOR VODIČA
ANALÝZA ROZPTYLU.
prof.Ing. Zlata Sojková,CSc.
ANALYTICKÁ GEOMETRIA.
Formálne jazyky a prekladače
Príklad na pravidlový fuzzy systém
ŠTRUKTÚRA ATÓMOV A IÓNOV (Chémia pre 1. roč. gymn. s.40-53; -2-
Školiteľ: doc. RNDr. Andrej Boháč, PhD.
Programové vyhlásenie fyziky
Ročník: ôsmy Typ školy: základná škola Autorka: Mgr. Katarína Kurucová
Prístroje na detekciu žiarenia
TRIGONOMETRIA Mgr. Jozef Vozár.
RTG difrakcia Ing. Patrik Novák.
ClCH2CH2Cl CF2=CF2 CCl4 CHI3 CCl2F2 CH2=CClCH=CH2 CHCl3 CH3Cl CH2=CHCl
Rozpoznávanie obrazcov a spracovanie obrazu
Mechanické kmitanie (kmitavý pohyb) je periodický pohyb, pri ktorom teleso pravidelne prechádza rovnovážnou polohou. Mechanický oscilátor je zariadenie,
Návrh plošných základov v odvodnených podmienkach Cvičenie č.4
Pilótové základy Cvičenie č. 10.
Základné princípy radiačnej ochrany
Pohyb hmotného bodu po kružnici
Prizmatický efekt šošoviek
Stupne efektívnosti nákladov na výrobu
Dostredivá sila Ak sa častica pohybuje po zakrivenej dráhe, má dostredivé zrýchlenie a teda naň musí pôsobiť dostredivá sila kde
Mechanické vlnenie Barbora Kováčová 3.G.
Aplikácia bioizostérie pri vývoji liečiv
Rovnoramenný trojuholník
Téma: Trenie Meno: František Karasz Trieda: 1.G.
Konštrukcia trojuholníka pomocou výšky
CHEMICKÁ VäZBA.
Úvod do pravdepodobnosti
Termodynamika korózie Oxidácia kovu Elektródový potenciál
Atómové jadro.
Rovnice priamky a roviny v priestore
Alternatívne zdroje energie
EKONOMICKÝ RAST A STABILITA
Dotazník.
Meranie indukcie MP Zeme na strednej škole
Elektronická tachymetria
Finančné časové rady – modely ARCH a GARCH.
Umelá inteligencia 1 Strojové učenie
Striedavý prúd a napätie
Osobnosť.
Matematika pre prvý semester Mechaniky
Analýza koeficientu citlivosti v ESO
Kapitola K2 Plochy.
Μεταγράφημα παρουσίασης:

5. prednáška Genetické programovanie (GP) Na prelome 80-tých a 90-tých rokov americký informatik John Koza [1,2] (Stanford University) navrhol originálnu modifikáciu genetického algoritmu, ktorú nazval genetické programovanie. V tomto prístupe sú chromozómy – znakové reťazce nahradené zložitejšími štruktúrami – funkciami. Nech A={(xi,yi); i=1,2,...,p} je tréningová množina obsahujúca p bodov (xi,yi). Naším cieľom je nájsť takú funkciu t(x) (reprezentovanú syntaktickým stromom), ktorá minimalizuje rozdiel (jeho kvadrát alebo absolútnu hodnotu) vypočítaných a zadaných hodnôt y z tréningovej množiny. Priesvitka 1

Symbolická regresia (Koza, optimalizuje sa tvar modelovej funkcie) Dva typy regresií Parametrická regresia (modelová funkcia je fixná, optimalizujú sa len jej parametre) Symbolická regresia (Koza, optimalizuje sa tvar modelovej funkcie) Symbolická regresia je len jedna možná interpretácia genetického programovania. Iný pohľad na genetické programovanie je chápanie funkcie t(x) ako "programu" pre správanie sa nejakého objektu (agenta - robota) v prostredí. Priesvitka 2

Koreňové stromy Nech G=(V,E) je strom (súvislý acyklický graf [3]), kde V={v1,v2,...,vp} je neprázdna vrcholová množina a E={e1,e2,...,eq} je hranová množina, Ak jeden vrchol v strome je odlíšený od ostatných vrcholov, potom strom sa nazýva koreňový strom a odlíšený vrchol sa nazýva koreň. Priesvitka 3

Koreňový strom je formálne určený ako usporiadaná trojica Valentnosť val(v) je nezáporné celé číslo, ktoré určuje počet hrán incidentných s vrcholom v. Koreňový strom je formálne určený ako usporiadaná trojica Nech τi je množina obsahujúca všetky možné koreňové stromy, ktoré sú zložené i vrcholov Priesvitka 4

Nech koreňový strom z τ je ohodnotený reálnym číslom Priesvitka 5

Funkcia t ohodnotí každý koreňový strom reálnym číslom, ktoré vyjadruje v určitom priblížení “topológiu“ koreňového stromu. Požadovaná hodnota indexu nech je označená treg , potom môžeme definovať účelovú funkciu Nulová hodnota účelovej funkcie odpovedá globálnemu minimu nad priestorom všetkých možných koreňových stromov, Koreňový strom Topt odpovedá takému koreňovému stromu, ktorý minimalizuje účelovú funkciu nad celým priestorom koreňových stromov T. Priesvitka 6

Readov lineárny kód Readov kód je často používaná v teórií grafov pre konštruktívnu enumeráciu stromových štruktúr. Readov kód code (T) je reťazec (sekvencia) celých čísel Ktoré sú priradené buď valencii koreňa alebo valencii zníženej o jednotku pre ostatné vrcholy Priesvitka 7

Veta. Nutné a postačujúce podmienky k tomu, aby postupnosť nezáporných celých čísel bola grafová (t.j. existuje koreňový strom s rovnakým kódom) sú Priesvitka 8

Mutácia Readovho kódu Priesvitka 9

Kríženie Readovho kódu Priesvitka 10

Symbolická regresia Symbolická regresia patrí medzi základné aplikácie genetického programovania. Ako už bolo spomenuté v úvodnej kapitole 5.1, symbolická regresia spočíva v hľadaní takej funkcie reprezentovanej syntaktickým stromom s predpísanými operáciami, ktorá čo najlepšie aproximuje údaje z tréningovej množiny. Syntaktický strom t je koreňový strom T, ktorého vrcholy sú ohodnotené symbolmi aritmetických (alebo iných) operácií a celý strom môže byť ohodnotený reálnym číslom reprezentujúcim hodnotu funkcie, ktorá je priradená stromu pre danú vstupnú hodnotu nezávislej premennej (alebo nezávislých premenných). Priesvitka 11

Klasifikácia vrcholov syntaktického stromu Terminálne vrcholy, tieto vrcholy odpovedajú buď nezávislým premenným x,y,... Nezáporným celočíselným konštantám 0,1,2,... . Funkcionálne vrcholy odpovedajú jednoduchým operáciam, ktoré sú unárne, binárne, ternárne,... . Priesvitka 12

Formálne môžeme syntaktický strom vyjadriť ako usporiadanú dvojicu Kde T je koreňový strom určujúci štruktúru syntaktického stromu t a Φ je zobrazenie vrcholov koreňového stromu na “aritmetické“ symboly, premenné, alebo konštanty Klasifikácia funkcionálnych vrcholov na unárne (A), binárne (B) a terciárne (C) Priesvitka 13

Readov kód syntaktického stromu Každému syntaktickému stromu t priradíme funkciu t(x,y,...,), kde x,y,... sú nezávislé premenné nasledujúcim rekurzívnym spôsobom Readov kód syntaktického stromu Kde ɸi je ohodnotenie i-teho vertexu buď funkcionálnym alebo terminálovým symbolom. Priesvitka 14

Tréningová množina obsahuje n bodov (regresnú tabuľku) Cieľom štandardne regresnej analýzy je nájsť také optimálne parametre modelovej funkcie G(x;w), kde w sú parametre funkcie G, také, že nasledujúca účelová funkcia je minimalizovaná Táto funkcia má minimum v bode Hovoríme, že adaptovaná funkcia G(x,wopt) modeluje tréningovú množinu Atrain. Priesvitka 15

Pričom táto účelová funkcia má minimum v “bode“ Symbolická regresia hľadá v množine T takú funkciu, že nasledujúca účelová funkcia (funkcionál) je minimalizovaná Pričom táto účelová funkcia má minimum v “bode“ Symbolická regresia je hlavným cieľom Kozovho genetického programovania s reštrikciou, že povolené funkcie sú len tie, ktoré môžu byť reprezentované syntaktickým stromom obsahujúcim povolené funkcionálne a terminálové vrhcoly. Riešenie minimalizačného problému sa realizuje pomocou genetického algoritmu. Stochastické operácie mutácie a kríženia sú definované podobným spôsobom ako pre koreňové stromy. Priesvitka 16

Mutácia Mutáciou sa funkcia t(x) priradená pôvodnému stromu zamenila za novú funkciu t'(x). Priesvitka 17

Kríženie Krížením dva stromy t1 a t2 sú transformované na dva nové stromy t1´ a t2´. Priesvitka 18

Rekonštrukcia stromov s požadovanou vlastnosťou Vlastnosti stromov sú popísané topologickými indexami. Wienerov topologický index Kde sumácia obsahuje všetky rôzne dvojice vrcholov a symbol dij je vzdialenosť medzi i-tým a j-tým vrcholom v grafe G. Priesvitka 19

Randičov topologický index kde sumácia obsahuje všetky hrany Priesvitka 20

Úloha rekonštrukcie spočíva v tom, že hľadáme v množine prípustných stromov τ taký strom G, ktorého vlastnosť t(G) je blízka požadovanej vlastnosti treq. Optimálny strom, ktorého vlastnosť minimalizuje funkcionál E(G) je určený ako riešenie nasledujúceho minimalizačného problému Riešenie tohto optimalizačného problému sa realizuje pomocou genetického algoritmu nad populáciou stromov, ktoré sú kódované pomocou Readovho lineárneho kódu a operácie mutácie a kríženia sa vykonávajú spôsobom popísaným nižšie. Priesvitka 21

Kódovanie funkcií pomocou acyklických orientovaných grafov Alternatívny prístup ku kódovaniu funkcií pomocou acyklických orientovaných grafov, ktoré môžu byť chápané ako zovšeobecnenie koreňových stromov. Orientovaný graf (hrany grafu sú orientované) G=(V,E), kde V={v1,v2,...,vp} je neprázdna množina vrcholov a E={e1,e2,...,eq} je množina hrán. Orientovaný graf sa nazýva acyklický vtedy, ak neexistuje orientovaná cyklická cesta obsahujúca postupnosť rovnako orientovaných hrán. Priesvitka 22

Nech orientovaný graf G je indexovaný, matica susednosti je určená takto Priesvitka 23

Vstupné vrcholy, tieto vrcholy susedia len s vychádzajúcimi hraniami. Veta. Orientovaný graf G=(V,E) je acyklický vtedy a len vtedy, ak jeho vrcholy môžu byť kanonicky indexované tak, že platí Vrcholy kanonicky indexovaného grafu môžu byť rozdelené na tri disjunktné množiny: Vstupné vrcholy, tieto vrcholy susedia len s vychádzajúcimi hraniami. Prechodové vrcholy, tieto vrcholy súčasne susedia s vychádzajúcou ako aj s vchádzajúcou hranou. Výstupné vrcholy, tieto vrcholy susedia len s vchádzajúcimi hraniami. Kanonicky indexovaný orientovaný acyklický graf, ktorý má jeden výstupný vrchol, sa nazýva syntaktický graf. Priesvitka 24

Každý prechodný alebo výstupný vrchol je ohodnotený reálnym číslom, ktoré je určené ako hodnota funkcie priradenej vrcholu, argumenty tejto funkcie sú funkčné hodnoty vrcholov spojené s uvažovaným vrcholom. Priesvitka 25

Kódovanie syntaktických grafov Ilustračný príklad kódovania syntaktického grafu pomocou stĺpcovej tabuľky. Syntaktický graf G je kódovaný maticou susednosti A, táto matica je v ďalšom kroku “kondenzovaná“ do tvaru stĺpcovej tabuľky Tculumn. Priesvitka 26

Syntaktický graf G určený stĺpcovou tabuľkou Tcolumn umožňuje jednoduchý rekurentný výpočet funkčnej hodnoty výstupného vrcholu. Priesvitka 27

Ilustračný príklad výpočtu funkčných hodnôt syntaktického grafu G ktorého jednotlivé vrcholy sú ohodnotené algebraickými operáciami. Stĺpcová tabuľka T v tomto prípade je rozšírená o nový 0-tý stĺpec, ktorý špecifikuje funkcie priradené jednotlivým vrcholom. Výsledné ohodnotenie syntaktického grafu je funkčná hodnota výstupného vrcholu (2a-cx) (a-cx) . Priesvitka 28

Mutácia Mutuje sa 0-tý element riadku, ktorý popisuje typ funkcie. Mutuje sa 1-vý element riadku popisujúci vstupnú valenciu odpovedajúceho vrcholu. Mutujú sa elementy riadku, ktoré popisujú predchodcu vrcholu. Priesvitka 29

Kríženie Kríženie dvoch tabuliek T1 a T2 je stochastická transformácia, ktorá vytvára dve nové tabuľky T1´ a T2´. Priesvitka 30

Ilustračný príklad symbolickej regresie Racionálny polynóm Budeme predpokladať, že množiny povolených vrcholov majú toto zloženie: terminálne vrcholy {celé kladné čísla a premenná x}, unárny vrchol {zmena znamienka}, binárne vrcholy {súčet, rozdieľ, súčin a podieľ}. Genetický algoritmus obsahoval populáciu 200 chromozómov (stĺpcových tabuliek, pričom pmax=15 a vinmax=2). Regresná tabuľka bola generovaná pomocou racionálnej funkcie f(x)=(1+x-x2)/(1+x+x2) pre 40 ekvidistančných hodnôt premennej xε[-10,10], pre Δx=0,5. Priesvitka 31

Vybrané grafy z priebehu genetického algoritmu sú znázornené na obrázku. Posledný graf na tomto obrázku odpovedá funkcii ((1/x+1)-x)/((1/x+1)+x), ktorá po jednoduchých úpravách poskytuje pôvodnú funkciu použitú pre generovanie regresívnej tabuľky. Priesvitka 32