7 Soft computing. 7.1 Bayesovské sítě

Podobné dokumenty
5.5 Evoluční algoritmy

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

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

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

Vytěžování znalostí z dat

Bayesovská klasifikace

Umělé neuronové sítě

Usuzování za neurčitosti

2. RBF neuronové sítě

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

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

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

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

Pokročilé operace s obrazem

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

Úvod do optimalizace, metody hladké optimalizace

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

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

Popis zobrazení pomocí fuzzy logiky

PV021: Neuronové sítě. Tomáš Brázdil

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

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

Státnice odborné č. 20

Rosenblattův perceptron

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

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

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

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

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

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

OSA. maximalizace minimalizace 1/22

Ústav teorie informace a automatizace. J. Vomlel (ÚTIA AV ČR) Úvod do bayesovských sítí 30/10/ / 28

Lineární klasifikátory

Zpracování neurčitosti

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

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ


Jak se matematika poučila v biologii

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

Algoritmy a struktury neuropočítačů ASN P3

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

Neuronové sítě v DPZ

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

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

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

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

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

5.6 Bayesovská klasifikace

GIS Geografické informační systémy

NEURONOVÉ SÍTĚ A EVOLUČNÍ ALGORITMY NEURAL NETWORKS AND EVOLUTIONARY ALGORITHMS

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

Základy umělé inteligence

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

Umělá inteligence a rozpoznávání

CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4.

H. Dreyfuss: What computers can t do, 1972 What computers still can t do, J. Weizenbaum. Computer power and human reason, 1976

Markov Chain Monte Carlo. Jan Kracík.

SIGNÁLY A LINEÁRNÍ SYSTÉMY

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

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

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

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

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

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

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

Algoritmy pro shlukování prostorových dat

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

GIS Geografické informační systémy

Obr. 1 Biologický neuron

Genetické programování

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

7. Rozdělení pravděpodobnosti ve statistice

Aplikovaná numerická matematika

Dynamické programování

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

cv3.tex. Vzorec pro úplnou pravděpodobnost

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

Fuzzy regulátory Mamdaniho a Takagi-Sugenova typu. Návrh fuzzy regulátorů: F-I-A-D v regulátorech Mamdaniho typu. Fuzzifikace. Inference. Viz. obr.

Vícerozměrná rozdělení

Vybrané přístupy řešení neurčitosti

oddělení Inteligentní Datové Analýzy (IDA)

Jsou inspirovány poznatky o neuronech a nervových sítích živých organizmů a jejich schopnostmi:

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

NG C Implementace plně rekurentní

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

3. Podmíněná pravděpodobnost a Bayesův vzorec

12 Metody snižování barevného prostoru

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

ANALÝZA A KLASIFIKACE DAT

Metody analýzy dat I. Míry a metriky - pokračování

Biologicky inspirované výpočty. Schématické rozdělení problematiky a výuky

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

NÁHODNÝ VEKTOR. 4. cvičení

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

GENETICKÝ NÁVRH KLASIFIKÁTORU S VYUŽITÍM NEURONOVÝCH SÍTÍ NEURAL NETWORKS CLASSIFIER DESIGN USING GENETIC ALGORITHM

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

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

Pravděpodobnost a její vlastnosti

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

Transkript:

7 Soft computing Jak již bylo řečeno v předcházející kapitole, zpracování neurčitosti v umělé inteligenci je zastřešeno souhrnným označením soft computing. V této kapitole se podíváme na základní přístupy některých sem řazených metod: neuronových sítí a genetických algoritmů. Připomeneme si i bayesovské sítě a fuzzy přístupy, které jsme již poznali v předcházející kapitole. 7.1 Bayesovské sítě Bayesovská síť je acyklický orientovaný graf zachycující pomocí hran pravděpodobnostní závislosti mezi náhodnými veličinami. Ke každému uzlu u (náhodné veličině) je přiřazena pravděpodobnostní distribuce tvaru P(u rodiče(u)), kde rodiče(u) jsou uzly, ze kterých vycházejí hrany do uzlu u. Uspořádejme (a očíslujme) všechny uzly sítě tak, že rodiče jsou před svými dětmi (mají nižší pořadové číslo). Potom pro každý uzel u i platí, že je podmíněně nezávislý na všech uzlech s nižším pořadovým číslem s výjimkou svých rodičů podmíněno svými rodiči 1 : ui {uk}k1,,i-1\ rodiče(ui) rodiče(ui). To umožňuje spočítat sdruženou pravděpodobnostní distribuci celé sítě jako n P(u1,.,un) P(ui rodiče(ui)) i1 Má-li tedy bayesovská síť podobu uvedenou na Obr. 1 2, bude mít sdružená distribuce tvar P(Z,K,D,M) P(Z) P(K Z) P(D Z) P(M K,D) Obr. 1 Příklad bayesovské sítě 1 Jiná formulace říká, že při daných rodičích, dětech a dětech rodičů je uzel podmíněně nezávislý na všech ostatních uzlech sítě. 2 Příklad je převzat z (Murphy, 2000). 1

K výpočtu této distribuce tedy potřebujeme znát čtyři dílčí podmíněné pravděpodobnostní distribuce. V případě diskrétních veličin to jsou tabulky podmíněných pravděpodobností, tak jak je uvedeno v Tab. 1. Tab. 1 Podmíněné pravděpodobnosti uzlů 7.1.1 Inference Bayesovská síť se používá pro pravděpodobnostní odvozování (inferenci). Známe-li strukturu sítě (Obr. 1) a podmíněné pravděpodobnostní distribuce přiřazené k jednotlivým uzlům (Tab. 1), můžeme spočítat aposteriorní pravděpodobnost libovolného uzlu. Řekněme, že pozorujeme, že je mokro, a zajímá nás, co je příčinou. Budeme tedy provádět diagnostickou inferenci, někdy též nazývanou zdola nahoru (od projevů nějakého jevu k jeho příčinám). Podle Bayesova vzorce a za použití faktorizace sdružené distribuce spočítáme P(K1 M1) P(K1,M1) P(M1) z,dp(zz,k1,dd,m1) P(M1) z,d (P(Zz) P(K1 Zz) P(Dd Zz) P(M1 K1,Dd)) P(M1) 0.2781 P(M1) P(D1 M1) P(D1,M1) P(M1) z,kp(zz,kk,d1,m1) P(M1) z,k (P(Zz) P(Kk Zz) P(D1 Zz) P(M1 Kk,D1)) P(M1) 0.4581 P(M1) kde P(M1) z,k,d (P(Zz) P(Kk Zz) P(Dd Zz) P(M1 Kk,Dd)) 0.6471 3 Maximální aposteriorní pravděpodobnost má tedy příčina déšť; P(D1 M1) > P(K1 M1). Z naší sítě můžeme rovněž spočítat pravděpodobnost toho, že bude mokro, pokud vidíme, že je zataženo. V tomto případě se jedná o kauzální inferenci, kdy postupujeme shora dolů (od příčin k důsledkům). P(M1 Z1) P(M1,Z1) P(Z1) k,dp(z1,kk,dd,m1) P(Z1) 3 Pro nalezení hypotézy s maximální aposteriorní pravděpodobností tuto hodnotu vlastně nepotřebujeme. 2

P(Z1) k,d (P(Kk Z1) P(Dd Z1) P(M1 Kk,Dd)) P(Z1) 0.7452 Přisuzovat kauzální interpretaci bayesovské síti je však značně ošidné. Zatímco kauzální vztahy (známe-li je) můžeme použít pro konstrukci bayesovské sítě, ne každá hrana v bayesovské síti musí mít kauzální interpretaci. Někdy se může jednat o pouhé korelace dvou jevů. 7.2 Posibilistické sítě Posibilistická síť je acyklický orientovaný graf zachycující pomocí hran posibilistické závislosti mezi jednotlivými jevy (uzly sítě). Obr. 2 Podmíněné posibility uzlů 7.2.1 Inference Posibilistická síť se používá pro posibilistické odvozování (inferenci). Známe-li strukturu sítě (Obr. 1) a podmíněné posibilistické distribuce přiřazené k jednotlivým uzlům (hodnoty se nemusí nasčítávat do 1 viz Obr. 2), můžeme spočítat aposteriorní posibilitu libovolného uzlu. Řekněme, že pozorujeme, že je mokro, a zajímá nás, co je příčinou. Budeme tedy provádět diagnostickou inferenci, někdy též nazývanou zdola nahoru (od projevů nějakého jevu k jeho příčinám). Π (K1 M1) Π (K1,M1) maxz,d Π (Zz,K1,Dd,M1) Π (M1) Π (M1) maxz,d (Π (Zz) Π (K1 Zz) Π (Dd Zz) Π (M1 K1,Dd)) Π (M1) 0.2250 Π (M1) Π (D1 M1) Π (D1,M1) maxz,k Π (Zz,Kk,D1,M1) Π (M1) Π (M1) maxz,k (Π (Zz) Π (Kk Zz) Π (D1 Zz) Π (M1 Kk,D1)) Π (M1) kde 0.4050 Π (M1) Π(M1) maxz,k,d (Π (Zz) Π (Kk Zz) Π (Dd Zz) Π (M1 Kk,Dd)) 0.4050, tedy Π (K1 M1) 0.5556 a Π (D1 M1) 1. 3

7.1 Neuronové sítě Lidský mozek je složen asi z 10 10 nervových buněk (neuronů) které jsou mezi sebou navzájem propojeny ještě řádově vyšším počtem vazeb [Novák a kol.,1992]. Začněme tedy nejdříve jedním neuronem. Na Obr. 3 je ukázka typického neuronu, který je tvořen tělem (soma) ze kterého vybíhá řada (desítky až stovky) kratších výběžků (dendrity) a jeden dlouhý výběžek (axon). Zatímco tělo neuronu je veliké řádově mikrometry a dendrity několik milimetrů, axon může dosahovat délky desítek centimetrů až jednoho metru. Axon každého neuronu je zakončen tzv. synapsí (typicky jedinou, ale může jich být i několik), která dosedá na jiný neuron. Přes synapse se přenášejí vzruchy mezi neurony; v důsledku chemických reakcí se v místě, kde synapse dosedá na neuron mění propustnost buněčné membrány neuronu, tím se lokálně mění koncentrace kladných i záporných iontů vně a uvnitř buňky a tedy i membránový potenciál. Některé synaptické vazby mají charakter excitační (zvyšují membránový potenciál), jiné mají charakter inhibiční (snižují membránový potenciál). Dílčí účinky synaptických vazeb se na neuronu kumulují a ve chvíli, kdy celkový membránový potenciál přesáhne určitý práh, neuron je aktivován a přes svoji synapsi začne působit na další neurony, se kterými je spojen. Obr. 3 Biologický neuron Neuron tedy, zjednodušeně řečeno, přijímá kladné a záporné podněty od jiných neuronů a ve chvíli, kdy souhrn těchto podnětů překročí daný práh, sám se aktivuje. Výstupní hodnota neuronu je obvykle nějakou nelineární transformací souhrnu podnětů. Neuronová síť je pak síť vzájemně propojující jednotlivé neurony. 7.1.1 Obecná definice Def (Nauck, Klawonn, Kruse, 1997): Neuronová síť je n-tice (U, W, A, O, net, ex), kde 1. U je konečná množina výpočetních jednotek (neuronů), 2. W je struktura sítě, tedy zobrazení z U U do R (vazby mezi neurony), 3. A je zobrazení definující aktivační funkci A u : R R pro každou jednotku u, 4. O je zobrazení definující výstupní funkci O u : R R pro každou jednotku u, 5. net je zobrazení, definující vstupní funkci (přenosovou funkci) I u : (R R) U R pro každou jednotku u, 6. ex je externí vstupní funkce ex: U R, která každé jednotce u přiřadí externí vstup jakožto reálnou hodnotu ex U ex(u) R. 4

7.1.1.1 Aktivní dynamika Aktivní dynamika specifikuje, jakým způsobem se mění v čase stav sítě při pevné topologii a pevném nastavení vah. Informace, přivedená na vstupy neuronové sítě se (s využitím aktivačních resp. výstupních funkcí) transformuje na výstupy ze sítě. 7.1.1.2 Adaptivní dynamika Adaptivní dynamika specifikuje, jakým způsobem se mění váhy neuronové sítě v čase. Tyto váhy se mění na základě předložených příkladů [xi, y i ] tak, aby systém co nejsprávněji zpracovával (např. klasifikoval) i neznámé příklady x k. Tomuto procesu se obvykle říká učení neuronové sítě. 7.1.2 Příklady neuronových sítí 7.1.2.1 Vícevrstvý perceptron Vrstevná síť (vícevrstvý perceptron, multi-layer perceptron) je síť složená z vrstev neuronů, kde v rámci jedné vrstvy nejsou mezi neurony žádné vazby, ale neuron z jedné vrstvy je propojen se všemi neurony vrstvy sousední. Nejpoužívanější topologií je síť s jednou skrytou vrstvou (Obr. 4). Jedná se o zobecnění jednoduchého perceptronu (případně adaptivního lineárního neuronu), které má schopnost aproximovat libovolnou spojitou funkci. Obr. 4 Vícevrstvý perceptron 5

Nejpoužívanějším typem je třívrstvá síť, kterou lze definovat jako n-tici (U, W, A, O, net, ex), kde 1. U U 1 U 2 U 3, kde U i U j U 1 se obvykle nazývá vstupní vrstva (U I ), U 2 se obvykle nazývá skrytá vrstva (U H ) a U 3 se obvykle nazývá výstupní vrstva (U O ) 2. (u U i W(u,v) 0) v U j, kde j > i neurony z jedné vrstvy jsou spojeny pouze s neurony v následující vrstvě 3. Hodnoty aktivační funkce jsou a u ex(u) pro u U I a u f(net u ) pro u U H U O kde 1 sigmoidální funkce f(net) 1 + e - net ; v tomto případě výstup neuronu ŷ nabývá hodnot z intervalu [0, 1] (Obr. 5), hyperbolický tangens f(net) tanh(net) ; v tomto případě výstup neuronu ŷ nabývá hodnot z intervalu [-1, 1] (Obr. 6). 4. Hodnoty výstupní funkce jsou o u a u pro u U 5. Hodnoty přenosové funkce jsou net W ( u, v) + θ pro v U i, i > 1 v o u u U i 1 6. Hodnoty externí vstupní funkce jsou v ex U pro u U I Obr. 5 Sigmoida Obr. 6 Hyperbolický tangens 6

7.1.2.2 RBF síť RBF síť je třívrstvá síť, podobná svou topologií vícevrstvému perceptronu. Hlavní rozdíl je v aktivačních funkcích jednotlivých neuronů. Vstupní vrstva pouze přenáší vstupní hodnoty. Skrytá vrstva obsahuje tzv. RBF jednotky realizující radiální bázové funkce příkladem může být nebo 1 h(net) exp ( x c) 2 2σ h(net) 2 1 2 x c σ + d (viz Obr. 7), Výstupní vrstva je lineární. Tedy, dle obecné definice neuronové sítě: 1. U U 1 U 2 U 3, kde U i U j 2. (u U i W(u,v) 0) v U j, kde j > i 3. Hodnoty aktivační funkce jsou a u ex(u) pro u U I a u h(net u ) pro u U H a u net u pro u U O 4. Hodnoty výstupní funkce jsou o u a u pro u U 5. Hodnoty přenosové funkce jsou net v o w v, kde o (o u1, o u2,,o un ) je vektor výstupů ze vstupní vrstvy a w v (W(u 1,v), W(u 2,v),, W(u n,v)) je váhový vektor neuronu v - pro v U H net W ( u, v) v o u u U i 1 6. Hodnoty externí vstupní funkce jsou + θ pro v U O v 2 ex U pro u U I Obr. 7 RBF 7

7.1.2.3 Rozdíl mezi perceptronem a RBF sítí Činnost perceptronu má jednoduchou geometrickou interpretaci. Jednotlivé vstupní podněty x 1,x 2,...,x m mohou představovat hodnoty vstupních atributů nějakého objektu (např. teplota, výška, váha...). Každý objekt lze pak reprezentovat jako bod x x 1,x 2,...,x m v m-rozměrném prostoru. Bod x leží v jedné ze dvou částí prostoru oddělených od sebe rozdělující nadrovinou. Body ležící v jedné části prostoru můžeme považovat za obrazy objektů patřících do téže třídy. Perceptron lze tedy považovat za (globální) lineární klasifikátor objektů do dvou tříd. RBF síť naproti tomu v prostoru atributů vymezuje oblasti bodů blízkých bodu určeného parametry výstupních neuronů. Tato síť tedy provádí lokální klasifikaci na základě vzdálenosti. Schematicky je tato skutečnost znázorněna na Obr. 8. Další rozdíl spočívá ve vhodnosti použití daného typu sítě na různé podoby tříd, do kterých mají být příklady klasifikovány. Pro lineárně separabilní třídy je vhodnější použít perceptron (Obr. 9 vlevo nahoře), pro popis tříd eliptického tvaru je vhodnější síť RBF (Obr. 9 vpravo dole). Obr. 8 Globální vs. lokální klasifikace (Nauck, Klawonn, Kruse 1997) Obr. 9 Vhodnost perceptronu vs. RBF sítě (Nauck, Klawonn, Kruse 1997) 8

7.1.2.4 Kohonenova síť Kohonenova síť (self-organizing map, SOM) je síť tvořená dvěma vrstvami; vstupní vrstvou a vrstvou neuronů uspořádaných do čtvercové matice (Kohonenovy mřížky) navzájem spojených neuronů. Vstupní vrstva je propojena na každý neuron v mřížce (Obr. 10). V kroku klasifikace probíhá kompetice mezi neurony. Podle zásady vítěz bere všechno je aktivován (výstup ŷ 1) pouze ten neuron, který má váhy co nejblíže vstupnímu příkladu x. Tato síť tedy provádí shlukování vstupních příkladů. Z hlediska obecné definice neuronové sítě zde: 1. U U I U O, kde U I U O 2. (u U I W(u,v) 0) v U O 3. Hodnoty aktivační funkce jsou a u ex(u) pro u U I a u net u pro u U O 4. Hodnoty výstupní funkce jsou o u a u pro u U 5. Hodnoty přenosové funkce jsou net v o w v, kde o (o u1, o u2,,o un ) je vektor výstupů ze vstupní vrstvy a w v (W(u 1,v), W(u 2,v),, W(u n,v)) je váhový vektor neuronu v - pro v U O 6. Hodnoty externí vstupní funkce jsou ex U pro u U I Obr. 10 Kohonenova síť 9

7.3 Genetické algoritmy U zrodu genetických algoritmů stál v 60. letech J. Holland [Holland, 1962]. Jeho myšlenkou bylo použít evoluční principy, založené na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Základní podoba genetického algoritmu tak, jak ji uvádí Mitchell [Mitchell, 1997] je na Obr. 11. Algoritmus začíná pracovat s nějakou výchozí, náhodně zvolenou populací, kterou postupně modifikuje (zdokonaluje). Genetická výbava jedinců z jedné populace může přecházet do následující populace přímo, jen drobně modifikovaná, nebo prostřednictvím potomků. Snahou algoritmu je přitom přenést z jedné populace do druhé jen to nejlepší. Jedinci v populaci představují potenciální řešení nějaké úlohy, kritériem hodnocení jedinců v populaci je tedy kvalita tohoto řešení vyjádřená pomocí funkce fit (fitness function). Činnost algoritmu končí po splnění nějaké podmínky. Tou nejčastěji bývá dosažení předem zadaného maxima pro funkci fit, může to ale být i vyčerpání maximálního času (počtu generací). Operacemi, které vedou k vytvoření nové populace jsou výběr (selekce), mutace a křížení. Konkrétní podoba těchto operací hodně závisí na způsobu reprezentování jedinců (podobě jejich chromozomů). V nejjednodušším případě můžeme chromozom chápat jako řetězec složený ze symbolů 0 a 1 (genů), budeme rovněž předpokládat, že všechny řetězce mají stejnou délku. Genetický algoritmus(fit,n,k,m) Inicializace 1. přiřaď t: 0 (počítadlo generací) 2. náhodně vytvoř populaci P(t) velikosti N 3. urči hodnoty funkce fit pro každého jedince h v P(t) Hlavní cyklus 1. dokud není splněna podmínka pro zastavení 1.1. proveď selekci: 1.1.1. vyber z P(t) jedince kteří se přímo přenesou do P(t+1) 1.2. proveď křížení: 1.2.1. vyber z P(t) dvojice jedinců určených k reprodukci 1.2.2. aplikuj na každou dvojici operaci křížení 1.2.3. zařaď potomky do P(t+1) 1.3. proveď mutaci: 1.3.1. vyber z P(t+1) jedince určené k mutaci 1.3.2. aplikuj na každého jedince operaci mutace 1.4. přiřaď t: t + 1 (nová populace má opět velikost N) 1.5. spočítej pro každé h P(t) hodnotu fit(h) 2. vrať jedince h s nejvyšší hodnotu fit(h) Obr. 11 Základní podoba genetického algoritmu 10

Selekce jedince h se provádí na základě hodnoty funkce fit(h). V literatuře se uvádějí různé možnosti: ruletové kolo pravděpodobnost, že bude vybrán jedinec h je úměrná poměru pořadová selekce fit(h) i fit(h i), nejprve jsou jedinci v populaci uspořádáni podle hodnoty fit, selekce se pak provádí na základě pravděpodobnosti, která je úměrná pořadí jedince v tomto uspořádání, turnajová selekce nejprve se náhodně vyberou dva jedinci, s předefinovanou pravděpodobností p se pak vybere jedinec s vyšší hodnotou fit, s pravděpodobností 1-p se vybere jedinec s nižší hodnotou fit. Operátor křížení (crossover) vytváří ze dvou rodičů dva potomky. V nejjednodušším případě se provádí tzv. jednobodové křížení (single-point crossover). Při jednobodovém křížení zdědí každý potomek počátek chromozomu (řetězce bitů) od jednoho rodiče a zbytek řetězce od druhého rodiče. Bod křížení je pokaždé volen náhodně (Obr. 12). Složitější variantou je dvoubodové křížení, kdy se chromozomy rozdělí na tři části, každý potomek pak zdědí prostředek řetězce od jednoho rodiče a okraje od druhého rodiče (Obr. 13). 11101001 00010010 11100010 000110010 Obr. 12 Jednobodové křížení 11101001 00010010 11100010 00011001 Obr. 13 Dvoubodové křížení 11101001 11101101 Obr. 14 Mutace Při mutaci se náhodně zinvertuje jeden bit v řetězci tak, jak je uvedeno na Obr. 14. Zatímco křížení představuje výrazné změny chromozomů, v případě mutace se jedná jen o drobné modifikace. 11

Výběr se provádí jednak v případě přímého přenosu jedince z jedné generace do druhé (krok selekce), jednak v případě volby rodičů pro křížení nebo jedinců pro mutaci. Postupuje se přitom tak, aby se počet jedinců v populacích nezvětšoval. Nabízí se otázka, jestli algoritmus pracující výše popsaným způsobem může efektivní řešit optimalizační úlohy nebo úlohy prohledávání. Kladnou odpověď dává tzv. teorém o schématech [Holland 1975]. Hollandův teorém říká že krátká schémata nízkého řádu s nadprůměrnou hodnotou funkce fit získávají v následující populaci exponenciálně rostoucí zastoupení. Schématem se přitom myslí jakási šablona, která popisuje množinu vzájemně si podobných částí chromozomů. V případě reprezentace chromozomů bitovými řetězci se v zápise schématu objevují 1, 0 a, přičemž znak reprezentuje libovolnou hodnotu. Tedy např. schema 00 1 zahrnuje dva řetězce 0001 a 0011. Délkou schématu se myslí vzdálenost mezi první a poslední pevně danou pozicí ve schématu (v našem příkladu je délka 3) a řádem schématu se myslí počet pevně definovaných symbolů (v našem příkladu opět hodnota 3). Schémata reprezentují sekvence bitů, které jsou navzájem provázány v tom smyslu, že příspěvek jednoho bitu k hodnotě funkce fit závisí na hodnotách ostatních bitů v sekvenci. Tyto sekvence bývají označovány jako stavební bloky. Teorém o schématech tedy říká, že v průběhu evoluce roste zastoupení důležitých stavebních bloků v populaci. Tyto stavební bloky se pak kombinují do výsledného řešení. 7.4 Integrace dílčích metod Pro oblast soft computing je charakteristické že se dílčí, výše uvedené přístupy kombinují a integrují. Jako příklad integrování dílčích soft computing metod si ukážeme tzv. neurofuzzy systémy, kombinující neuronové sítě s fuzzy přístupy. Def: Třívrstvý fuzzy perceptron je třívrstvá neuronová síť (U, W, A, O, net, ex), kde 1. U U 1 U 2 U 3, kde U i U j 2. W : U U F(R), (u U i W(u,v) 0) v U j, kde j > i neurony z jedné vrstvy jsou spojeny pouze s neurony v následující vrstvě (F(R) je množina všech fuzzy podmnožin množiny R) 3. Hodnoty aktivační funkce jsou A U : R R, A U : F(R) F(R), 4. Hodnoty výstupní funkce jsou o u a u o u DEFUZZ(a u ) a u net u pro u U I U H pro u U I U H 5. Hodnoty přenosové funkce jsou net v ex v pro v U I net v u (W(u,v) (o u )) a u net u pro u U O pro u U O pro v U H u U I net v u (W(u,v) (o u )) pro v U O u U H kde W(u,v) 0 6. Hodnoty externí vstupní funkce jsou ex U pro u U I 12

Obr. 15 XOR Obr. 16 "Klasická" neuronová síť Příklad: Klasickým příkladem (který koncem 60. let vedl ke kritice neuronových sítí jako takových) je úloha XOR. Cílem je nastavit neuronovou síť, aby správně reprezentovala logickou spojku non-ekvivalence, neboli v prostoru atributů od sebe oddělila body [1,0] a [0,1] od bodů [0,0] a [1,1] (Obr. 15). Tuto úlohu samozřejmě nelze vyřešit s použitím jednoduchého perceptronu (data nejsou lineárně separabilní). Řešení s využitím vícevrstvého perceptronu vidíme na Obr. 16. Fuzzy neuronová sít pro tutéž úlohu je naznačena na Obr. 17.Význam jednotlivých fuzzy množin small a big je na Obr. 18. Příslušná pravidla jsou: if x 1 is big and x 2 is small then y is big if x 1 is small and x 2 is big then y is big Obr. 17 Fuzzy neuronová síť Obr. 18 Fuzzy množiny fuzzy neuronové sítě 13

Cvičení: 1) Příklad: Je dána Bayesovská síť (struktura i podmíněné pravděpodobnosti) uvedená na Obr. 19 (převzato z). Spočítejte pravděpodobnost, že zavolá John resp. Marie v případě vloupání (tedy P(J B) a P(M B). Obr. 19 Bayesovská síť - vloupání 2) Příklad: Předpokládejme, že Obr. 19 ukazuje posibilistickou síť. Jaká je možnost, že zavolá John resp. Marie v případě vloupání (tedy Π(J B) a Π(M B))? 3) Příklad: Je dána Bayesovská síť (struktura i podmíněné pravděpodobnosti) uvedená na Obr. 20 (převzato z Charniak, 1991). Spočítejte pravděpodobnost, že rodina je doma když slyšíme štěkat psa. Obr. 20 Bayesovská síť - štěkající pes 14

Literatura: 1. Holland J.H.: Outline for a logical theory of adaptive systems. Journal of the ACM, 3, 1962, 297-314. 2. Holland J.H.: Adaptation in natural and artificial systems. Univ. of Michigan Press, 1975 3. Charniak E.: Bayesian Network without Tears. AI Magazine, Winter 1991, 50-63. 4. Jensen, F.: An introduction to bayesian networks. UCL Press, 1996 5. Kohonen T.: Self-Organizing Maps, Springer, 1995 6. Mařík,V. Štěpánková,O. - Lažanský,J. a kol.: Umělá inteligence 3. Academia, 2001. 7. Mitchell,T.: Machine learning. McGraw-Hill. 1997. 8. Murphy,K.: A brief introduction to graphical models and bayesian networks. http://www.cs.berkeley.edu/~murphyk/bayes/bayes.html, 2000 9. Nauk D., Klawonn F., Kruse R.: Foundations of Neuro-fuzzy systems. John Wiley, 1997 10. Šíma J., Neruda R.: Teoretické otázky neuronových sítí. Matfyzpress, 1996. 15