ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ CESK E Fakulta jadern´a a fyzik´alnˇe inˇzen´yrsk´a
´ PRACE ´ DIPLOMOVA
2006
Jan Vachulka
ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ CESK E Fakulta jadern´a a fyzik´alnˇe inˇzen´yrsk´a Katedra Matematiky
Monitorov´ an´ı pr˚ ubˇ ehu uˇ cen´ı neuronov´ ych s´ıt´ı s pˇ rep´ınac´ımi jednotkami Diplomov´a pr´ace
Jm´eno : Jan Vachulka ˇ Skolitel : Ing. Frantiˇsek Hakl, CSc. Ak. rok : 2005-2006
Prohl´aˇsen´ı: Prohlaˇsuji, ˇze jsem pˇredkl´adanou pr´aci vypracoval samostatnˇe, veˇsker´a pouˇzit´a literatura je uvedena v citac´ıch.
Podpis:
Obsah ´ 1 Uvod 1.1 Zamˇeˇren´ı a c´ıle diplomov´e pr´ace . . . . . . . . . . . . . . . . .
4 4
2 Z´ akladn´ı definice 6 2.1 Formulace probl´emu klasifikace do dvou mnoˇzin . . . . . . . . 6 2.2 Neuronov´a s´ıt’ . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Uˇcen´ı neuronov´e s´ıtˇe . . . . . . . . . . . . . . . . . . . . . . . 11 3 Neuron s pˇ rep´ınac´ı jednotkou 3.1 Neuron s pˇrep´ınac´ı jednotkou . . . . . . . . . . . . . . 3.2 Pˇrep´ınac´ı jednotka . . . . . . . . . . . . . . . . . . . . 3.3 V´ypoˇcetn´ı neurony . . . . . . . . . . . . . . . . . . . . 3.4 Determinismus uˇcen´ı . . . . . . . . . . . . . . . . . . . 3.5 Srovn´an´ı metod pouˇzit´ych pro uˇcen´ı pˇrep´ınac´ı jednotky 3.6 Srovn´an´ı v z´avislosti na poˇctu vzor˚ u . . . . . . . . . . 3.7 Srovn´an´ı v z´avislosti na poˇctu shluk˚ u . . . . . . . . . . 3.8 Z´avˇery . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
14 14 16 17 18 20 21 22 22
. . . . . . .
29 29 30 31 32 33 34 37
5 Urˇ cen´ı kvality neuronov´ e s´ıtˇ e 5.1 Z´akladn´ı principy a motivace . . . . . . . . . . . . . . . . . . . 5.2 Krit´erium nejmenˇs´ıch ˇctverc˚ u . . . . . . . . . . . . . . . . . . 5.3 Cross-entropy . . . . . . . . . . . . . . . . . . . . . . . . . . .
44 44 45 46
4 Interpretace v´ ystup˚ u neuronov´ e s´ıtˇ e 4.1 Pouˇzit´ı prahu . . . . . . . . . . . . . . . . . . 4.2 Zobecnˇen´ı pouˇzit´ı prahu . . . . . . . . . . . . 4.3 Pˇrevod v´ystup˚ u na pravdˇepodobnosti . . . . . 4.4 Histogramov´y odhad . . . . . . . . . . . . . . 4.5 Odhad parametr˚ u smˇesi norm´aln´ıch rozdˇelen´ı ´ 4.6 Uprava rozhodov´an´ı . . . . . . . . . . . . . . . 4.7 Srovn´an´ı rozhodovac´ıch pravidel . . . . . . . .
1
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
5.4 Dalˇs´ı ztr´atov´e funkce . . . . . . . . . . . . . . . . . . . . . . . 48 6 Benchmarky pro klasifik´ atory ´ 6.1 Uvod . . . . . . . . . . . . . . . . . 6.2 Proben1 . . . . . . . . . . . . . . . 6.3 UCI Machine Learning Repository . 6.4 Delve . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
7 Anal´ yza neuronov´ ych s´ıt´ı s pˇ rep´ınac´ımi jednotkami ´ 7.1 Uvod a motivace . . . . . . . . . . . . . . . . . . . . . . 7.2 Z´akladn´ı myˇslenky . . . . . . . . . . . . . . . . . . . . . 7.3 Anal´yza s´ıtˇe s jedn´ım neuronem . . . . . . . . . . . . . . 7.4 Z´avˇery z anal´yzy neuronov´e s´ıtˇe obsahuj´ıc´ı jeden neuron 7.5 Anal´yza ˇretˇezce . . . . . . . . . . . . . . . . . . . . . . . 7.6 Srovn´an´ı krit´eri´ı kvality . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . .
50 50 50 52 52
. . . . . .
53 53 54 54 61 61 67
8 Z´ avˇ er
70
A Metody shlukov´ e anal´ yzy ´ A.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Iteraˇcn´ı metody . . . . . . . . . . . . . . . . . . . . . . . . . . A.2.1 Forgyho metoda . . . . . . . . . . . . . . . . . . . . . . A.2.2 Nalezen´ı poˇc´ateˇcn´ıho rozkladu . . . . . . . . . . . . . . A.2.3 Deterministick´e metody pro nalezen´ı poˇc´ateˇcn´ıho rozkladu . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Hierarchick´e metody . . . . . . . . . . . . . . . . . . . . . . . A.3.1 Metoda nejbliˇzˇs´ıho souseda (single linkage) . . . . . . . A.3.2 Metoda nejvzd´alenˇejˇs´ıho souseda (complete linkage) . . A.3.3 Metoda pr˚ umˇern´e nepodobnosti vzor˚ u (average linkage) A.3.4 Pozn´amky k implementaci hierarchick´ych metod . . . .
71 71 72 72 73
B Metoda hlavn´ıch komponent
80
C Pouˇ zit´ e n´ astroje
82
2
73 77 77 78 78 78
Pouˇ zit´ e znaˇ cen´ı def
⇔
ekvivalence ve smyslu definice
def
= R R+ 0 N
rovnost ve smyslu definice mnoˇzina re´aln´ych ˇc´ısel [0; +∞) mnoˇzina pˇrirozen´ych ˇcisel
n ˆ Rn Rn,m diag(α1 , . . . , αn ) AT x(i)
n ˆ = {i ∈ N|i ≤ n} vektorov´y prostor nad tˇelesem re´aln´ych ˇc´ısel dimenze n vektorov´y prostor re´aln´ych matic o n ˇr´adc´ıch a m sloupc´ıch diagon´aln´ı matice, jej´ıˇz diagon´ala je tvoˇrena ˇc´ısly α1 , . . . , αn transpozice matice A i-t´a sloˇzka vektoru x ∈ Rn
2X |X| Dom(f ) Ran(f )
def
def
mnoˇzina vˇsech podmnoˇzin mnoˇziny X, 2X = {x|x ⊆ X} poˇcet prvk˚ u mnoˇziny X definiˇcn´ı obor funkce f obor hodnot funkce f
3
Kapitola 1 ´ Uvod 1.1
Zamˇ eˇ ren´ı a c´ıle diplomov´ e pr´ ace
Jak naznaˇcuje n´azev diplomov´e pr´ace, jej´ım hlavn´ım t´ematem je jeden z typ˚ u neuronov´ych s´ıt´ı - neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami. D´ale v textu, pokud nebude ˇreˇceno jinak, se neuronovou s´ıt´ı, nebo jen s´ıt´ı bude rozumˇet pr´avˇe neuronov´a s´ıt’ s pˇrep´ınac´ımi jednotkami. Tento typ neuronov´ych s´ıt´ı p˚ uvodnˇe vznikl za u ´ˇcelem rozliˇsen´ı sign´alu od pozad´ı pˇri ˇreˇsen´ı fyzik´aln´ıch probl´em˚ u. Jedn´a se ale o n´astroj, kter´y lze obecnˇe pouˇz´ıt pro klasifikaci do dvou tˇr´ıd ˇci aproximaci funkce. Neuronov´e s´ıtˇe tohoto typu jiˇz byly aplikov´any na nˇekolik probl´em˚ u (viz. napˇr. [HLA02]), nicm´enˇe o vlastnostech tˇechto s´ıt´ı z praktick´eho hlediska st´ale existuje mnoho ot´azek. Hlavn´ım u ´ˇcelem pr´ace tedy bylo systematick´e zmapov´an´ı vlastnost´ı tˇechto s´ıt´ı a vypozorov´an´ı z´avˇer˚ u, kter´e by pomohly pˇri jejich aplikaci na re´aln´e probl´emy. Pˇri ˇreˇsen´ı tohoto probl´emu se postupovalo takto: 1. Byl vybr´an soubor probl´em˚ u, kter´e se budou pouˇz´ıvat pˇri zjiˇst’ov´an´ı vlastnost´ı s´ıt´ı, viz. kapitola 6. 2. Bylo nutn´e ˇreˇsit probl´em urˇcov´an´ı kvality nauˇcen´ych s´ıt´ı, viz. kapitola 5. 3. Pˇredchoz´ı bod vyˇzadoval zodpovˇezen´ı ot´azky, jak interpretovat v´ystup neuronov´e s´ıtˇe, tento probl´em je ˇreˇsen v kapitole 4. 4. Bylo nutn´e zajistit determinismus uˇcen´ı neuronov´ych s´ıt´ı, viz. kapitola 3.
4
5. Vˇse bylo zavrˇseno proveden´ım anal´yzy tˇechto s´ıt´ı, popsan´e v kapitole 7. 6. Nav´ıc bylo tˇreba pˇreformulovat terminologii t´ykaj´ıc´ı se tˇechto s´ıt´ı, viz. kapitola 2.
5
Kapitola 2 Z´ akladn´ı definice 2.1
Formulace probl´ emu klasifikace do dvou mnoˇ zin
Probl´em oznaˇcovan´y jako klasifikace do dvou mnoˇzin, v r´amci nˇehoˇz prob´ıhala anal´yza neuronov´ych s´ıt´ı, lze popsat n´asledovnˇe: Necht’ je d´ana mnoˇzina S ∈ Rn , n ∈ N libovoln´e a necht’ existuj´ı mnoˇziny S1 , S2 ⊆ S splˇ nuj´ıc´ı 1. S1 ∩ S2 = ∅ 2. S1 ∪ S2 = S Necht’ zobrazen´ı χ : S 7→ {−1; 1} je definov´ano takto 1 pro x ∈ S1 def χ(x) = −1 pro x ∈ S2 def D´ale se bude symbolem T znaˇcit tˇr´ıda funkc´ı T = {f |f : S 7→ R}. Necht’ ˇ sen´ım u je d´ana funkce L : T × T 7→ R+ ´ lohy klasifikace do dvou tˇr´ıd se 0 . Reˇ bude d´ale rozumˇet nalezen´ı funkce g minimalizuj´ıc´ı v´yraz
L(g, χ) ´ celem je naj´ıt funkci g, kter´a o kaˇzd´em prvku mnoˇziny Pozn´ amka 2.1 Uˇ S rozhoduje, zda mu pˇr´ısluˇs´ı hodnota −1 nebo 1, neboli do kter´e ze dvou moˇzn´ych tˇr´ıd patˇr´ı. Spr´avn´e hodnoty jsou pˇredstavov´any funkc´ı χ. Funkce L naz´yvan´a bˇeˇznˇe jako ztr´atov´a funkce urˇcuje pˇri dan´ych poˇzadovan´ych hodnot´ach ztr´atu, pˇri volbˇe urˇcit´e funkce g jako ˇreˇsen´ı. 6
Pozn´ amka 2.2 Funkce g bude d´ale pr´avˇe funkce realizovan´a neuronovou s´ıt´ı. Funkce L bude nˇejak´e krit´erium, kter´e urˇcuje kvalitu neuronov´e s´ıtˇe na z´akladˇe prvk˚ u z mnoˇziny S. Pozn´ amka 2.3 Pro vzory nebo cel´e mnoˇziny vzor˚ u, kter´ym pˇr´ısluˇs´ı hodnota +1, se bude pouˇz´ıvat v´yraz sign´al, pro vzory pˇr´ısluˇsn´e k hodnotˇe −1 se bude pouˇz´ıvat v´yraz pozad´ı.
2.2
Neuronov´ a s´ıt’
P˚ uvodn´ı motivace pro pouˇzit´ı a podobu umˇel´ych neuronov´ych s´ıt´ı vych´az´ı z nervov´ych syst´em˚ u ˇziv´ych organism˚ u, z´akladn´ı princip pˇr´ırodn´ıch a tedy i umˇel´ych neuronov´ych s´ıt´ı spoˇc´ıv´a v rozdˇelen´ı celku na jednoduˇsˇs´ı jednotky naz´yvan´e neurony. Neurony jsou vz´ajemnˇe propojeny a pˇred´avaj´ı si mezi sebou informace, d´ıky t´eto kooperaci jednoduˇsˇs´ıch jednotek lze z´ıskat sloˇzitˇejˇs´ı a mocnˇejˇs´ı n´astroj pro ˇreˇsen´ı nejr˚ uznˇejˇs´ıch u ´loh. Jelikoˇz je tento n´astroj sloˇzen z jednoduˇsˇs´ıch ˇc´ast´ı, je snadnˇejˇs´ı nastavit parametry takov´eho n´astroje (jin´ymi slovy nauˇcit danou neuronovou s´ıt’), neˇz nastavovat parametry komplexn´ıho a daleko sloˇzitˇejˇs´ıho syst´emu. N´asleduje zaveden´ı pojm˚ u jako je neuron, neuronov´a s´ıt’ a uˇcen´ı neuronov´e s´ıtˇe v kontextu neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami. Definice 2.1 Necht’ je d´ana funkce f : Rn ×P ar 7→ Rm , kde mnoˇzina P ar je libovoln´a mnoˇzina objekt˚ u pˇredstavuj´ıc´ı parametry funkce f . Mnoˇzina Mf = n m {g|(g : R 7→ R ) ∧(∃α ∈ P ar)(∀(x, α) ∈ Dom(f ))(g(x) = f (x, α))} se bude naz´yvat model neuronu s pˇ rechodovou funkc´ı f . Pozn´ amka 2.4 Pod modelem neuronu se rozum´ı tˇr´ıda funkc´ı stejn´eho tvaru, kter´e se liˇs´ı hodnotou jejich parametru. Prvky urˇcit´eho modelu neuronu jsou konkr´etn´ı funkce zobrazuj´ıc´ı prostor Rn do Rm . Definice 2.2 Modelem neuronu se bude naz´yvat mnoˇzina [ MN = Mf Mf je model neuronu s pˇrechodovou funkc´ı f
Pozn´ amka 2.5 Mnoˇzina MN je sjednocen´ım vˇsech model˚ u neuron˚ u a obsahuje veˇsker´e objekty, kter´e lze oznaˇcit jako neuron.
7
Definice 2.3 Necht’ Mf je model neuronu s pˇrechodovou funkc´ı f : Rn × P ar 7→ Rm , funkce q ∈ Mf se bude naz´yvat neuron. Dalˇs´ı pojmy souvisej´ıc´ı s pojmem neuron jsou • Dom(q) vstupn´ı prostor neuronu q • n vstupn´ı dimenze neuronu q ozn. indim(q) • Ran(q) v´ystupn´ı prostor neuronu q • m v´ystupn´ı dimenze neuronu q, ozn. outdim(q) Pozn´ amka 2.6 Neuron je definov´an jako funkce, podoba neuronou s urˇcitou pˇrechodovou funkc´ı je d´ana pˇr´ısluˇsn´ym modelem neuronu (tedy tˇr´ıdou funkc´ı urˇcit´eho tvaru). Hodnota parametru α, kter´y urˇcuje neuron, m˚ uˇze b´yt k-tice re´aln´ych ˇc´ısel, m˚ uˇze vˇsak m´ıt i sloˇzitˇejˇs´ı stukturu. Definice 2.4 Pod pojmem topologie se bude rozumˇet orientovan´y acyklick´y graf T = (V, E), kter´y nav´ıc splˇ nuje vlastnosti (ozn. V = {vin } ∪ VH ∪ {vout }, vin 6= vout , vout 6∈ VH , vin ∈ / VH ): 1. |V | < +∞ 2. (∀v ∈ V )((u, vin ) ∈ / E) 3. (∀v ∈ V )((vout , v) ∈ / E) 4. (∀v ∈ VH ∪ {vout })(∃u ∈ V )((u, v) ∈ E) 5. (∀v ∈ VH ∪ {vin })(∃u ∈ V )((v, u) ∈ E) Pozn´ amka 2.7 Topologie je tedy acyklick´y orientovan´y graf, kter´y obsahuje pr´avˇe jeden vrchol, ze kter´eho jiˇz nevede ˇz´adn´a hrana (v´ystup), pr´avˇe jeden vrchol, do kter´eho nevede ˇz´adn´a hrana (vstup) a nˇekolik “skryt´ych” vrchol˚ u, pˇres kter´e jsou propojeny vstup a v´ystup. Pozn´ amka 2.8 Na obr´azku 2.1 je ilustrov´an pˇr´ıklad topologie. Jednotliv´a koleˇcka reprezentuj´ı vrcholy, ˇsipky reprezentuj´ı orientovan´e hrany mezi vrcholy, orientace ˇsipek je od rodiˇc˚ u smˇerem k dˇetem. Vstup (vin ) se bude znaˇcit koleˇckem vybarven´ym ˇcernˇe, v´ystup bude vˇzdy nejn´ıˇze zobrazen´y vrchol, ze kter´eho jiˇz nevede ˇz´adn´a hrana. Z praktick´ych d˚ uvod˚ u je vstup zobrazen pouze jedn´ım koleˇckem a nen´ı pro kaˇzdou sloˇzku vstupu zobrazen zvl´aˇstn´ı vstupn´ı neuron, poˇcty vstupn´ıch neuron˚ u by pak vˇetˇsinou pˇrev´yˇsily poˇcet ostatn´ıch neuron˚ u. 8
Obr´azek 2.1: Pˇr´ıklad topologie Definice 2.5 Necht’ je d´ana topologie T , mnoˇzina def MTN N = {NN = (T, N , g, id)|ψ(NN)} se bude naz´yvat model neuronov´ e s´ıtˇ e se vstupn´ı dimenz´ı d nad topologi´ı T , ψ je relace nad uspoˇr´adan´ymi ˇctveˇricemi (T, N , g, id) definovan´a n´asledovnˇe 1) def 2) (T, N , g, id) ∈ ψ ⇔ 3) 4)
N ⊆ MN g : N 7→ V je bijekce id : N 7→ n ˆ je bijekce, n = |V | vstupn´ı dimenze neuronu q = g −1 (vin ) je rovna d
Pozn´ amka 2.9 V oznaˇcen´ı modelu neuronov´e s´ıtˇe se nevyskytuje vstupn´ı dimenze, ta bude vˇsak vˇzdy zˇrejm´a z kontextu. Definice 2.6 Modelem neuronov´ e s´ıtˇ e se bude naz´yvat mnoˇzina [ M NN = MTN N T je topologie Definice 2.7 Prvek NN ∈ MTN N modelu neuronov´e s´ıtˇe se vstupn´ı dimenz´ı d nad topologi´ı T se bude naz´yvat Neuronov´ a s´ıt’ se vstupn´ı dimenz´ı d nad topologi´ı T . Necht’ NN = (T, N , g, id) ∈ MTN N , T = (V, E), n´asleduje nˇekolik pojm˚ u t´ykaj´ıc´ıch se konkr´etn´ı NN. Necht’ m = |N |, q ∈ N libovoln´y, def
• parents(q) = {q ′ ∈ N |(g(q ′), g(q)) ∈ E} def
• children(q) = {q ′ ∈ N |(g(q), g(q ′)) ∈ E} 9
def
• qin = g −1 (vin ) vstupn´ı neuron NN def
• qout = g −1(vout ) v´ystupn´ı neuron NN def
• indim(NN) = d vstupn´ı dimenze NN Pozn´ amka 2.10 Neuronov´a s´ıt’ NN = (T, N , g, id) je objekt, kter´y se skl´ad´a z neuron˚ u a jehoˇz struktura je d´ana jeho topologi´ı. Jednotliv´e neurony jsou oˇc´ıslov´any funkc´ı id. Smysl tohoto oˇc´ıslov´an´ı spoˇc´ıv´a hlavnˇe v uchopitelnosti jednotliv´ych neuron˚ u pˇri definov´an´ı pˇrechodov´e funkce realizovan´e celou neuronovou s´ıt´ı a algoritmu uˇcen´ı neuronov´e s´ıtˇe. Pozn´ amka 2.11 Pokud na topologii nebo dimenzi neuronov´e s´ıtˇe nebude z´aleˇzet, bude se informace o topologii, ˇci vstupn´ı dimenzi vypouˇstˇet. Definice 2.8 Necht’ NN = (T, N , g, id) je neuronov´a s´ıt’ se vstupn´ı dimenz´ı d, q ∈ N , m = indim(q), o = outdim(q). Funkce q r : Rd 7→ Rm a q p : Rd 7→ Ro jsou definov´any n´asledovnˇe. Necht’ • n = |parents(q)| • (q1 , . . . , qn ) je uspoˇr´adan´a n-tice, pro niˇz plat´ı – (∀i ∈ n ˆ )(qi ∈ parents(q))
– (∀i, j ∈ n ˆ )(i < j ⇔ id(qi ) < id(qj )) a koneˇcnˇe
def
q p (x) = (q1r (x), . . . , qnr (x)) q(q p (x)) pro n>0 def r q (x) = q(x) jinak Pozn´ amka 2.12 Funkce q p vezme v´ystupy rodiˇc˚ u neuronu q a pˇrevede je na podobu jedin´eho vektoru, kter´y je teprve zpracov´an neuronem q. Funkce q p i q r jsou definov´any rekurzivnˇe a slouˇz´ı k pops´an´ı toku dat uvnitˇr neuronov´e s´ıtˇe, narozd´ıl od funkce q maj´ı vstupn´ı prostor totoˇzn´y se vstupn´ım prostorem cel´e neuronov´e s´ıtˇe a vracej´ı v´ystup z urˇcit´eho m´ısta v s´ıti. Definice 2.9 Neuronov´a s´ıt’ NN = (T, N , g, id) se bude naz´yvat korektn´ı, pokud plat´ı podm´ınka (∀q ∈ N )(dim(Ran(q p )) = indim(q)) 10
(2.1)
Pozn´ amka 2.13 Definice 2.9 zav´ad´ı pˇrirozenou podm´ınku pro tok dat uvnitˇr neuronov´e s´ıtˇe, nemˇelo by se st´at, ˇze neuronu by ke zpracov´an´ı dostal vstup, kter´y nepoch´az´ı ze vstupn´ıho prostoru dan´eho neuronu. Jelikoˇz nem´a smysl se zab´yvat neuronov´ymi s´ıtˇemi, kter´e nejsou korektn´ı, bude se vˇsude d´ale pod pojmem neuronov´a s´ıt’ uvaˇzovat neuronov´a s´ıt’, kter´a je korektn´ı. r Definice 2.10 Necht’ NN = (T, N , g, id) ∈ M N N , funkce qout se bude naz´yvat funkce realizovan´a neuronovou s´ıt´ı NN.
Pozn´ amka 2.14 Pomoc´ı neuronov´e s´ıtˇe je definov´ana jist´a funkce f : Rd 7→ Rn , d´ale se bude ˇcasto neuronov´a s´ıt’ ztotoˇzn ˇ ovat s funkc´ı kterou reprezentuje, tato funkce se bude znaˇcit NN, tedy NN(x) bude d´ale reprezentovat funkˇcn´ı hodnotu funkce realizovan´e neuronovou s´ıt´ı NN. Jelikoˇz hodnota NN(x) je definov´ana pomoc´ı hodnoty pˇrechodov´e funkce v´ystupn´ıho neuronu, je v´ystupn´ı dimenze cel´e neuronov´e s´ıtˇe totoˇzn´a s v´ystupn´ı dimenz´ı v´ystupn´ıho neuronu, vˇsude d´ale se budou uvaˇzovat pouze neuronov´e s´ıtˇe, jejich v´ystupn´ı dimenze je rovna jedn´e.
2.3
Uˇ cen´ı neuronov´ e s´ıtˇ e
Definice 2.11 Mnoˇzina X = {(x, t, i)|(x, t, i) ∈ Rm × {−1, +1} × N} s vlastnostmi • n = |X| < +∞ • m∈N • (∀(x, t, i) ∈ X)(i ∈ n ˆ) • (∀(x1 , t1 , i1 ), (x2 , t2 , i2 ) ∈ X)((x1 = x2 ∧ t1 = t2) ⇔ (i1 = i2 )) se bude naz´yvat mnoˇzina vzor˚ u dimenze m, nebo jen mnoˇzina vzor˚ u. Velikost´ı X se bude rozumˇet ˇc´ıslo n. D´ale necht’ (x, t, i) ∈ X • x se bude naz´yvat vzor a znaˇcit xi • t se bude naz´yvat poˇzadovan´a hodnota a znaˇcit ti • i se bude naz´yvat index vzoru • dvojice (x, t) se bude znaˇcit wi • mnoˇzina {x ∈ Rm |(∃(x′ , t′ , i′ ) ∈ X)(x = x′ )} se bude znaˇcit Xx 11
• mnoˇzina {t ∈ {−1; 1}|(∃(x′ , t′ , i′ ) ∈ X)(t = t′ )} se bude znaˇcit Xt Definice 2.12 Necht’ X je mnoˇzina vzor˚ u dimenze m a velikosti n, X se bude naz´yvat uˇ c´ıc´ı mnoˇ zina dimenze m s n vzory a znaˇcit DL (n, m). Pozn´ amka 2.15 Definice uˇc´ıc´ı mnoˇziny je pouze jin´e pojmenov´an´ı pro mnoˇzinu vzor˚ u, jej´ı smysl je pouze ve zv´yraznˇen´ı u ´ˇcelu, ke kter´emu je dan´a mnoˇzina vzor˚ u pouˇzita. Definice 2.13 Mnoˇzina def DL = {DL (n, m)|DL (n, m) je uˇc´ıc´ı mnoˇzina dimenze m s n vzory, kde n, m ∈ N} se bude naz´yvat mnoˇzina uˇc´ıc´ıch mnoˇzin. Pozn´ amka 2.16 Symbolem DL se nˇekdy bude oznaˇcovat bl´ıˇze nespecifikovan´a uˇc´ıc´ı mnoˇzina, z kontextu vˇsak bude vˇzdy zˇrejm´e, zda se jedn´a o jednu uˇc´ıc´ı mnoˇzinu, ˇci v´yˇse definovanou mnoˇzinu uˇc´ıc´ıch mnoˇzin. Definice 2.14 Necht’ Mf je model neuronu s pˇrechodovou funkc´ı f , funkce u : DL 7→ Mf se bude naz´yvat nenauˇ cen´ y neuron s pˇ rechodovou funkc´ı f. Definice 2.15 Necht’ NN U = (T, U, g u , idu ) je uspoˇr´adan´a ˇctveˇrice, kde • T = (V, E) je topologie • U je mnoˇzina nenauˇcen´ych neuron˚ u • g u : U 7→ V je bijekce • idu : U 7→ vˆ je bijekce, v = |V | NN U se bude naz´yvat nenauˇcen´a neuronov´a s´ıt’ nad topologi´ı T . Definice 2.16 Mnoˇzina def
NNT,U = {NNU | NNU je nenauˇcen´a neuronov´a s´ıt’ nad topologi´ı T } se bude naz´yvat mnoˇzina nenauˇcen´ych neuronov´ych s´ıt´ı nad topologi´ı T . Definice 2.17 Mnoˇzina def
MUN N =
[
NNT,U
T je topologie se bude naz´yvat mnoˇzina nenauˇcen´ych neuronov´ych s´ıt´ı. 12
Definice 2.18 Uˇc´ıc´ı metodou neuronov´e s´ıtˇe se bude naz´yvat funkce LM : LD × MUN N 7→ M N N , kter´a je definov´ana n´asledovnˇe. Necht’ l ∈ LD , NNU ∈ MUN N , NNU = (T ′ , U, Gu , idu ), T ′ = (V ′ , E ′ ). def
LM (l, NNU ) = NN = (T, N , g, id) kde pro NN plat´ı • T = T′ • (∀q ∈ N )(∀u ∈ U)(id(q) = id(u) ⇒ ((q = u(lq )) ∧ (g(q) = g u (u)))) def
kde lq = {(x′ , t′ , i′ )|(∃(x, t, i) ∈ l)((x′ , t′ , i′ ) = (q p (x), t, i))}
Pozn´ amka 2.17 Uˇc´ıc´ı metoda byla definov´ana za pouˇzit´ı sady podm´ınek, kter´e plat´ı pro funkˇcn´ı hodnotu za dan´ych vstupn´ıch hodnot. Je samozˇrejmˇe moˇzn´a i konstruktivn´ı definice t´eto funkce, takov´a definice by vˇsak byla velice nepˇrehledn´a, proto byl preferov´an pouˇzit´y pˇr´ıstup. Pozn´ amka 2.18 Uˇc´ıc´ı metoda pˇriˇrazuje uˇc´ıc´ı mnoˇzinˇe a nenauˇcen´e neuronov´e s´ıti konkr´etn´ı neuronovou s´ıt’. Z toho, jak byla uˇc´ıc´ı metoda definovan´a je vidˇet, ˇze jiˇz pˇredem je nutn´e zadat topologii neuronov´e s´ıtˇe a definovat funkce, pomoc´ı kter´ych se uˇc´ı jednotliv´e neurony. Proces uˇcen´ı tedy optimalizuje pouze parametry jednotliv´ych neuron˚ u. Propojen´ı mezi neurony, pˇrechodov´e funkce neuron˚ u a zp˚ usoby uˇcen´ı jednotliv´ych neuron˚ u jsou jiˇz ’ pˇredem d´any a zak´odov´any v nenauˇcen´e neuronov´e s´ıt i. Nenauˇcen´a neuronov´a s´ıt’ je vlastnˇe pˇredpis, jak za vyuˇzit´ı uˇc´ıc´ı mnoˇziny zkonstuovat neuronovou s´ıt’. Z definice mnoˇzin lq je zˇrejm´e, ˇze se jedn´a o mnoˇzinu vzor˚ u, nav´ıc je tato p mnoˇzina definov´ana pomoc´ı rekurzivnˇe definovan´e funkce q z ˇcehoˇz plyne, ˇze neurony mus´ı b´yt pˇri uˇcen´ı br´any v urˇcit´em poˇrad´ı. Nauˇcen´ı neuronu mus´ı pˇredch´azet nauˇcen´ı jeho rodiˇc˚ u. Z definice lq je tak´e vidˇet, ˇze pro uˇcen´ı kaˇzd´eho neuronu jsou pouˇzity stejn´e poˇzadovan´e hodnoty. Definice 2.18 zav´ad´ı zp˚ usob nauˇcen´ı libovoln´e neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami. Pozn´ amka 2.19 Dalˇs´ı vlastnosti uˇc´ıc´ı metody plynouc´ı z definice 2.18 jsou: • Uˇc´ıc´ı proces neuronov´e s´ıtˇe nen´ı iteraˇcn´ı (pˇri uˇcen´ı jednotliv´ych neuron˚ u se vˇsak iteraˇcn´ı metody pouˇz´ıvaj´ı, viz. n´asleduj´ıc´ı kapitola). • Pˇri uˇcen´ı kaˇzd´eho neuronu je pouˇzit´a cel´a uˇc´ıc´ı mnoˇzina nar´az. • Pro nauˇcen´ı neuronu q je tˇreba m´ıt k dispozici uˇc´ıc´ı mnoˇzinu sloˇzenou z v´ystup˚ u rodiˇc˚ u q. 13
Kapitola 3 Neuron s pˇ rep´ınac´ı jednotkou Neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami, jak n´azev napov´ıd´a, obsahuj´ı pˇrep´ınac´ı jednotky. Tyto jednotky se v neuronov´e s´ıti neobjevuj´ı samostatnˇe, ale vˇzdy jako souˇc´ast neuronu s pˇrep´ınac´ı jednotkou (d˚ uvody lze naj´ıt v [HLA01, HLA02]). Nejprve je uveden popis neuronu s pˇrep´ınac´ı jednotkou a jeho funkcionality, n´asleduj´ı detailnˇejˇs´ı popisy jeho jednotliv´ych ˇc´ast´ı.
3.1
Neuron s pˇ rep´ınac´ı jednotkou
Na neuron s pˇrep´ınac´ı jednotkou (NSU) se lze d´ıvat jako na strukturu, kter´a se skl´ad´a z pr´avˇe jedn´e pˇrep´ınac´ı jednotky a nˇekolika v´ypoˇcetn´ıch jednotek (neuron˚ u), sch´ema neuronu s pˇrep´ınac´ı jednotkou je na obr´azku 3.1. Zpracov´an´ı vstupu neuronem s pˇrep´ınac´ı jednotkou lze popsat slovy n´asledovnˇe:
Obr´azek 3.1: Sch´ema neuronu s pˇrep´ınac´ı jednotkou
14
1. pˇrep´ınac´ı jednotka pˇri zpracov´an´ı vstupu x rozhodne, kter´y v´ypoˇcetn´ı neuron vstup x zpracuje 2. v´ypoˇcetn´ı neuron, kter´y dostane pˇridˇelen vstup x ke zpracov´an´ı, na x aplikuje svoji pˇrechodovou funkci, t´ım se z´ısk´a v´ystup y 3. v´ystup y v´ypoˇcetn´ıho neuronu se vezme jako v´ystup neuronu s pˇrep´ınac´ı jednotkou Form´alnˇe lze funkci realizovanou neuronem s pˇrep´ınac´ı jednotkou popsat n´asledovnˇe: Definice 3.1 Necht’ • k∈N • Mf je model neuronu s pˇrechodovou funkc´ı f ˆ • q1 , . . . , qk jsou neurony, qi ∈ Mf , qi : Rn 7→ Rm pro ∀i ∈ k, • h : Rn 7→ kˆ • x ∈ Rn • j = h(x) def
NSU(x) = fj (x)
(3.1)
• funkce NSU : Rn 7→ Rm se bude naz´yvat neuron s pˇrep´ınac´ı jednotkou • k se bude naz´yvat poˇcet v´ypoˇcetn´ıch neuron˚ u • h se bude naz´yvat pˇrep´ınac´ı jednotka Pozn´ amka 3.1 V pˇredchoz´ı definici tedy funkce h pˇredstavuje pˇrep´ınac´ı jednotku a funkce q1 , . . . , qk jsou v´ypoˇcetn´ı neurony. Je ponˇekud problematick´e, jak odliˇsit v´ypoˇcetn´ı neurony a neurony s v´ypoˇcetn´ı jednotkou pouze pomoc´ı pˇrechodov´e funkce, nebo jej´ım tvarem. To, ˇze NSU m´a po ˇc´astech definovanou pˇrechodovou funkci, jistˇe nen´ı dostateˇcn´e krit´erium. D´ale se vˇsude bude intuitivnˇe pˇredpokl´adat, ˇze neuron s pˇrep´ınac´ı jednotkou se skl´ad´a z pˇrep´ınac´ı jednotky a v´ypoˇcetn´ıch neuron˚ u, kter´e maj´ı jiˇz line´arn´ı pˇrechodovou funkci a nemaj´ı ˇz´adnou vnitˇrn´ı strukturu. D´ale budou pops´any konkr´etn´ı NSU a bude vidˇet, ˇze v´ıcem´enˇe pˇredstavuj´ı po ˇc´astech line´arn´ı funkce. 15
Uˇcen´ı NSU s k v´ypoˇcetn´ımi neurony lze popsat n´asledovnˇe: 1. pomoc´ı uˇc´ıc´ı mnoˇziny je nauˇcena pˇrep´ınac´ı jednotka 2. uˇc´ıc´ı mnoˇzina je rozdˇelena na k podmnoˇzin pomoc´ı jiˇz nauˇcen´e pˇrep´ınac´ı jednotky 3. i-t´a podmnoˇzina uˇc´ıc´ı mnoˇziny je pouˇzita k nauˇcen´ı i-t´eho v´ypoˇcetn´ıho neuronu
3.2
Pˇ rep´ınac´ı jednotka
Pˇrep´ınac´ı jednotka, jak je zˇrejm´e z popisu neuronu s pˇrep´ınac´ı jednotkou, ˆ kde n je vstupn´ı dimenze neuronu a k je poˇcet realizuje funkci h : Rn 7→ k, v´ypoˇcetn´ıch neuron˚ u. Pro libovoln´y vstup x tedy rozhodne, kter´y v´ypoˇcetn´ı neuron by mˇel dan´y vstup zpracovat. Pro takov´e rozhodnut´ı mus´ı b´yt vstupn´ı prostor nˇejak pops´an. K popisu vstupn´ıho prostoru se pouˇz´ıv´a n´asleduj´ıc´ı postup. Ve vstupn´ım prostoru je um´ıstˇeno k bod˚ u, kaˇzd´y z tˇechto bod˚ u je asociov´an s jedn´ım v´ypoˇcetn´ım neuronem. Pˇri rozhodov´an´ı, kter´y v´ypoˇcetn´ı neuron by mˇel zpracovat vstup x se zvol´ı ten, jemuˇz pˇr´ısluˇsej´ıc´ı bod je nejbl´ıˇze dan´emu vstupu. Pokud by byla tato vzd´alenost stejn´a pro v´ıce bod˚ u, vybere se v´ypoˇcetn´ı neuron s nejniˇzˇs´ım indexem. Detailnˇeji lze pˇrep´ınac´ı jednotku definovat n´asledovnˇe: Definice 3.2 Necht’ • NSU je neuron s pˇrep´ınac´ı jednotkou • k je poˇcet v´ypoˇcetn´ıch neuron˚ u NSU • n = indim(NSU) • h : Rn 7→ kˆ • x ∈ Rn • µ 1 , . . . , µ k ∈ Rn • d : Rn × Rn 7→ R0+ ˆ • dmin = min{d(x, µi )|i ∈ k}
16
def
ˆ min = d(x, µi )} h(x) = min{i ∈ k|d
(3.2)
Funkce h se bude naz´yvat pˇrep´ınac´ı jednotkou neuronu NSU Pozn´ amka 3.2 Funkce d v definici pˇrep´ınac´ı jednotky slouˇz´ı k urˇcov´an´ı vzd´alenost´ı mezi body ze vstupn´ıho prostoru. Definice 3.3 Necht’ x, y ∈ Rn v u n X def u de = t (x(i) − y (i) )2
(3.3)
dabs
(3.4)
i=1
v u n X def u = t |x(i) − y (i) | i=1
def
dsum = |
n X i=1
x(i) −
n X i=1
y (i) |
(3.5)
K uˇcen´ı pˇrep´ınac´ı jednotky se pouˇz´ıvaj´ı metody shlukov´e anal´yzy, viz. dodatek A. Jako vstup pro shlukov´an´ı se pouˇz´ıv´a mnoˇzina vzor˚ u z uˇc´ıc´ı mnoˇziny, kter´a neobsahuje poˇzadovan´e hodnoty. V principu se pak dˇeje toto: 1. shlukovac´ı metoda rozdˇel´ı uˇc´ıc´ı vzory z uˇc´ıc´ı mnoˇziny na disjunktn´ı podmnoˇziny 2. u kaˇzd´e podmnoˇziny se urˇc´ı tˇeˇziˇstˇe 3. ke kaˇzd´emu (zat´ım nenauˇcen´emu) v´ypoˇcetn´ımu neuronu se pˇriˇrad´ı jedno tˇeˇziˇstˇe jako bod µ Na obr´azku 3.2 je pˇr´ıklad rozdˇelen´ı dvojrozmˇern´eho vstupn´ıho prostoru neuronu pˇri dan´ych uˇc´ıc´ıch vzorech.
3.3
V´ ypoˇ cetn´ı neurony
Jako v´ypoˇcetn´ıch neuron˚ u uvnitˇr neuron˚ u s pˇrep´ınac´ı jednotkou se pouˇz´ıvaj´ı dva typy neuron˚ u, tyto neurony se uˇc´ı stejn´ym zp˚ usobem, liˇs´ı se vˇsak jejich pˇrechodov´a funkce.
17
Obr´azek 3.2: Pˇr´ıklad rozdˇelen´ı dvourozmˇern´eho vstupn´ıho prostoru do tˇr´ı ˇc´ast´ı, ˇcern´e body reprezentuj´ı vzory z uˇc´ıc´ı mnoˇziny Definice 3.4 Neuronem typu I se bude naz´yvat neuron s pˇrechodovou funkc´ı f : Rn 7→ Rn+1 , n ∈ N x f (x) = diag(α1 , . . . , αn , αn+1 ) 1 Definice 3.5 Neuronem typu II se bude naz´yvat neuron s pˇrechodovou funkc´ı f : Rn 7→ R, n ∈ N x f (x) = (α1 , . . . , αn+1 ) 1 Parametry neuron˚ u typu I i II jsou nastavov´any pomoc´ı metody nejmenˇs´ıch ˇctverc˚ u, jej´ıˇz popis lze naj´ıt napˇr. v [VIS98, AND85].
3.4
Determinismus uˇ cen´ı
Pro srovn´an´ı uˇcen´ı neuronov´ych s´ıt´ı s r˚ uzn´ymi parametry je tˇreba, aby uˇcen´ı bylo deterministick´e a to hlavnˇe z n´asleduj´ıc´ıch d˚ uvod˚ u: • Pokud by uˇcen´ı nebylo deterministick´e a pˇri uˇcen´ı neuronov´e s´ıtˇe by se sledovala napˇr. veliˇcina X. Pozdˇeji by se mohlo zjistit, ˇze je tˇreba sledovat i veliˇcinu Y , t´ım by se staly veˇsker´e jiˇz napoˇcten´e v´ysledky nepouˇziteln´e, protoˇze pro z´ısk´an´ı hodnot veliˇciny Y by bylo tˇreba znovu z´ıskat hodnoty jiˇz dˇr´ıve namˇeˇren´e, kter´e by odpov´ıdaly pr˚ ubˇehu uˇcen´ı, pˇri kter´em bylo provedeno nov´e mˇeˇren´ı. • Pˇri drobn´e zmˇenˇe uˇc´ıc´ıch dat by uˇcen´ı mˇelo prob´ıhat podobnˇe, jako pˇri uˇcen´ı p˚ uvodn´ıch dat. Pokud se neuronov´a s´ıt’ nauˇc´ı za pouˇzit´ı uˇc´ıc´ı 18
mnoˇziny X, kter´a se pozdˇeji napˇr´ıklad rozˇs´ıˇr´ı, mˇelo by uˇcen´ı prob´ıhat alespoˇ n podobnˇe, jako s p˚ uvodn´ı uˇc´ıc´ı mnoˇzinou, oˇcek´avalo by se tak´e, ˇze v´ysledn´a s´ıt’ bude kvalitn´ı. Tento poˇzadavek je trochu naivn´ı, ale rozhodnˇe ho lze l´epe splnit v pˇr´ıpadˇe deterministick´eho uˇcen´ı. K uˇcen´ı v´ypoˇcetn´ıch neuron˚ u se pouˇz´ıv´a metoda nejmenˇs´ıch ˇctverc˚ u, kter´a je deterministick´a, proch´azen´ı cel´e neuronov´e s´ıtˇe pˇri uˇcen´ı je tak´e deterministick´e. Jedin´y prvek, kde se vyuˇz´ıvala n´ahoda, je uˇcen´ı pˇrep´ınac´ı jednotky. Nˇekter´e metody pro uˇcen´ı pˇrep´ınac´ı jednotky jsou iteraˇcn´ı a na poˇc´atku jiˇz vyˇzaduj´ı odhad ˇreˇsen´ı, tento odhad se z´ısk´aval n´ahodn´ym generov´an´ım. V kapitole o pouˇzit´ych metod´ach shlukov´e anal´yzy jsou uvedeny v´ysledky nˇekter´ych experiment˚ u, kter´e ilustruj´ı cilivost iteraˇcn´ıch metod na koneˇcn´em v´ysledku. Daly by se pouˇz´ıt i neiteraˇcn´ı metody, ze srovn´an´ı v´ypoˇcetn´ı n´aroˇcnosti metod shlukov´e anal´yzy vˇsak vypl´yv´a, ˇze tyto metody jsou od jist´e velikosti uˇc´ıc´ı mnoˇziny velice n´aroˇcn´e pro pouˇzit´ı. Je nutn´e si uvˇedomit, ˇze pro nauˇcen´ı neuronov´e s´ıtˇe m˚ uˇze b´yt nutn´e nauˇcit mnoho pˇrep´ınac´ıch jednotek a to by mohlo trvat delˇs´ı ˇcas. Citlivost iteraˇcn´ıch metod na poˇc´ateˇcn´ı ˇreˇsen´ı by nemusela b´yt aˇz tak tragick´a, kdyby se uk´azalo, ˇze na celkov´e uˇcen´ı neuronov´e s´ıtˇe to nem´a pˇr´ıliˇs v´yznamn´y dopad. Bohuˇzel z praktick´ych v´ysledk˚ u se uk´azalo, ˇze opak je pravdou. Pro ilustraci tohoto jevu jsou uvedeny v´ysledky, na nichˇz je uk´az´ano, jak se liˇs´ı v´ysledky tˇechto s´ıt´ı pˇri opakovan´em uˇcen´ı. Tento experiment vych´az´ı z jednoduch´e pˇredstavy, ˇze pokud maj´ı dvˇe s´ıt´e r˚ uznou kvalitu, mus´ı se liˇsit i jejich parametry. Pro nˇekolik r˚ uzn´ych s´ıt´ı byl proveden tis´ıckr´at n´asleduj´ıc´ı experiment: 1. neuronov´a s´ıt’ byla nauˇcena (jako uˇc´ıc´ı mnoˇzina byla pouˇzita mnoˇzina vzor˚ u, kter´a je oznaˇcena v kapitole 6 jako heart 2. byly spoˇcteny v´ystupy neuronov´e s´ıtˇe, kde jako vstupy byly pouˇzity vzory z uˇc´ıc´ı mnoˇziny 3. byla spoˇctena chyba klasifikace danou s´ıt´ı (pomˇer ˇspatnˇe klasifikovan´ych vzor˚ u ku poˇctu vˇsech vzor˚ u, kde za ˇspatnˇe ohodnocen´y vzor byl povaˇzovan´y vzor, u nˇehoˇz byla s´ıt’ uˇcena na hodnotu +1 resp. -1, ale s´ıt’ ho pozdˇeji zaˇradila bl´ıˇze -1 resp. +1) 4. uloˇzen´ı kvality Na obr´azc´ıch 3.3, 3.4 a 3.5 je vˇzdy vlevo uveden historgram chyb neuronov´e s´ıtˇe, vpravo je uvedena topologie neuronov´e s´ıtˇe, kter´e odpov´ıd´a 19
dan´y histogram. Z uveden´ych histogram˚ u lze usoudit, ˇze kvality neuronov´ych s´ıt´ı, kter´e byly uˇceny pomoc´ı stejn´e nenauˇcen´e neuronov´e s´ıtˇe a stejn´e uˇc´ıc´ı mnoˇziny, se liˇs´ı, z toho plyne, ˇze i odpov´ıdaj´ıc´ı neuronov´e s´ıtˇe se liˇs´ı. N´ahodn´y poˇc´ateˇcn´ı rozklad tedy ovlivˇ nuje uˇcen´ı s´ıt´ı.
150 100 50 0
Frekvence
200
250
Histogram chyby naučené neuronové sítě
0.06
0.08
0.10
0.12
0.14
Chyba
Obr´azek 3.3: Histogram chyby klasifikace a topologie odpov´ıdaj´ıc´ı neuronov´e s´ıtˇe
3.5
Srovn´ an´ı metod pouˇ zit´ ych pro uˇ cen´ı pˇ rep´ınac´ı jednotky
Pro uˇcen´ı pˇrep´ınac´ı jednotky byly pouˇz´ıv´any n´asleduj´ıc´ı metody shlukov´e anal´yzy. • Iteraˇcn´ı metody – Forgy rand – Forgy PCA – Forgy LA • Hierarchick´e metody – Nejbliˇzˇs´ı soused – Nejvz´alenˇejˇs´ı soused 20
0
50
100
Frekvence
150
200
250
300
Histogram chyby naučené neuronové sítě
0.00
0.05
0.10
0.15
0.20
Chyba
Obr´azek 3.4: Histogram chyby klasifikace a topologie odpov´ıdaj´ıc´ı neuronov´e s´ıtˇe – Pr˚ umˇern´a nepodobnost Z iteraˇcn´ıch metod jsou pouˇzity r˚ uzn´e varianty Forgyho metody, tyto varianty se liˇs´ı ve zp˚ usobu urˇcen´ı poˇc´ateˇcn´ıho ˇreˇsen´ı, kter´e se d´ale iteraˇcnˇe zlepˇsuje. Varianta Forgy rand vybere n´ahodnˇe k bod˚ u a ostatn´ı body jsou zaˇrazeny do shluku k nejbliˇzˇs´ımu bodu, varianty Forgy PCA a Forgy LA pouˇz´ıvaj´ı metodu PCA Part a jej´ı variantu LA ( viz. odstavec A.2.3) k nalezen´ı poˇc´ateˇcn´ıho rozkladu. Tyto jednotliv´e metody pracuj´ı na r˚ uzn´ych principech a minimalizuj´ı i r˚ uzn´a krit´eria pro rozdˇelen´ı vzor˚ u do shluk˚ u. To je d˚ uvod, proˇc tyto metody nebyly srovn´av´any pˇr´ımo v r´amci shlukov´e anal´yzy. Srovn´ana byla v´ypoˇcetn´ı n´aroˇcnost tˇechto algoritm˚ u, v kapitole 7 jsou uvedeny v´ysledky, kter´e byly z´ısk´any pˇri zjiˇst’ov´an´ı vlivu jednotliv´ych metod na celkov´e uˇcen´ı neuronov´ych s´ıt´ı. Hlavn´ı parametry ovlivˇ nuj´ıc´ı metody shlukov´e anal´yzy jsou poˇcet vzor˚ u urˇcen´ych ke shlukov´an´ı, jejich dimenze a zp˚ usob urˇcov´an´ı vzd´alenosti mezi vzory. Uveden´e v´ysledky byly z´ısk´any pˇri pouˇzit´ı euklidovsk´e vzd´alenosti.
3.6
Srovn´ an´ı v z´ avislosti na poˇ ctu vzor˚ u
Na obr´azku 3.6 je vidˇet z´avislost doby v´ypoˇctu na velikosti uˇc´ıc´ı mnoˇziny (pro v´ypoˇcet bylo vˇzdy vzato prvn´ıch n vzor˚ u) pro veˇsker´e uveden´e metody 21
60 40 20 0
Frekvence
80
100
Histogram chyby naučené neuronové sítě
0.08
0.09
0.10
0.11
0.12
0.13
Chyba
Obr´azek 3.5: Histogram chyby klasifikace a topologie odpov´ıdaj´ıc´ı neuronov´e s´ıtˇe najednou. Z tohoto obr´azku je zˇrejm´e, ˇze v´ypoˇcetn´ı n´aroˇcnost hierarchick´ych metod je znaˇcnˇe vyˇsˇs´ı neˇz n´aroˇcnost Forgyho metody. To vypl´yv´a ze sloˇzitosti uveden´ych metod (viz dodatek A). Veˇsker´e shlukov´an´ı bylo provedeno pro deset shluk˚ u. Na obr´azc´ıch 3.7 aˇz 3.12 jsou uvedeny zvl´aˇst’ hierarchick´e metody a varianty Forgyho metody pro r˚ uzn´e dimenze vstupn´ıch dat (pro vzory bylo pouˇzito vˇzdy prvn´ıch k hodnot z uˇc´ıc´ı mnoˇziny mushroom1-lrn) Na obr´azku je uvedeno srovn´an´ı pro uˇc´ıc´ı mnoˇzinu heart1-lrn. Tato mnoˇzina dat obsahuje m´enˇe vzor˚ u, neˇz mushroom1-lrn. Je vidˇet, ˇze pˇri niˇzˇs´ı velikosti uˇc´ıc´ı mnoˇziny (≤ 500) je rozd´ıl v ˇc´asov´e n´aroˇcnosti mal´y, hierarchick´e metody jsou v tomto pˇr´ıpadˇe dokonce rychlejˇs´ı neˇz Forgy PCA.
3.7
Srovn´ an´ı v z´ avislosti na poˇ ctu shluk˚ u
Kromˇe poˇctu vzor˚ u v uˇc´ıc´ı mnoˇzinˇe, je dalˇs´ım parametrem poˇcet hledan´ych shluk˚ u. Na obr´azc´ıch 3.15 a 3.15 jsou zobrazeny z´avislosti doby potˇrebn´e pro shlukov´an´ı v z´avislosti na poˇctu shluk˚ u pˇri konstantn´ı velikosti uˇc´ıc´ı mnoˇziny.
3.8
Z´ avˇ ery
Ze srovn´an´ı veden´ych metod lze doj´ıt k n´asleduj´ıc´ım z´avˇer˚ um: 22
Používané metody
10 0
5
Čas výpočtu[s]
15
Forgy LA Forgy PCA Forgy rand Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.6: Z´avislost doby v´ypoˇctu pouˇzit´ych metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe, data mushroom1-lrn (dim=125) • hierarchick´e metody jsou od urˇcit´e hranice daleko n´aroˇcnˇejˇs´ı na v´ypoˇcetn´ı ˇcas neˇz iteraˇcn´ı metody • pro uˇc´ıc´ı mnoˇziny s menˇs´ım poˇctem vzor˚ u (≤ 700) je v´ypoˇcetn´ı n´aroˇcnost hierarchick´ych a iteraˇcn´ıch metod podobn´a, dokonce jsou hierarchick´e metody m´enˇe n´aroˇcn´e neˇz iteraˇcn´ı metoda Forgy PCA • uveden´e hierarchick´e metody maj´ı pˇribliˇznˇe stejn´e n´aroky na v´ypoˇcetn´ı ˇcas, nejsou citliv´e na poˇcet shluk˚ u • Forgy PCA je v´yznamnˇe n´aroˇcnˇejˇs´ı, neˇz dalˇs´ı varianty Forgyho metody, pˇriˇcemˇz n´aroˇcnost tˇechto metod je ovlivnˇena poˇctem shluk˚ u Pozn´ amka 3.3 Z deterministick´ych variant Forgyho metody je varianta Forgy LA v´yraznˇe m´enˇe n´aroˇcn´a na v´ypoˇcetn´ı ˇcas, bylo by pozitivn´ı zjiˇstˇen´ı, ˇze v´ysledky cel´ych neuronov´ych s´ıt´ı jsou pˇri pouˇzit´ı jednotliv´ych variant srovnateln´e.
23
Hierarchické metody
10 0
5
Čas výpočtu[s]
15
Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.7: Z´avislost doby v´ypoˇctu hierarchick´ych metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=125)
Iterační metody
2.0 1.5 0.0
0.5
1.0
Čas výpočtu[s]
2.5
3.0
3.5
Forgy LA Forgy PCA Forgy rand
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.8: Z´avislost doby v´ypoˇctu iteraˇcn´ıch metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=125) 24
Hierarchické metody
4 3 0
1
2
Čas výpočtu[s]
5
6
7
Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.9: Z´avislost doby v´ypoˇctu hierarchick´ych metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=60)
Iterační metody
0.4 0.3 0.0
0.1
0.2
Čas výpočtu[s]
0.5
0.6
0.7
Forgy LA Forgy PCA Forgy rand
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.10: Z´avislost doby v´ypoˇctu iteraˇcn´ıch metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=60) 25
Hierarchické metody
1.5 1.0 0.0
0.5
Čas výpočtu[s]
2.0
2.5
Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.11: Z´avislost doby v´ypoˇctu hierarchick´ych metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=20)
Iterační metody
0.04 0.00
0.02
Čas výpočtu[s]
0.06
0.08
Forgy LA Forgy PCA Forgy rand
0
1000
2000
3000
4000
Počet prvků v datové množině
Obr´azek 3.12: Z´avislost doby v´ypoˇctu iteraˇcn´ıch metod na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe (dim=20) 26
Používané metody
0.010 0.000
0.005
Čas výpočtu[s]
0.015
0.020
Forgy LA Forgy PCA Forgy rand Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
100
200
300
400
Počet prvků v datové množině
Obr´azek 3.13: Z´avislost doby v´ypoˇctu na poˇctu prvk˚ u ve vstupn´ı mnoˇzinˇe, data heart1-lrn (dim=35)
Používané metody
10 0
5
Čas výpočtu[s]
15
Forgy LA Forgy PCA Forgy rand Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
20
40
60
80
100
Počet shluků
Obr´azek 3.14: V´ysledky pro data muhroom1-lrn (dimenze 125, poˇcet vzor˚ u 4062) 27
0.20
Používané metody
0.10 0.00
0.05
Čas výpočtu[s]
0.15
Forgy LA Forgy PCA Forgy rand Nejbližší soused Průměrná nepodobnost nejvzdálenější soused
0
20
40
60
80
100
Počet shluků
Obr´azek 3.15: V´ysledky pro data heart1-lrn (dimenze 35, poˇcet vzor˚ u 460
28
Kapitola 4 Interpretace v´ ystup˚ u neuronov´ e s´ıtˇ e Jedna z ot´azek ohlednˇe v´ystup˚ u neuronov´ych s´ıt´ı se t´ykala rozhodnut´ı, kam vlastnˇe zaˇradit vstup x, pˇri urˇcit´e hodnotˇe v´ystupu y = NN(x). Neuronov´e s´ıtˇe jsou uˇceny na poˇzadovan´e hodnoty −1 a +1, pˇriˇcemˇz v´ystup y neuronov´e s´ıtˇe m˚ uˇze b´yt libovoln´e re´aln´e ˇc´ıslo. Intuitivnˇe lze prohl´asit, ˇze pokud y je dostateˇcnˇe bl´ızko +1, lze vstup x oznaˇcit jako sign´al a v opaˇcn´em pˇr´ıpadˇe oznaˇcit x jako pozad´ı. Toto ˇreˇsen´ı jistˇe nen´ı pˇr´ıliˇs uspokojiv´e, a proto je tˇreba ho trochu formalizovat. Mˇejme tedy neuronovou s´ıt’ NN, nauˇcenou pomoc´ı uˇc´ıc´ı mnoˇziny DL , je tˇreba naj´ıt vhodnou funkci c : R 7→ DS , kter´a o v´ystupu neuronov´e s´ıtˇe rozhodne, zda se jedn´a o sign´al ˇci pozad´ı. Symbolem DS byla oznaˇcena mnoˇzina DS = {s, b}, kde s oznaˇcuje sign´al, b pozad´ı.
4.1
Pouˇ zit´ı prahu
Nejjednoduˇsˇs´ı zp˚ usob, jak ˇreˇsit tento probl´em je zav´est funkci c takto s pro y ≥ 0 c(y) = (4.1) b pro y < 0 Nicm´enˇe probl´em s takto definovanou funkc´ı c je, ˇze c(10−10 ) = c(1) a je na prvn´ı pohled vidˇet, ˇze pro hodnotu x = 10−10 nen´ı zrovna moc jist´e, zda y oznaˇcit jako sign´al ˇci pozad´ı. Dalˇs´ı probl´em spoˇc´ıv´a v tom, ˇze c(1010 ) = c(1) a pˇrestoˇze neuronov´a s´ıt’ byla uˇcena na v´ystupn´ı hodnoty −1 a +1, zaˇrad´ı se bez nejmenˇs´ıch probl´em˚ u i hodnoty, kter´e jsou velice vzd´alen´e poˇzadovan´ym v´ystup˚ um s´ıtˇe, do nˇekter´e ze tˇr´ıd. 29
Pˇrirozenˇe se tedy nab´ız´ı zav´est kromˇe moˇzn´ych rozhodnut´ı sign´al/pozad´ı jeˇstˇe hodnotu nev´ım. Tyto hodnoty se budou znaˇcit n´asledovnˇe: sign´al s pozad´ı b nev´ım u a zobecnˇen´ı funkce c je nyn´ı funkce c : R 7→ D, kde D = {s, b, u}. Definice 4.1 Rozhodovac´ım pravidlem se bude naz´yvat libovoln´a funkce c : R 7→ D Definice 4.2 Necht’ c je rozhodovac´ı pravidlo, • mnoˇzina As = {y ∈ Real|c(y) = s} se bude naz´yvat oblast pˇrijet´ı sign´alu • mnoˇzina Ab = {y ∈ Real|c(y) = b} se bude naz´yvat oblast pˇrijet´ı pozad´ı • mnoˇzina Au = R \ (As ∪ Ab ) se bude naz´yvat oblast nepˇrijet´ı Definice 4.3 Rozhodovac´ı pravidlo tvaru 4.1 se bude naz´yvat prahov´e pravidlo a znaˇcit R0 . Nyn´ı zb´yv´a naj´ıt obecnˇejˇs´ı postup, jak rozdˇelit R na oblasti pˇr´ısluˇsej´ıc´ı jednotliv´ym hodnot´am s, b nebo u.
4.2
Zobecnˇ en´ı pouˇ zit´ı prahu
Jednou z moˇznost´ı, jak volit funkci c s b c(y) = u
je n´asleduj´ıc´ı: pro y ∈ [a, b) pro y ∈ [c, d) jinak
(4.2)
Kde interval HS = [a, b) (resp. HB = [c, d)) je vhodn´e okol´ı bodu +1 (resp. −1). Nicm´enˇe je st´ale problematick´e, jak volit optim´alnˇe tyto intervaly (jednou z moˇznost´ı by bylo volit tyto intervaly tak, aby chyba klasifikace pro vzory z uˇc´ıc´ı mnoˇziny byla v tˇechto intervalech menˇs´ı nebo rovna poˇzadovan´e hodnotˇe, pro ˇreˇsen´ı probl´emu vˇsak byla nakonec zvolena jin´a cesta). Necht’ C je n´ahodn´a veliˇcina, kter´a m˚ uˇze nab´yvat hodnot s a b, Y je n´ahodn´a veliˇcina nab´yvaj´ıc´ı hodnoty z R, kter´a nab´yv´a hodnoty v´ystup˚ u 30
neuronov´e s´ıtˇe NN. Pro vzory y ∈ HS (resp. y ∈ HB ) by jistˇe mˇelo platit p(C = s|Y = y) > p(C = b|Y = y)(resp. (p(C = b|Y = y) > p(C = s|Y = y)). Coˇz vede na myˇslenku, ˇze optim´aln´ı by bylo z´ıskat pravdˇepodobnosti p(C = s|Y = y) a p(C = b|Y = y) pro ∀y ∈ R a pˇri rozhodov´an´ı o pˇr´ısluˇsnosti vstupu neuronov´e s´ıtˇe pouˇz´ıt tˇechto funkc´ı. V takov´em pˇr´ıpadˇe by tedy funkce c vypadala takto: s pro p(C = s|Y = y) > t b pro p(C = b|Y = y) > t (4.3) c(y) = u jinak kde t ∈ (0, 5; 1) je poˇzadovan´a u ´ roveˇ n pro urˇcen´ı pˇr´ısluˇsnosti vzoru.
4.3
Pˇ revod v´ ystup˚ u na pravdˇ epodobnosti
Pˇredchoz´ı text obsahoval motivaci, proˇc m´a smysl se pokusit pˇrev´est v´ystupy neuronov´e s´ıtˇe na pravdˇepodobnosti. Jsou tedy d´any uˇc´ıc´ı mnoˇzina a nenauˇcen´a neuronov´a s´ıt’. K z´ısk´an´ı nauˇcen´e neuronov´e s´ıtˇe NN je pouˇzita uˇc´ıc´ı metoda. N´aslednˇe jsou pro veˇsker´e vzory z uˇc´ıc´ı mnoˇziny spoˇcteny odpov´ıdaj´ıc´ı v´ystupy. Tyto v´ystupy jsou jiˇz jednorozmˇern´e a o kaˇzd´em z nich je zn´ama pˇr´ısluˇsnost do jedn´e z klasifikaˇcn´ıch tˇr´ıd. S pomoc´ı tˇechto v´ystup˚ u lze tedy jeˇstˇe z´ıskat informaci, kterou uˇc´ıc´ı metoda nemusela vyuˇz´ıt. Intuitivnˇe je pˇredstava, ˇze uˇc´ıc´ı metoda vlastnˇe pˇrev´ad´ı uˇc´ıc´ı mnoˇzinu do tvaru (tedy na neuronovou s´ıt’), ve kter´em lze tuto mnoˇzinu pozdˇeji pouˇz´ıt ke klasifikaci mnoˇziny, o n´ıˇz nic nev´ıme, dalˇs´ı zpracov´an´ı v´ystup˚ u tedy pouze rozˇsiˇruje uˇc´ıc´ı metodu, v d˚ usledku se vlastnˇe kombinuj´ı dvˇe metody a je i moˇzn´e, ˇze se tak dostane lepˇs´ıch v´ysledk˚ u. Na v´ystupy neuronov´e s´ıtˇe se lze d´ıvat jako na realizace n´ahodn´e veliˇciny Y ∈ R a pokusit se odhadnout pravdˇepodobnosti p(C = s|Y = y) a p(C = b|Y = y) kde y ∈ R. S v´yhodou lze vyuˇz´ıt faktu, ˇze v´ystupy NN jsou jiˇz jen jednorozmˇern´e. Pravdˇepodobnosti p(C = s|Y = y), p(C = b|Y = y) lze odhadnot pomoc´ı n´asleduj´ıc´ıho postupu: 1. odhadnou se hustoty pravdˇepodobnosti f (y|C = s), f (y|C = b), f (y) 2. pro v´ypoˇcet p(C = s|Y = y), p(C = b|Y = y) se pouˇzije n´asleduj´ıc´ıch v´yraz˚ u f (y|C = s)p(C = s) p(C = s|Y = y) = f (y) 31
p(C = b|Y = y) =
f (y|C = b)p(C = b) f (y)
Pˇri tomto postupu je nutn´e vyˇreˇsit nˇekolik probl´em˚ u. Nejsou zn´amy p(C) a f (y), d´ale se bude pˇredpokl´adat, ˇze p(C = s) = p(C = b) = 0, 5. Hustota pravdˇepodobnosti f (y) se odhaduje pomoc´ı vztahu f (y) = f (y|C = s)p(C = s) + f (y|C = b)p(C = b). Je tak´e nutn´e zvolit vhodnou metodu pro odhad p(Y |C), v tomto pˇr´ıpadˇe je tvar hustory rozdˇelen´ı nezn´am´y a je tˇreba pouˇz´ıt nˇekterou z neparametrick´ych metod odhadu hustoty pravdˇepodobnosti. Nejprve byl pro svou jednoduchost zvolen histogramov´y odhad. Pozdˇeji byla hledan´a hustota pravdˇepodobnosti tak´e modelov´ana jako smˇes norm´aln´ıch rozdˇelen´ı.
4.4
Histogramov´ y odhad
Pro odhad f (y|C = s) a f (y|C = b) se nejprve vhodnˇe zvolil interval I ⊆ R tak, aby obsahoval vˇeS tˇsinu realizac´ı Y . Tento interval se d´ale rozdˇelil na stejnˇe velk´e d´ılky Ij , I = Ij , Ii ∩ Ij = ∅ pro i 6= j, jejichˇz poˇcet byl odvozen z j∈m ˆ
poˇctu dat. Pro kaˇzd´y d´ılek(ozn. j) se pak odhadly hodnoty 1 Nsj h Ns 1 Nbj p(j|C = b) = h Nb
p(j|C = s) =
kde h je velikost jednoho d´ılku, Nsj (resp. Nbj ) je poˇcet realizac´ı Y , kter´e patˇr´ı do sign´alu (resp. pozad´ı) v j-t´em d´ılku, Ns (resp. Nb ) je celkov´y poˇcet z´astupc˚ u sign´alu (resp. pozad´ı) . T´ım se dostala po ˇca´stech konstantn´ı funkce 0 pro y ∈ I< p(1|C) pro y ∈ I1 p(2|C) pro y ∈ I2 (4.4) f (y|C) = .. . p(n|C) pro y ∈ Im 0 pro y ∈ I >
kde m je poˇcet d´ılk˚ u def
I< = {y ∈ R|y 6∈ I ∧ (∀x ∈ I)(y < x)} def
I> = {y ∈ R|y 6∈ I ∧ (∀x ∈ I)(y > x)} 32
Pozn´ amka 4.1 Mnoˇziny I< a I> byly pˇrid´any proto, aby se pokryla cel´a mnoˇzina R, pokud v´ystup neuronov´e s´ıtˇe padne do jednoho z tˇechto interval˚ u, definuje se pravdˇepodobnost, ˇze takov´y vstup je sign´al nebo pozad´ı, nulov´a. Pozn´ amka 4.2 Interval I a jednotliv´e d´ılky Ij byly nastavov´any za pouˇzit´ı n´asleduj´ıc´ıho postupu. Necht’ n je velikost uˇc´ıc´ı mnoˇziny. def
def
1. a = −2; b = 2 def
2. I = [a; b] (pro tento interval budou tedy pravdˇepodobnosti nenulov´e) def
n (tedy nastavit poˇcet d´ılk˚ u tak, aby v kaˇzd´em bylo pr˚ umˇernˇe 30 3. m = 30 realizac´ı) def
4. pokud m < 30 tak m = min(30, n) (oˇsetˇren´ı, aby byl d´ılk˚ u urˇcit´y minim´aln´ı poˇcet) def b−a m
5. h =
Pozn´ amka 4.3 Nev´yhodou tohoto typu odhadu hustoty pravdˇepodobnosti je z´avislost na volbˇe poˇctu a velikostech jednotliv´ych d´ılk˚ u, nav´ıc je takto z´ıskan´a funkce nespojit´a.
4.5
Odhad parametr˚ u smˇ esi norm´ aln´ıch rozdˇ elen´ı
Modelov´an´ı hustoty pravdˇepodobnosti pomoc´ı smˇesi pravdˇepodobnostn´ıch rozdˇelen´ı je nˇekde na p˚ ul cesty mezi parametrick´ymi a neparametrick´ymi odhady. Smˇesi rozdˇelen´ı maj´ı dostateˇcnou flexibilitu pro aproximaci hustot pravdˇepodobnosti. Vyuˇzit´ı tohoto pˇr´ıstupu v aplikaci na probl´em odhadu pravdˇepodobnost´ı f (y|C) bylo zvoleno z n´asleduj´ıc´ıch d˚ uvod˚ u. • v ide´aln´ım pˇr´ıpadˇe by f (y|C = s) a f (y|C = b) mˇely podobu delta distribuc´ı, nebo alespoˇ n hustot pravdˇepodobnosti, kter´e se podobaj´ı norm´aln´ımu rozdˇelen´ı se stˇredn´ımi hodnotami v bodech −1 a +1. V praxi to samozˇrejmˇe vych´az´ı h˚ uˇre, nicm´enˇe se smˇes norm´aln´ıch rozdˇelen´ı zd´a b´yt vhodn´ym n´astrojem • v´ysledkem je hustota pravdˇepodobnosti, kter´a je spojit´a a definovan´a na cel´em R • parametry v´ysledn´e smˇesi lze snadno uchov´avat 33
• pouˇzit´ı je snadnˇejˇs´ı neˇz pˇri pouˇzit´ı napˇr´ıklad j´adrov´ych odhad˚ u, odpad´a probl´em se vzorkov´an´ım a interpolac´ı bod˚ u Tvar smˇesi norm´aln´ıch rozdˇelen´ı lze zapsat takto f (y|C) =
k X
αi pi (y|C)
(4.5)
i=1
kde
2
pi (y|C) = √ 1
2πσi2
k P
i) exp(− (y−µ ) 2σ2 i
αi = 1
i=1
Pozn´ amka 4.4 Z v´yrazu 4.5 je vidˇet, ˇze parametrem tohoto modelu je poˇcet komponent smˇesi oznaˇcen´y jako k. Optim´aln´ı nastaven´ı tohoto parametru lze ˇreˇsit r˚ uznˇe a z´aleˇz´ı i na aplikac´ıch. K urˇcen´ı k byl pouˇzit tento postup • nauˇc´ı se smˇesi pro hodnoty k ∈ {1, . . . , kmax } • v´ysledn´a nauˇcen´a smˇes je ta, kter´a maximalizuje v´yraz 3 log(p(Y|Mk )) − k log(n) 2 kde Y jsou data pouˇzit´a pro uˇcen´ı smˇesi, Mk reprezentuje nauˇcenou smˇes s k komponentami. V´ıce lze naj´ıt napˇr. v [FF02]. Pro nalezen´ı parametr˚ u smˇesi norm´aln´ıch rozdˇelen´ı s k komponentami byl pouˇzit EM algoritmus (viz. napˇr. [BIS97, BIL98]).
4.6
´ Uprava rozhodov´ an´ı
Pouˇzit´ı odhad˚ u hustoty pravdˇepodobnosti s sebou pˇrin´aˇs´ı nˇekolik probl´em˚ u. Pokud jsou f (y|C = s) i f (y|C = b) nulov´e, je ot´azkou jak volit p(C = s|Y = y) a p(C = b|Y = y), v takov´ych pˇr´ıpadech je pˇrijateln´e ˇreˇsen´ı definovat pravdˇepodobnosti p(C = s|Y = y) a p(C = b|Y = y) jako nulov´e, jiˇz vˇsak neplat´ı rovnost p(C = s|Y = y) + p(C = b|Y = y) = 1. Horˇs´ı je pˇr´ıpad, kdy jsou f (y|C = s) i f (y|C = b) bl´ızk´e nule. V takov´em pˇr´ıpadˇe by vyˇsly pravdˇepodobnosti p(C = s|Y = y) i p(C = b|Y = y) dost vysok´e na to, aby se pouˇzily pro rozhodnut´ı, zda se jedn´a o sign´al nebo
34
400 300 x2 200 100 0
0
50
100
150
200
250
x1
Obr´azek 4.1: Rozhodovac´ı oblasti pro sign´al a pozad´ı - pouˇzit´ı prahu pozad´ı. Napˇr´ıklad necht’ f (y|C = s) = 10−3 a f (y|C = b) = 10−5 v takov´em pˇr´ıpadˇe 1 f (y) = (p(y|s) + p(y|b)) = 0.000505 2 p(C = s|Y = y) = 0.99 p(C = b|Y = y) = 0.01 A v´ysledkem by bylo, ˇze dan´y vzor by byl jednoznaˇcnˇe oznaˇcen jako sign´al, pˇrestoˇze poch´az´ı z ˇc´asti vstupn´ıho prostoru neuronov´e s´ıtˇe, ze kter´eho nepoch´azelo pˇr´ıliˇs bod˚ u z uˇc´ıc´ı mnoˇziny. Tvar rozhodovac´ıch oblast´ı pro sign´al a pozad´ı ve vstupn´ım prostoru neuronov´e s´ıtˇe jsou si pˇri pouˇzit´ı prahu nebo odhadu hustoty pravdˇepodobnosti velice podobn´e. To je patrn´e i z obr´azk˚ u 4.1 a 4.2, na kter´ych jsou zobrazeny oblasti, odkud se vzory oznaˇcuj´ı jako sign´al nebo pozad´ı. Uveden´e v´ysledky byly z´ısk´any neuronovou s´ıt´ı n´ıˇze oznaˇcenou jako NN3. To je sice z jist´eho pohledu zlepˇsen´ı, ale st´ale nejsou dobˇre vymezeny oblasti, odkud byly vzory z uˇc´ıc´ı mnoˇziny. Pro ostˇrejˇs´ı vymezen´ı tˇechto oblast´ı bylo pouˇzita informace, kterou poskytuje odhad f (y) (pro ilustraci je odhad f (y) pro s´ıt’ NN3 nauˇcenou na uveden´ych dvojrozmˇern´ych datech zobrazen na obr´azku 4.4).
35
400 300 x2 200 100 0
0
50
100
150
200
250
x1
Obr´azek 4.2: Rozhodovac´ı oblasti pro sign´al a pozad´ı - pouˇzit´ı smˇesi norm´aln´ıch rozdˇelen´ı, pmin = 0 V´ysledn´a podoba rozhodovac´ıho pravidla je tedy zobecnˇen´ım 4.3 s pro p(C = s|Y = y) > t ∧ f (y) ≥ pmin b pro p(C = b|Y = y) > t ∧ f (y) ≥ pmin c(x) = u jinak
(4.6)
Definice 4.4 Necht’ rozhodovac´ı pravidlo c je tvaru 4.6, hodnoty p(C = s|Y = y), p(C = b|Y = y) a f (y) byly spoˇcteny z mnoˇziny Y ⊆ R pomoc´ı histogramov´eho odhadu popsan´eho v 4.4 a hodnota pmin necht’ je rovna ˇc´ıslu α. Takov´e rozhodovac´ı pravidlo se bude naz´yvat pravidlo histogramu na u ´ rovni α a znaˇcit RHIST (α). Definice 4.5 Necht’ rozhodovac´ı pravidlo c je tvaru 4.6, hodnoty p(C = s|Y = y), p(C = b|Y = y) a f (y) byly spoˇcteny z mnoˇziny Y ⊆ R pomoc´ı odhadu smˇesi norm´aln´ıch rozdˇelen´ı popsan´eho v 4.5, hodnota pmin necht’ je rovna ˇc´ıslu α. Takov´e rozhodovac´ı pravidlo se bude naz´yvat pravidlo smˇesi na u ´ rovni α a znaˇcit RGM (α). Pˇri rozhodov´an´ı o oznaˇcen´ı vstupu jako sign´al nebo pozad´ı jsou nyn´ı pouˇzity pouze vstupy, jejichˇz v´ystupy poch´azej´ı z podmnoˇziny R pro nˇeˇz je odhad pravdˇepodobnosti, ˇze do nich padl vzor z uˇc´ıc´ı mnoˇziny, vyˇsˇs´ı neˇz urˇcit´a hranice. T´ımto zp˚ usobem lze ovlivnit vlastnost generalizace neuronov´e s´ıtˇe, a v d˚ usledku oznaˇcovat jako sign´al/pozad´ı pouze vzory, kter´e jsou bl´ızk´e vzor˚ um z uˇc´ıc´ı mnoˇziny. 36
0
100
200
300
400
Pro pmin rovno nule toto pravidlo pˇrech´az´ı na pravidlo 4.3, pˇri zvyˇsov´an´ı pmin se zmenˇsuj´ı oblasti vstupn´ıho prostoru neuronov´e s´ıtˇe, ze kter´ych poch´azej´ı vzory, kter´e by byly urˇceny jako sign´al nebo pozad´ı. U tohoto pravidla se jiˇz z˚ ustalo, jako hodnota pmin se volila nejˇcastˇeji hodnota 0.1.
0
50
100
150
200
250
Obr´azek 4.3: Odhad hustoty pravdˇepodobnosti f (y) z´ıskan´y pomoc´ı smˇesi norm´aln´ıch rozdˇelen´ı pro odpov´ıdaj´ıc´ı vstupy z R2 , zobrazeno pomoc´ı izoˇcar.
4.7
Srovn´ an´ı rozhodovac´ıch pravidel
Srovn´an´ı bylo provedeno n´asledovnˇe 1. byly vytvoˇreny sloˇzitˇejˇs´ı dvourozmˇern´a uˇc´ıc´ı data, viz. obr. 4.5 2. nˇekolik neuronov´ych s´ıt´ı bylo nauˇceno pro rozpozn´av´an´ı tˇechto dat 3. byly spoˇcteny v´ystupy pro vzory z uˇc´ıc´ı mnoˇziny 4. tyto v´ystupy byly pouˇzity k z´ısk´an´ı odhadu hustoty pravdˇepodobnosti 5. byl navzorkov´an prostor R2 tak, aby obsahoval veˇsker´e vzory z uˇc´ıc´ı mnoˇziny, t´ım vznikla mnoˇzina vzor˚ uS 6. na S byly aplikov´any neuronov´e s´ıtˇe 37
x2
(y)
ad p Odh x1
Obr´azek 4.4: Odhad hustoty pravdˇepodobnosti f (y) z´ıskan´y pomoc´ı smˇesi norm´aln´ıch rozdˇelen´ı pro odpov´ıdaj´ıc´ı vstupy z R2 , zobrazen 3D graf (body urˇcuj´ıc´ı mˇr´ıˇzku jsou jednoduˇse spojeny u ´ seˇckami). 7. na v´ystupy neuronov´ych s´ıt´ı se pouˇzily odhady hustoty pravdˇepodobnosti 8. byly zobrazeny oblasti,ve kter´ych se jednotliv´e body povaˇzuj´ı za sign´al, pozad´ı nebo nev´ım Rozhodovac´ı oblasti jsou zobrazeny n´asledovnˇe. Vstupn´ı prostor neuronov´ych s´ıt´ı je dvourozmˇern´y a kaˇzd´emu bodu z tohoto prostoru je rozhodovac´ım algoritmem pˇriˇrazena hodnota z mnoˇziny {s, b, u}. Pro zobrazen´ı rozhodovac´ıch oblast´ı bylo zvoleno zobrazit hranice oblast´ı pro pˇrijet´ı bod˚ u jako sign´al ˇci pozad´ı v pˇr´ısluˇsn´ych barv´ach, jelikoˇz tyto hranice vˇetˇsinou omezuj´ı uzavˇren´e oblasti, lze snadno poznat, kde je oblast pro sign´al a kde pro pozad´ı. Pro vˇetˇs´ı pˇrehlednost jsou nav´ıc zobrazeny i body z uˇc´ıc´ı mnoˇziny. Na obr´azku 4.6 jsou zobrazeny topologie vybran´ych neuronov´ych s´ıt´ı, pro nˇeˇz jsou n´ıˇze zobrazeny rozhodovac´ı oblasti pro sign´al, pozad´ı nebo nev´ım. Tyto neuronov´e s´ıtˇe byly z´ısk´any n´asleduj´ıc´ım zp˚ usobem: NN1 obsahuje pouze jeden neuron s pˇrep´ınac´ı jednoutkou a deseti v´ypoˇcetn´ımi neurony, byla zkonstruov´ana ruˇcnˇe
38
NN2 byla z´ısk´ana takto, n´ahodnˇe se vygenerovalo 100 neuronov´ych s´ıt´ı, ty byly nauˇceny a byla pro nˇe vyhodnocena chyba E0 (viz. 5.4), neuronov´e s´ıti NN2 odpov´ıdala nejniˇzˇs´ı hodnota E0 NN3 vznikla odebr´an´ım nˇekolika neuron˚ u z NN2 Pro kaˇzdou s´ıt’ jsou zobrazeny oblasti pˇri pouˇzit´ı pravidel RT , RGM (0, 1) a RHIST (0, 1) Z v´ysledk˚ u z´ıskan´ych pro uvedenou dvojrozmˇernou uˇc´ıc´ı mnoˇzinu vyplynulo, ˇze popsan´y pˇr´ıstup je pouˇziteln´y. Tento v´ysledek byl nicm´enˇe prozat´ım z´ısk´an pouze pro jednu jednoduˇsˇs´ı u ´ lohu, Dalˇs´ı ovˇeˇren´ı tohoto pˇr´ıstupu bylo provedeno z´aroveˇ n s anal´yzou neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami.
100
200
x2
300
400
signál pozadí
50
100
150
200
x1
Obr´azek 4.5: Netrivi´aln´ı dvourozmˇern´a uˇc´ıc´ı mnoˇzina, tato mnoˇzina obsahuje body ze dvou tˇr´ıd
39
Obr´azek 4.6: Srovn´avan´e neuronov´e s´ıtˇe, zleva NN1, NN2, NN3
40
400 300 x2 200 100 0
0
50
100
150
200
250
150
200
250
150
200
250
0
100
200
x2
300
400
x1
0
50
100
0
100
200
x2
300
400
x1
0
50
100 x1
41
Obr´azek 4.7: NN1: Hranice rozhodovac´ıch oblast´ı, pˇri pouˇzit´ı r˚ uzn´ ych rozhodovac´ıch pravidel. Zhora: R0 , RHIST (0, 1), RGM (0, 1).
400 300 x2 200 100 0
0
50
100
150
200
250
150
200
250
150
200
250
0
100
200
x2
300
400
x1
0
50
100
0
100
200
x2
300
400
x1
0
50
100 x1
42
Obr´azek 4.8: NN2: Hranice rozhodovac´ıch oblast´ı, pˇri pouˇzit´ı r˚ uzn´ ych rozhodovac´ıch pravidel. Zhora: R0 , RHIST (0, 1), RGM (0, 1).
400 300 x2 200 100 0
0
50
100
150
200
250
150
200
250
150
200
250
0
100
200
x2
300
400
x1
0
50
100
0
100
200
x2
300
400
x1
0
50
100 x1
43
Obr´azek 4.9: NN3: Hranice rozhodovac´ıch oblast´ı, pˇri pouˇzit´ı r˚ uzn´ ych rozhodovac´ıch pravidel. Zhora: R0 , RHIST (0, 1), RGM (0, 1).
Kapitola 5 Urˇ cen´ı kvality neuronov´ e s´ıtˇ e 5.1
Z´ akladn´ı principy a motivace
Jako vstup pro uˇc´ıc´ı metodu slouˇz´ı nenauˇcen´a neuronov´a s´ıt’ NN U a uˇc´ıc´ı mnoˇzina DL (n, m). V´ysledn´a neuronov´a s´ıt’ pˇredstavuje zobrazen´ı, kter´e by mˇelo slouˇzit pro zaˇrazov´an´ı vzor˚ u ze vstupn´ıho prostoru do klasifikaˇcn´ıch tˇr´ıd. Pro takovou neuronovou s´ıt’ vˇsak nen´ı zaruˇceno, ˇze dok´aˇze dostateˇcnˇe dobˇre ˇreˇsit probl´em, k jehoˇz ˇreˇsen´ı byla urˇcena. Proces uˇcen´ı neuronov´e s´ıtˇe obsahuje nˇekolik u ´ skal´ı, mimo jin´e napˇr.: • dan´y probl´em nelze z principu ˇreˇsit • uˇc´ıc´ı mnoˇzina je nekvalitn´ı • nenauˇcen´a neuronov´a s´ıt’ slouˇz´ıc´ı jako vstup uˇc´ıc´ı metody je ˇspatnˇe zvolena Je proto d˚ uleˇzit´e m´ıt k dispozici nˇejak´y n´astroj, kter´y by pomohl urˇcit, zda je urˇcit´a neuronov´a s´ıt’ pouˇziteln´a, ˇci vybrat z mnoˇziny nauˇcen´ych neuronov´ych s´ıt´ı tu nejvhodnˇejˇs´ı. K tomu, aby se dala zmˇeˇrit kvalita neuronov´e s´ıtˇe by bylo optim´aln´ı zn´at spr´avnou hodnotu pro libovoln´y vzor ze vstupn´ıho prostoru, potom by bylo tˇreba moˇzn´e spoˇc´ıtat chybu pro kaˇzd´y vzor a z toho odvodit celkovou chybu. Nˇeco takov´eho je vˇsak nemoˇzn´e, nav´ıc, kdyby byla sch˚ udn´a cesta, jak z´ıskat spr´avnou hodnotu pro libovoln´y vzor ze vstupn´ıho prostoru, nebylo by tˇreba uˇcit neuronovou s´ıt’. Bˇeˇznˇe je k dispozici mnoˇzina vzor˚ u X, ke kaˇzd´emu vzoru je zn´ama poˇzadovan´a hodnota a neuronov´a s´ıt’ je uˇcena co nejl´epe vzhledem k nˇejak´emu krit´eriu klasifikovat dan´e vzory. Nakonec je moˇzn´e vyhodnotit hodnotu dan´eho krit´eria pro zn´am´e vzory a tuto hodnotu pouˇz´ıt jako kvalitu nauˇcen´ı. Tento 44
pˇr´ıstup vˇsak skr´yv´a probl´em naz´yvan´y pˇreuˇcen´ı. Vˇetˇsina krit´eri´ı, kter´e se minimalizuj´ı pˇri uˇcen´ı neuronov´ych s´ıt´ı (vˇcetnˇe neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami) je zamˇeˇreno jen na body z uˇc´ıc´ı mnoˇziny. N´ast´av´a probl´em, ˇze neuronov´a s´ıt’ se m˚ uˇze skvˇele nauˇcit klasifikovat vzory z uˇc´ıc´ı mnoˇziny, ale pˇri klasifikaci vzor˚ u, kter´e jiˇz nebyly v uˇc´ıc´ı mnoˇzinˇe, m˚ uˇze naprosto selhat a vracet nesmysln´e hodnoty. Tento probl´em se bˇeˇznˇe ˇreˇs´ı tak, ˇze se mnoˇzina vzor˚ u, kter´a je k dispozici, rozdˇel´ı na dvˇe ˇci v´ıce podmnoˇzin, kter´e se teprve oznaˇcuj´ı jako uˇc´ıc´ı mnoˇzina a testovac´ı mnoˇzina. Uˇc´ıc´ı mnoˇzina se pouˇzije pro nauˇcen´ı a testovac´ı mnoˇzina se n´aslednˇe pouˇzije pro vyhodnocen´ı minimalizovan´eho krit´eria. Takto lze kvalitu neuronov´e s´ıtˇe mˇeˇrit nejen pomoc´ı vzor˚ u, kter´e byly pouˇzity k jej´ımu nauˇcen´ı, ale i pomoc´ı vzor˚ u, kter´e do t´e doby s´ıt’ nemˇela k dispozici. V nejlepˇs´ım pˇr´ıpadˇe by hodnoty vyhodnocovan´eho krit´eria byly pro uˇc´ıc´ı i testovac´ı mnoˇzinu velice podobn´e. Definice 5.1 Necht’ X je mnoˇzina vzor˚ u dimenze m a velikosti n, X se bude naz´yvat testovac´ı mnoˇ zina dimenze m s n vzory a znaˇcit DT (n, m). Pozn´ amka 5.1 Definice testovac´ıch i uˇc´ıc´ıch mnoˇzin vlastnˇe pouze jinak pojmenov´av´aj´ı mnoˇzinu vzor˚ u za u ´ˇcelem zd˚ uraznˇen´ı u ´ˇcelu, pro kter´y jsou pouˇzity. Nˇekdy se pro testovac´ı krit´erium m˚ uˇze pouˇz´ıt i jin´e krit´erium, neˇz kter´e bylo minimalizov´ano pˇri uˇcen´ı. Toto plyne z toho, ˇze nˇekter´a krit´eria je velice obt´ıˇzn´e minimalizovat a je v´yhodnˇejˇs´ı pouˇz´ıt uˇc´ıc´ı metody m´enˇe n´aroˇcn´e na v´ypoˇcetn´ı prostˇredky pro uˇcen´ı v´ıce s´ıt´ı a posl´eze vybrat s´ıt’, kter´a minimalizuje jin´e, opravdu poˇzadovan´e krit´erim. Toto je i pˇr´ıpad pˇri uˇcen´ı neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami. N´ıˇze v textu je pops´ano nˇekolik krit´eri´ı, kter´e byly implementov´any a pouˇz´ıvany pˇri srovn´av´an´ı v´ysledk˚ u pro r˚ uzn´e neuronov´e s´ıtˇe. Srovn´an´ı jednotliv´ych krit´eri´ı samo o sobˇe nen´ı moˇzn´e, proto byla tyto krit´eria srovn´av´ana pr˚ ubˇeˇznˇe bˇehem anal´yzy vlastnost´ı neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami viz. kapitola 7
5.2
Krit´ erium nejmenˇs´ıch ˇ ctverc˚ u
ˇ Casto pouˇz´ıvan´e krit´erium pro minimalizaci i vyhodnocov´an´ı kvality neuronov´ych s´ıt´ı je souˇcet kvadr´at˚ u odchylek. Tato ztr´atov´a funkce je pouˇz´ıv´ana hlavnˇe pro jednoduchost, lze ji totiˇz minimalizovat snadnˇeji neˇz jin´e ztr´atov´e
45
funkce, podrobnˇejˇs´ı diskuse lze naj´ıt napˇr. v [BIS97, VIS98]. Toto krit´erium m´a podobu n X ESSE = (yi − ti )2 (5.1) i=1
hodnota tohoto krit´eria je z´avisl´a na poˇctu dat, proto se pro vyhodnocen´ı kvality ˇcastˇeji pouˇz´ıv´a stˇredn´ı hodnota kvadr´atu odchylek n
EM SE nebo v´yraz
1X = (yi − ti )2 n i=1 n P
(yi − ti )2
ERSE = i=1 n P
(5.2)
(5.3)
(yi − t¯)2
i=1
kde t¯ =
n P
ti .
i=1
Tyto ztr´atov´e funkce jiˇz nejsou z´avisl´e na poˇctu dat a usnadˇ nuj´ı tak srovn´an´ı pro r˚ uzn´a testovac´ı data. Hodnota tˇechto krit´eri´ı sice kles´a s t´ım, jak se v´ystupn´ı hodnoty vzor˚ u z testovac´ı mnoˇziny bl´ıˇz´ı k poˇzadovan´ym v´ystup˚ um, nicm´enˇe toto krit´erium se odvozuje za pˇredpokladu, ˇze poˇzadovan´e hodnoty obsahuj´ı chybovou sloˇzku, kter´a m´a norm´aln´ı rozdˇelen´ı. To v pˇr´ıpadˇe klasifikace do dvou skupin, kde poˇzadovan´e hodnoty mohou b´yt bud’ −1 nebo +1, nen´ı pˇr´ıliˇs opodstatnˇen´e, v´ıce lze na toto t´ema naj´ıt napˇr. v [BIS97]. Tyto d˚ uvody vedou k pouˇzit´ı jin´ych ztr´atov´ych funkc´ı.
5.3
Cross-entropy
Ztr´atovou funkci, kter´a je pro u ´ˇcely klasifikace vhodnˇejˇs´ı neˇz krit´erium souˇctu kvadr´at˚ u odchylek ESSE , lze odvodit n´asleduj´ıc´ı u ´ vahou, jedn´a se o pouˇzit´ı principu maxim´aln´ı vˇerohodnosti. Necht’ vzory urˇcen´e pro klasifikaci poch´azej´ı z prostoru Rn . Necht’ funkce f : Rn 7→ R kaˇzd´emu vzoru x z Rn pˇriˇrazuje pravdˇepodobnost, ˇze dan´y vzor je sign´al, tedy p(C = s|x). D´ale necht’ X je mnoˇzina vzor˚ u. Definice 5.2 Funkce t01 : {−1, 1} 7→ {0, 1} je definov´ana n´asledovnˇe 0 pro t = −1 def t01 (t) = (5.4) 1 pro t = 1 46
Pro vˇetˇs´ı pˇrehlednost se bude m´ısto poˇzadovan´ych hodnot ti odpov´ıdaj´ıc´ım def vzor˚ um xi pouˇz´ıvat t′i = t01 (ti ). Za pˇredpokladu, ˇze dvojice (xi , ti ) oznaˇcovan´e jako wi jsou realizace navz´ajem nez´avisl´ych n´ahodn´ych veliˇcin Wi , lze pro pravdˇepodobnost mnoˇziny vzor˚ u p(X) napsat n Y p(X) = p(Wi = wi) (5.5) i=1
pro pravdˇepodobnosti p(Wi ) plat´ı (pˇredpokl´ad´a se, ˇze p(Wi = (X, T )) nez´avis´ı na T ) p(Wi = (xi , +1)) = f (xi ) p(Wi = (xi , −1)) = 1 − f (xi )
(5.6) (5.7)
coˇz lze zapsat jako ′
′
p(Wi = (xi , ti )) = f (xi )ti (1 − f (xi ))1−ti
(5.8)
po dosazen´ı do 5.5 p(X) =
n Y
p(Wi = wi ) =
i=1
n Y i=1
′
′
f (xi )ti (1 − f (xi ))1−ti
(5.9)
ˇ ım je P (X) vˇetˇs´ı, t´ım v´ıce vzory z X odpov´ıdaj´ıc´ı pravdˇepodobnostem C´ dan´ym funkc´ı f , toto lze obr´atit, upevnit mnoˇzinu vzor˚ u a hledat funkci f , kter´a nejl´epe popisuje dan´e vzory. Optim´aln´ı takov´a funkce by tedy maximalizovala 5.5. Tento v´yraz by jiˇz jako takov´y pro urˇcov´an´ı kvality postaˇcoval, nˇekolika u ´ pravami ho lze pˇrev´est na ztr´atovou funkci. Pˇri urˇcov´an´ı kvality jde hlavnˇe o srovn´av´an´ı funkc´ı f a nejde jiˇz tolik o opravdov´e hodnoty, lze proto d´ale upravovat z´apornˇe vzat´y logarimus p(X), t´ım se obr´at´ı smysl a optim´aln´ı funkce bude minimalizovat tento upraven´y v´yraz.
− log p(X) = − log{
=−
i=1
n X
i=1
′
′
f (xi )ti (1 − f (xi ))1−ti } = ′
′
log(f (xi )ti (1 − f (xi ))1−ti ) =
(5.10)
t′i log(f (xi )) + (1 − t′i ) log(1 − f (xi ))
(5.11)
=− n X
n Y
i=1
47
v´yraz 5.11 pˇredstavuje koneˇcnou podobu ztr´atov´e funkce, kter´a se bude znaˇcit ECE . Tato ztr´atov´a funkce se v anglick´e literatuˇre naz´yv´a cross-entropy. V´ıce lze o vlastnostech a pouˇzit´ı tohoto krit´eria nal´ezt napˇr. v [BIS97] Pro vyhodnocen´ı ECE je tˇreba m´ıt k dispozici funkci vracej´ıc´ı odpov´ıdaj´ıc´ı pravdˇepodobnosti. Toto v´ystupy neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami nesplˇ nuj´ı, jiˇz to vˇsak splˇ nuje sloˇzen´ı funkc´ı, z nichˇz vnitˇrn´ı pˇredstavuje funkci reprezentovanou neuronovou s´ıt´ı a vnˇejˇs´ı, kter´a v´ystupy neuronov´e s´ıtˇe pˇrev´ad´ı na pravdˇepodobnosti. Implementov´ana a vyzkouˇsena byla kombinace, kdy pro odhad pravdˇepodobnost´ı byla pouˇzita smˇes norm´aln´ıch rozdˇelen´ı, kter´a slouˇzila jako postprocessor na v´ystupy neuronov´e s´ıtˇe. Takto z´ıskan´e krit´erium se bude znaˇcit ECEGM Pozn´ amka 5.2 Nyn´ı je vidˇet dalˇs´ı d˚ uvod, proˇc se snaˇzit interpretovat v´ystupy neuronov´e s´ıtˇe jako pravdˇepodobnosti. Pokud by neuronov´a s´ıt’ vracela pravdˇepodobnosti, ˇze dan´y vzor je sign´al, lze pouˇz´ıt krit´erium ECE k srovn´av´an´ı r˚ uzn´ych neuronov´ych s´ıt´ı a v´ybˇeru t´e, kter´a nab´yv´a niˇzˇs´ı hodnoty tohoto krit´eria. Jeˇstˇe lepˇs´ı by bylo pˇr´ımo toto krit´erium minimalizovat pˇri uˇcen´ı, uˇc´ıc´ı proces neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami je vˇsak pevnˇe nastaven a takov´a u ´prava by byla tˇeˇzko provediteln´a.
5.4
Dalˇs´ı ztr´ atov´ e funkce
Pˇrirozenou volbou, jak volit kvalitu nauˇcen´ı neuronov´e s´ıtˇe je pomˇer ˇspatnˇe klasifikovan´ych vzor˚ u z testovac´ı mnoˇziny ku vˇsem vzor˚ um z testovac´ı mnoˇziny. Pˇri takto formulovan´em krit´eriu z´aleˇz´ı, jak´ym zp˚ usobem se rozhoduje o pˇr´ısluˇsnostech jednotliv´ych vzor˚ u viz. kapitola 4. Jako ztr´atov´e funkce lze definovat n´asleduj´ıc´ı v´yrazy, necht’ je d´an´a testovac´ı mnoˇzina LT (n, m). n0 (5.12) n kde n0 je poˇcet ˇspatnˇe urˇcen´ych vzor˚ u z testovac´ı mnoˇziny pˇri pouˇzit´ı rozhodovac´ıho pravidla R0 . def
E0 =
nHIST (5.13) n kde nHIST je poˇcet ˇspatnˇe urˇcen´ych vzor˚ u z testovac´ı mnoˇziny pˇri pouˇzit´ı rozhodovac´ıho pravidla RHIST (α). def
EHIST (α) =
def
EGM (α) =
48
nGM n
(5.14)
kde nGM je poˇcet ˇspatnˇe urˇcen´ych vzor˚ u z testovac´ı mnoˇziny pˇri pouˇzit´ı rozhodovac´ıho pravidla RGM (α). jako posledn´ı ztr´atov´a funkce byla zkouˇsena modifikace krit´eria ECEGM n´asleduj´ıc´ım zp˚ usobem: n
def
SGM =
1X ′ ′ f (xi )ti + (1 − f (xi ))1−ti n i=1 def
ESGM = 1 − SGM
49
(5.15)
(5.16)
Kapitola 6 Benchmarky pro klasifik´ atory 6.1
´ Uvod
Nˇekdy je potˇreba srovn´avat dvˇe a v´ıce metod pro ilustraci jejich schopnost´ı, tak´e pˇri v´yvoji nov´ych metod je nutn´e srovn´avat nov´e metody s v´ysledky jin´ych, jiˇz existuj´ıc´ıch metod. Pro tyto u ´ˇcely existuj´ı v r˚ uzn´ych vˇedeck´ych oblastech referenˇcn´ı soubory probl´em˚ u, kter´e usnadˇ nuj´ı porovn´an´ı v´ysledk˚ u aniˇz by bylo nutn´e neust´ale pˇrepoˇc´ıt´avat v´ysledky pro r˚ uzn´a data. Dalˇs´ı v´yhodou je fakt, ˇze tyto referenˇcn´ı soubory jiˇz obsahuj´ı data pˇripraven´a ve formˇe, aby se dala snadno pouˇz´ıt. Jako souˇc´ast tˇechto soubor˚ u probl´em˚ u jsou i pravidla, jak by se mˇelo postupovat pro spr´avnou aplikaci srovn´avan´e metody a n´asledn´e umoˇznˇen´ı srovn´an´ı v´ysledk˚ u s jin´ymi, jelikoˇz pro korektn´ı porovn´an´ı v´ysledk˚ u nestaˇc´ı jen ˇreˇsit stejn´y probl´em, ale je nutn´e dodrˇzovat i jist´a pravidla. Pro srovn´an´ı klasifikaˇcn´ıch metod nebo pˇr´ımo variant neuronov´ych s´ıt´ı lze na internetu nal´ezt nˇekolik takov´ych soubor˚ u.
6.2
Proben1
Proben1 je soubor probl´em˚ u pˇr´ımo pro srovn´an´ı v´ykonu neuronov´ych s´ıt´ı. Aˇz na nˇekolik vyj´ımek se jedn´a o re´aln´e a nikoliv umˇele vytvoˇren´e probl´emy. Velk´y pˇr´ınos tohoto souboru probl´emu a hlavn´ı d˚ uvod, proˇc byl nakonec vybr´an pro pouˇzit´ı, je snadnost pouˇzit´ı. Veˇsker´e datov´e soubory jsou ve stejn´em form´atu a jiˇz pˇredzpracov´any pˇr´ımo pro uˇcen´ı. Obvykle re´aln´a data obsahuj´ı chybˇej´ıc´ı hodnoty nebo odlehl´a pozorov´an´ı, dalˇs´ım probl´emem m˚ uˇze b´yt povaha dat, namˇeˇren´e veliˇciny mohou b´yt napˇr´ıklad diskr´etn´ı, spojit´e, celoˇc´ıseln´e nebo dokonce kategori´aln´ı. Datov´e soubory v Proben1 jiˇz byly upraveny tak, aby se daly rovnou pouˇz´ıt a nebylo tˇreba 50
ˇreˇsit jejich zpracov´an´ı. V Proben1 jsou data upravena takto • za chybˇej´ıc´ı hodnoty jsou dosazeny stˇredn´ı hodnoty odpov´ıdaj´ıc´ıch veliˇcin • kategori´aln´ı promˇenn´e jsou zak´odov´any do bin´arn´ı podoby Necht’ veliˇcina X je kategori´aln´ı a m˚ uˇze nab´yvat hodnot z mnoˇziny M = {1, . . . , n}, m = |M|, konkr´etn´ı hodnota x veliˇciny X je nahrazena vektorem y = (y1 , . . . , ym ), kde 1 pro x = i (6.1) yi = 0 jinak Pro potˇreby uˇcen´ı neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami bylo sice nutn´e uˇc´ıc´ı a testovac´ı datov´e soubory pˇrev´est do odliˇsn´eho form´atu, ale to jiˇz nen´ı tak n´aroˇcn´y probl´em, jako pˇripravit re´alnˇe namˇeˇren´a data. Proben1 obsahuje jak klasifikaˇcn´ı, tak aproximaˇcn´ı probl´emy. Pouˇzita byla data z n´ıˇze popsan´ych probl´em˚ u, kter´e jsou formulov´any jako klasifikace do dvou tˇr´ıd. Cancer rozhodov´an´ı, zda m´a pacient rakovinu Dimenze uˇc´ıc´ı mnoˇziny: 9 Poˇcet objekt˚ u v uˇc´ıc´ı mnoˇzinˇe: 350 Pouˇzit´ı tˇechto dat vyˇzaduje uv´est p˚ uvodn´ı origin´aln´ı zdroj tˇechto dat. ˇ ast namˇeˇren´ych dat bylo z´ısk´ano z University Medical Centre, InstiC´ tute of Oncology, Ljublana, Slovinsko. Card rozhodov´an´ı, zda klientovi banky m´a b´yt pˇridˇelena kreditn´ı karta Dimenze uˇc´ıc´ı mnoˇziny: 51 Poˇcet objekt˚ u v uˇc´ıc´ı mnoˇzinˇe: 345 Diabetes rozhodov´an´ı, zda m´a pacient cukrovku Dimenze uˇc´ıc´ı mnoˇziny: 8 Poˇcet objekt˚ u v uˇc´ıc´ı mnoˇzinˇe: 384 Heart rozhodov´an´ı, zda m´a pacient srdeˇcn´ı chorobu Dimenze uˇc´ıc´ı mnoˇziny: 35 Poˇcet objekt˚ u v uˇc´ıc´ı mnoˇzinˇe: 460
51
Mushroom rozhodov´an´ı, zda je dan´a houba jedl´a, toto je jedin´y probl´em, kdy uˇc´ıc´ı mnoˇzina nebyla z´ıskan´a mˇeˇren´ım hodnot, ale byla vytvoˇrena zad´an´ım hodnot z knihy obsahuj´ıc´ı popis r˚ uzn´ych druh˚ u hub Dimenze uˇc´ıc´ı mnoˇziny: 125 Poˇcet objekt˚ u v uˇc´ıc´ı mnoˇzinˇe: 4062
Bal´ık proben1 je volnˇe k dispozici pˇres ftp protokol na adrese ftp.cs.cmu.edu, adres´aˇr /afs/cs/project/connect/bench/contrib/prechelt.
6.3
UCI Machine Learning Repository
UCI Machine learning repository je zˇrejmˇe nejrozs´ahlejˇs´ı sb´ırka r˚ uzn´ych probl´em˚ u, dalˇs´ı podobnˇe zamˇeˇren´e referenˇcn´ı soubory probl´em˚ u vˇcetnˇe proben1 a delve obsahuj´ı ˇc´ast dat pr´avˇe z tohoto zdroje. Tato sb´ırka probl´em˚ u obsahuje u ´ lohy jak aproximaˇcn´ıho, tak klasifikaˇcn´ıho typu (klasifikace jen do dvou i do v´ıce klasifikaˇcn´ıch tˇr´ıd). Veˇsker´e datov´e soubory vˇcetnˇe dokumentace, lze volnˇe z´ıskat z internetov´e adresy http://www.ics.uci.edu/∼mlearn/ MLRepository.html.
6.4
Delve
Jedn´a se o nepˇr´ıliˇs rozs´ahl´y soubor, jehoˇz ˇc´ast obsahu se kryje s obsahem UCI Machine learning repository. Jeho positivem je rozdˇelen´ı probl´em˚ u na dvˇe skupiny, pˇriˇcemˇz jedna skupina by mˇela slouˇzit pro pouˇzit´ı pˇri vylepˇsov´an´ı metod, pˇriˇcemˇz se pˇredpokl´ad´a, ˇze protoˇze se dan´a metoda vylepˇsovala tak, aby se v´ysledky zlepˇsovaly na urˇcit´ych datech, nemˇela by tato data slouˇzit pro srovn´an´ı s jin´ymi metodami, druh´a skupina slouˇz´ı opravdu k regul´ern´ımu srovn´av´an´ı metod. Datov´e soubory a dokumetaci t´ykaj´ıc´ı se Delve lze volnˇe z´ıskat na internetov´e adrese http://www.cs.toronto.edu/∼delve/.
52
Kapitola 7 Anal´ yza neuronov´ ych s´ıt´ı s pˇ rep´ınac´ımi jednotkami 7.1
´ Uvod a motivace
Pro nauˇcen´ı neuronov´e s´ıtˇe je tˇreba m´ıt k dispozici uˇc´ıc´ı mnoˇzinu LD (n, m) a nenauˇcenou neuronovou s´ıt’ NN U , aplikov´an´ım uˇc´ıc´ı metody na dvojici (LD (n, m), NN U ) jsou nastaveny parametry jednotliv´ych neuron˚ u tvoˇr´ıc´ıch v´yslednou neuronovou s´ıt’. Nenauˇcen´a neuronov´a s´ıt’ obsahuje informaci o topologii a zp˚ usobu uˇcen´ı jednotliv´ych neuron˚ u. Na volbˇe nenauˇcen´e neuronov´e s´ıtˇe silnˇe z´avis´ı kvalita v´ysledn´e neuronov´e s´ıtˇe pro urˇcit´a uˇc´ıc´ı data. Neuˇc´ı se tedy pouze jedin´a s´ıt’, ale pro nalezen´ı optim´aln´ı neuronov´e s´ıtˇe se jich bˇeˇznˇe uˇc´ı vyˇsˇs´ı poˇcet. Pˇri takov´emto zp˚ usobu uˇcen´ı, kdy se zkouˇs´ı r˚ uzn´e nenauˇcen´e neuronov´e s´ıtˇe, by velice pomohl n´astroj, kter´y by naznaˇcil, jak´e vlastnosti by mˇeli splˇ novat nenauˇcen´e neuronov´e s´ıtˇe vhodn´e k ˇreˇsen´ı dan´eho probl´emu. Takov´ych n´astroj˚ u by mohlo b´yt v´ıce, kaˇzd´y optimalizuj´ıc´ı vybranou tˇr´ıdu parametr˚ u. Pro optimalizaci topologie a nˇekter´ych parametr˚ u nenauˇcen´e neuronov´e s´ıtˇe lze jiˇz nyn´ı pouˇz´ıt genetick´eho algoritmu viz. [KAL02]. Genetick´y algoritmus vˇsak neoptimalizuje veˇsker´e parametry a jeho ˇcasov´a n´aroˇcnost je zpravidla vysok´a, proto je m´alokdy moˇzn´e vyzkouˇset genetick´y algoritmus pro r˚ uzn´a nastaven´ı, kter´a j´ım nejsou optimalizov´any. Pomohla by existence postupu, pomoc´ı nˇehoˇz by se v pˇrijatelnˇe kr´atk´em ˇcase dalo odhadnout, kter´e nastaven´ı pouˇz´ıt pro uˇcen´ı. Z´akladn´ı myˇslenka je snaˇzit se vyˇreˇsit jednoduˇsˇs´ı u ´ lohu, to znamen´a vz´ıt nˇekolik jednoduˇsˇs´ıch s´ıt´ı a uk´azat, ˇze pokud urˇcit´e parametry d´avaj´ı na tˇechto jednoduˇsˇs´ıch s´ıt´ıch lepˇs´ı v´ysledky, budou pˇri pouˇzit´ı tˇechto parametr˚ u d´avat lepˇs´ı v´ysledky i sloˇzitˇejˇs´ı s´ıtˇe.
53
Zp˚ usob pouˇzit´ı by pak vypadal n´asledovnˇe: pˇred spuˇstˇen´ım genetick´eho algoritmu by se nejprve spustila anal´yza uˇc´ıc´ıch dat, tato anal´yza by posl´eze doporuˇcila urˇcit´e nastaven´ı, kter´e by se pak pouˇzilo pˇri spuˇstˇen´ı hlavn´ıho uˇc´ıc´ıho procesu. Dan´a anal´yza by mˇela m´ıt nˇekolik vlastnost´ı: • bˇeh anal´yzy by mˇel trvat ˇr´adovˇe kratˇs´ı dobu, neˇz bˇeh n´asledn´eho uˇcen´ı • poˇcet parametr˚ u t´eto anal´yzy by mˇel b´yt minim´aln´ı (v nejl´epˇs´ım pˇr´ıpadˇe by jedin´ym parametrem t´eto anal´yzy byla pouze uˇc´ıc´ı mnoˇzina) • anal´yza by mˇela d´avat rozumn´e v´ysledky pro co nejˇsirˇs´ı tˇr´ıdu uˇc´ıc´ıch mnoˇzin V´ysledk˚ u hled´an´ı takov´e anal´yzy m˚ uˇze b´yt nˇekolik: • najde se postup, jak urˇcit vhodn´e parametry, kter´e se mohou liˇsit podle typu dat • zjist´ı se, ˇze urˇcit´e nastaven´ı je nejvhodnˇejˇs´ı ve vˇsech pˇr´ıpadech • nepodaˇr´ı se naj´ıt postup, jak v rozumnˇe kr´atk´em ˇcase odhadnout nejvhodnˇejˇs´ı parametry
7.2
Z´ akladn´ı myˇslenky
Ve snaze naj´ıt takovou anal´yzu je tˇreba se nejprve zamyslet, jak by mˇela pracovat a hodnoty kter´ych parametr˚ u by se mˇela snaˇzit odhadnout. Zaˇc´ıt by se mˇelo s nejjednoduˇsˇs´ımi s´ıtˇemi a v z´avislosti na dosaˇzen´ych v´ysledc´ıch postupovat systematicky d´ale. Nejjednoduˇsˇs´ı neuronov´a s´ıt’ s pˇrep´ınac´ımi jednotkami obsahuje pouze vstupn´ı neuron a jeden neuron s pˇrep´ınac´ı jednotkou, proto byly nejprve vyhodnoceny v´ysledky pro takov´eto trivi´aln´ı s´ıtˇe.
7.3
Anal´ yza s´ıtˇ e s jedn´ım neuronem
V pˇr´ıpadˇe neuronov´e s´ıtˇe obsahuj´ıc´ı pouze vstupn´ı neuron a jeden neuron s pˇrep´ınac´ı jednotkou jsou parametry neuronov´e s´ıtˇe shodn´e s parametry jedin´eho NSU: • poˇcet v´ypoˇcetn´ıch neuron˚ u • typ v´ypoˇcetn´ıch neuron˚ u 54
• zp˚ usob nauˇcen´ı v´ypoˇcetn´ıch neuron˚ u • zp˚ usob nauˇcen´ı pˇrep´ınac´ı jednotky, jedn´a se pˇredevˇs´ım o v´ybˇer metody shlukov´e anal´yzy a jej´ıch parametr˚ u Jelikoˇz jedin´y NSU je z´aroveˇ n v´ystupn´ı neuron, mus´ı b´yt v´ystupn´ı dimenze tohoto neuronu jednorozmˇern´a, toto splˇ nuje pouze NSU s v´ypoˇcetn´ımi neurony typu I, ostatn´ı parametry jsou jiˇz libovoln´e. Nejv´ıce variabiln´ı je parametr ud´avaj´ıc´ı poˇcet v´ypoˇcetn´ıch neuron˚ u. Ostatn´ı parametry mohou nab´yvat koneˇcn´y poˇcet hodnot z relativnˇe mal´eho rozmez´ı (pˇresto je vˇsak poˇcet kombinac´ı znaˇcn´y). Rozhodlo se tedy, ˇze se vˇzdy upevn´ı parametry pˇrep´ınac´ı jednotky ozn. P JP a neuronov´a s´ıt’ se bude uˇcit pro r˚ uzn´e hodnoty poˇctu v´ypoˇcetn´ıch neuron˚ u k. Za dostateˇcn´y rozsah hodnot poˇctu v´ypoˇcetn´ıch neuron˚ u byla zvolena mnoˇzina { i | 1 < i ≤ 100 }. Takto definovan´e nenauˇcen´e neuronov´e s´ıtˇe byly nauˇceny uˇc´ıc´ı metodou spolu s daty z proben1 popsan´eho v kapitole 6. Pro kaˇzdou uˇc´ıc´ı mnoˇzinu DL (n, m) a parametry dan´e hodnotou P JP takto vznikl cel´y soubor neuronov´ych s´ıt´ı pro r˚ uzn´e hodnoty poˇctu v´ypoˇcetn´ıch neuron˚ u. Tyto s´ıtˇe byly srovn´any pomoc´ı krit´eri´ı z mnoˇziny def
SE = {EM SE , E0 , EHIST (0, 1), EGM (0, 1), ECEGM , ESGM }
(7.1)
to z´aroveˇ n umoˇznilo i srovn´an´ı uveden´ych krit´eri´ı kvality. V potaz se musela vz´ıt jeˇstˇe ot´azka v´ypoˇcetn´ı n´aroˇcnosti. Uˇcen´ı v´ypoˇcetn´ıch neuron˚ u je v porovn´an´ı se shlukovac´ımi algoritmy rychl´e, z v´ysledk˚ u porovn´an´ı ˇcasov´e n´aroˇcnosti metod shlukov´e anal´yzy nav´ıc plyne, ˇze vzhledem k velikostem pouˇzit´ych uˇc´ıc´ıch mnoˇzin (kromˇe probl´emu oznaˇcen´eho jako mushroom jsou velikosti uˇc´ıc´ıch mnoˇzin < 500 - viz. kapitola 6) jsou pro nauˇcen´ı pˇrep´ınac´ı jednotky pouˇziteln´e veˇsker´e popsan´e metody shlukov´e anal´yzy. Jelikoˇz pouˇzit´ı cel´e sady krit´eri´ı kvality pro mnoho r˚ uzn´ych pˇr´ıpad˚ u vedlo k vytvoˇren´ı pomˇernˇe vysok´eho poˇctu hodnot, byly v´ysledky pro jednotliv´e kombinace DL (n, m) a P JP jeˇstˇe d´ale zpracov´any. Za koneˇcn´e v´ysledky pro kaˇzd´e krit´erium urˇcen´ı kvality se povaˇzovaly n´asleduj´ıc´ı statistiky: E stˇredn´ı hodnota med medi´an min minim´aln´ı hodnota max maxim´aln´ı hodnota 55
NCN poˇcet v´ypoˇcetn´ıch neuron˚ u, pˇri nichˇz bylo dosaˇzeno minima odpov´ıdaj´ıc´ıho krit´eria (pokud bylo minima krit´eria nab´yv´ano na v´ıce s´ıt´ıch, v´ysledkem bylo nejniˇzˇs´ı z nich) Hodnoty r˚ uzn´ych krit´eri´ı kvality byly poˇc´ıt´any jak pro uˇc´ıc´ı, tak pro testovac´ı mnoˇzinu. Jako testovac´ı mnoˇzina se pouˇz´ıvala mnoˇzina vzor˚ u, kter´a je v souboru proben1 oznaˇcov´ana jako validaˇcn´ı (ke kaˇzd´emu probl´emu obsahuje proben1 uˇc´ıc´ı mnoˇzinu a dvˇe r˚ uzn´e mnoˇziny vzor˚ u urˇcen´e pro vyhodnocen´ı kvality, v´ıce lze naj´ıt v [PRE94]), nav´ıc ke kaˇzd´emu probl´emu existuj´ı tˇri r˚ uzn´e uˇc´ıc´ı, tˇri r˚ uzn´e validaˇcn´ı a tˇri r˚ uzn´e testovac´ı mnoˇziny. Napˇr´ıklad pro probl´em heart existuje uˇc´ıc´ı mnoˇzina 1, uˇc´ıc´ı mnoˇzina 2 a uˇc´ıc´ı mnoˇzina 3. To sam´e plat´ı pro validaˇcn´ı a testovac´ı mnoˇziny. Ve vˇsech pˇr´ıpadech byly pouˇzity mnoˇziny oznaˇcen´e ˇc´ıslem 1. Pro uˇcen´ı pˇrep´ınac´ı jednotky bylo pouˇzito pouze deterministick´ych metod, to umoˇznilo pozdˇejˇs´ı vyhodnocen´ı dalˇs´ıch krit´eri´ı, bez nutnosti pˇrepoˇc´ıt´an´ı jiˇz dˇr´ıve z´ıskan´ych hodnot. Pozn´ amka 7.1 Pro u ´plnost bylo vyzkouˇseno i krit´erium souˇctu odchylek v absolutn´ı hodnotˇe n X def ESAE = |f (xi ) − ti | (7.2) i=1
Podle oˇcek´av´an´ı vˇsak odpov´ıdaly hodnoty tohoto krit´eria hodnot´am z´ıskan´ych pomoc´ı krit´eria ESSE a upustilo se od napoˇc´ıt´av´an´ı obou krit´eri´ı najednou. ESSE (pˇresnˇeji jeho varianta EM SE ) bylo preferov´ano, jelikoˇz se pˇri uˇcen´ı v´ypoˇcetn´ıch neuron˚ u minimalizuje pr´avˇe toto krit´erium. Tabulky v´ysledn´ych hodnot jsou vˇzdy uvedeny dvˇe, jedna s v´ysledky na uˇc´ıc´ı mnoˇzinˇe a jedna s v´ysledky na testovac´ı mnoˇzinˇe. Je tak´e nutn´e si uvˇedomit, ˇze se sice porovn´avaj´ı neuronov´e s´ıtˇe se stejnou topologi´ı, ale tyto s´ıtˇe maj´ı r˚ uznou s´ılu. Se zvyˇsuj´ıc´ım poˇctem v´ypoˇcetn´ıch neuron˚ u uvnitˇr neuronu s pˇrep´ınac´ı jednotkou roste poˇcet parametr˚ u popisu’ ’ j´ıc´ıch v´yslednou neuronovou s´ıt . Necht vstupn´ı dimenze neuronou s pˇrep´ınac´ı jednotkou je d, poˇcet parametr˚ u pro kaˇzd´y v´ypoˇcetn´ı neuron je d + 1 (pokud se uvaˇzuj´ı pouze pˇrechodov´e funkce typu I a II) a dalˇs´ıch d parametr˚ u pˇredstavuje bod ze vstupn´ıho prostoru, pomoc´ı nˇehoˇz jsou vstupy distribuov´any mezi jednotliv´e v´ypoˇcetn´ı neurony. Celkov´y poˇcet parametr˚ u neuronu s pˇrep´ınac´ı jednotkou a k v´ypoˇcetn´ımi neurony je roven v´yrazu k(2d + 1). S rostouc´ım poˇctem v´ypoˇcetn´ıch neuron˚ u by se tedy mˇela sniˇzovat chyba na uˇc´ıc´ı mnoˇzinˇe a r˚ ust chyba na testovac´ı mnoˇzinˇe, jelikoˇz s´ıt’ se bude st´avat pˇr´ıliˇs specializovan´a na uˇc´ıc´ı mnoˇzinu.
56
E med min max stddev NCN
EM SE 0,259 0,228 0,101 0,639 0,099 35
E0 0,094 0,087 0,038 0,246 0,034 35
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,110 0,112 5,190 1,158 0,107 0,099 5,251 1,133 0,035 0,061 1,438 1,079 0,246 0,380 15,119 1,580 0,035 0,043 2,246 0,075 35 96 2 96
Tabulka 7.1: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 3,713 1,828 0,538 30,317 5,125 3
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,210 0,419 0,452 2,149 1,983 0,209 0,430 0,465 2,148 1,957 0,122 0,198 0,209 0,898 1,328 0,279 0,576 0,674 4,515 3,344 0,028 0,099 0,099 0,612 0,355 4 4 4 6 4
Tabulka 7.2: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 0,251 0,221 0,126 0,541 0,089 99
E0 0,092 0,081 0,046 0,206 0,031 99
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,103 0,108 5,230 1,152 0,104 0,099 5,188 1,132 0,043 0,058 1,643 1,083 0,217 0,246 11,690 1,360 0,034 0,035 1,891 0,060 21 98 4 98
Tabulka 7.3: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky byly nalezeny pomoc´ı PCA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
57
E med min max stddev NCN
EM SE 3,088 2,031 0,492 17,186 3,049 2
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,200 0,402 0,448 2,122 1,989 0,198 0,401 0,453 2,085 1,949 0,116 0,151 0,192 0,845 1,321 0,308 0,564 0,640 3,649 2,997 0,033 0,087 0,094 0,506 0,358 6 6 6 18 6
Tabulka 7.4: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky byly nalezeny pomoc´ı PCA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 0,260 0,258 0,131 0,982 0,097 93
E0 0,083 0,081 0,041 0,438 0,041 93
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,083 0,101 69,917 0,137 0,078 0,099 71,814 0,137 0,038 0,055 0,000 0,065 0,438 0,562 114,508 0,562 0,042 0,051 17,468 0,053 96 93 2 93
Tabulka 7.5: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: metoda nejbliˇzˇs´ıho souseda, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 5,572 4,750 0,386 51,676 8,530 3
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,156 0,255 0,283 80,403 0,323 0,157 0,267 0,297 82,812 0,339 0,099 0,128 0,145 0,000 0,190 0,436 0,436 0,564 155,937 0,564 0,034 0,056 0,060 23,122 0,056 5 8 5 2 5
Tabulka 7.6: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: metoda nejbliˇzˇs´ıho souseda, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost. 58
E med min max stddev NCN
EM SE 0,217 0,170 0,114 0,770 0,117 72
E0 0,081 0,064 0,043 0,330 0,048 38
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,081 0,104 66,824 0,120 0,067 0,087 52,790 0,102 0,032 0,049 24,586 0,051 0,333 0,435 323,941 0,443 0,050 0,058 43,517 0,059 38 38 72 38
Tabulka 7.7: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: metoda nejvzd´alenˇejˇs´ıho souseda, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 1,345 1,371 0,488 3,761 0,477 4
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,182 0,291 0,356 127,510 0,381 0,174 0,291 0,366 122,756 0,384 0,116 0,151 0,169 63,108 0,215 0,372 0,419 0,483 378,261 0,494 0,038 0,048 0,073 40,043 0,067 3 5 5 2 5
Tabulka 7.8: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: metoda nejvzd´alenˇejˇs´ıho souseda, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 0,284 0,280 0,205 0,482 0,042 16
Heart : Uˇ c´ıc´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,100 0,109 0,115 109,637 0,147 0,098 0,109 0,115 107,222 0,148 0,052 0,052 0,074 64,765 0,102 0,159 0,163 0,183 206,599 0,233 0,016 0,024 0,016 20,263 0,020 16 16 16 16 16
Tabulka 7.9: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
59
E med min max stddev NCN
EM SE 2,538 1,670 0,539 21,704 2,910 2
Heart : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,244 0,327 0,336 175,741 0,365 0,243 0,322 0,339 174,672 0,363 0,196 0,209 0,230 93,786 0,274 0,309 0,435 0,417 336,682 0,444 0,025 0,048 0,039 35,665 0,037 2 2 2 2 6
Tabulka 7.10: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 0,018 0,010 0,000 0,152 0,027 8
Mushroom : Uˇ c´ıc´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,006 0,006 0,265 141,493 0,265 0,001 0,001 0,020 0,000 0,020 0,000 0,000 0,001 0,000 0,001 0,042 0,042 1,000 4041,731 1,000 0,009 0,009 0,404 473,343 0,404 8 8 2 3 2
Tabulka 7.11: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
E med min max stddev NCN
EM SE 0,018 0,010 0,000 0,140 0,025 8
Mushroom : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,006 0,007 0,265 69,005 0,265 0,001 0,003 0,019 0,000 0,019 0,000 0,000 0,000 0,000 0,000 0,038 0,038 1,000 1974,677 1,000 0,008 0,008 0,404 232,949 0,404 8 8 2 3 2
Tabulka 7.12: Pro uˇcen´ı pˇrep´ınac´ı jednotky byla pouˇzita n´asleduj´ıc´ı kombinace: Forgyho metoda, poˇc´ateˇcn´ı shluky nalezeny pomoc´ı LA, pˇri shlukov´an´ı pouˇzita euklidovsk´a vzd´alenost.
60
7.4
Z´ avˇ ery z anal´ yzy neuronov´ e s´ıtˇ e obsahuj´ıc´ı jeden neuron
Z v´ysledk˚ u z´ıskan´ych pro nejjednoduˇsˇs´ı moˇzn´e s´ıtˇe lze udˇelat nˇekolik z´avˇer˚ u: • v´ysledky se pro r˚ uzn´a nastaven´ı vskutku liˇs´ı a tedy z´aleˇz´ı na volbˇe nenauˇcen´e neuronov´e s´ıtˇe • uk´azalo se, ˇze v´ysledky na uˇc´ıc´ı mnoˇzinˇe se opravdu zlepˇsuj´ı se zvyˇsuj´ıc´ım se poˇctem shluk˚ u, to je vidˇet i na uveden´ych v´ysledc´ıch, z kter´ych je patrn´e, ˇze nejlepˇs´ım s´ıt´ım odpov´ıdaly vysok´e poˇcty v´ypoˇcetn´ıch neuron˚ u v NSU, vˇzdy vˇsak neplat´ı, ˇze vyˇsˇs´ı poˇcet shluk˚ u znamen´a lepˇs´ı ohodnocen´ı na uˇc´ıc´ıch datech • nejlepˇs´ı s´ıtˇe vzhledem k testovac´ı mnoˇzinˇe mˇely n´ızk´e poˇcty v´ypoˇcetn´ıch neuron˚ u, vˇetˇsinou m´enˇe neˇz deset (pr˚ umˇern´y poˇcet pro jednotliv´e probl´emy se liˇsil, a to i pro r˚ uzn´e volby uˇcen´ı pˇrep´ınac´ı jednotky) z tohoto plyne, ˇze poˇcty shluk˚ u se nemus´ı volit nijak vysok´e • probl´em oznaˇcovan´y jako mushroom je zˇrejmˇe pˇr´ıliˇs jednoduch´y - uˇz jedin´y neuron dok´azal bezchybnˇe klasifikovat vzory z uˇc´ıc´ı i testovac´ı mnoˇziny (viz. tabulky 7.11 a 7.12), z tohoto d˚ uvod˚ u nemˇelo smysl se t´ımto probl´emem d´ale zab´yvat Nyn´ı je k dipozici urˇcit´y z´akladn´ı soubor napoˇcten´ych hodnot pro r˚ uzn´a krit´eria a lze pˇrej´ıt ke sloˇzitˇejˇs´ım neuronov´ym s´ıt´ı.
7.5
Anal´ yza ˇ retˇ ezce
Neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami se konstruuj´ı v podobˇe blok˚ u, tyto bloky jsou tvoˇreny libovolnˇe dlouh´ymi ˇretˇezci neuron˚ u s pˇrep´ınac´ımi jednotkami, viz. pˇr´ıklad na obr´azku 7.1. Obecn´a neuronov´a sit’ s pˇrep´ınac´ımi jednotkami obsahuje jako neurony pravˇe cel´e takov´e bloky. Nyn´ı lze srovnat opr´avnˇenost pouˇzit´ı tˇechto ˇretˇezc˚ u srovn´an´ım v´ysledk˚ u oproti neuronov´ym s´ıt´ım obsahuj´ıc´ım pouze jeden neuron s pˇrep´ınac´ı jednotkou. Toto srovn´an´ı m˚ uˇze prok´azat, ˇze pouˇzit´ım ˇretezc˚ u lze z´ıskat kvalitnˇejˇs´ı v´ysledky. Dalˇs´ımi moˇzn´ymi z´avˇery m˚ uˇze b´yt zjiˇstˇen´ı, ˇze pouˇzit´ı ˇretˇezce vede s vˇetˇs´ı pravdˇepodobnost´ı k lepˇs´ımu v´ysledku (zde je tˇreba m´ıt na pamˇeti pomˇer poˇctu parametr˚ u jednoho neuronu a ˇretˇezce), tak´e se m˚ uˇze doj´ıt k z´avˇeru, ˇze ˇretˇezce maj´ı v´ysledky horˇs´ı.
61
Obr´azek 7.1: Pˇr´ıklad neuronov´e s´ıtˇe s topologi´ı ˇretˇezec obsahuj´ıc´ı tˇri v´ypoˇcetn´ımi neurony. Pokud je ˇretˇezec pouze blokem v rozs´ahlejˇs´ı neuronov´e s´ıti, neobsahuje vstupn´ı neuron Pˇri pouˇzit´ı topologie ˇretˇezec r´azem nar˚ ust´a poˇcet kombinac´ı parametr˚ u urˇcuj´ıc´ıch, jak´ym zp˚ usobem uˇcit neurony tvoˇr´ıc´ı ˇretˇezec. V r´amci ˇretˇezc˚ u se bude pouˇz´ıvat tato terminologie: • skryt´e neurony se budou naz´yvat NSU, jejichˇz rodiˇc i syn je NSU • prvn´ı neuron, se bude naz´yvat NSU, jehoˇz syn je NSU, ale jeho rodiˇc nen´ı • posledn´ı neuron se bude naz´yvat neuron, jehoˇz dˇeti nepoch´azej´ı z dan´eho ˇretˇezce Pro sn´ıˇzen´ı poˇctu kombinac´ı se parametry pro skryt´e neurony vol´ı stejn´e, zl´aˇst’ se vol´ı parametry prvn´ıho a posledn´ıho neuronu. Pro dalˇs´ı sn´ıˇzen´ı poˇctu kombinac´ı se pro prvn´ı neuron a skryt´e neurony pouˇz´ıvala pouze pˇrechodov´a funkce typu I, pro posledn´ı neuron se pouˇz´ıvala pˇrechodov´a funkce typu II, ostatn´ı parametry posledn´ıho neuronu se od parametr˚ u skryt´ych neuron˚ u neliˇsily. Kromˇe parametr˚ u neuron˚ u je zde nav´ıc parametr urˇcuj´ıc´ı d´elku ˇretˇezce. Pro anal´yzu ˇretˇezc˚ u se pouˇzilo rozˇs´ıˇren´eho postupu anal´yzy s´ıtˇe s jedn´ım neuronem. Po nastaven´ı d´elky ˇretˇezce se jednotliv´ym nenauˇcen´ym neuron˚ um pˇriˇradily veˇsker´e potˇrebn´e parametry definuj´ıc´ı uˇcen´ı mimo poˇcet v´ypoˇcetn´ıch neuron˚ u, jedna takov´a ne´ upln´a nenauˇcen´a neuronov´a s´ıt’ se bude znaˇcit Cf g a naz´yvat konfigurace, n´aslednˇe se ˇretˇezec uˇcil pro r˚ uzn´e kombinace poˇct˚ u v´ypoˇcetn´ıch neuron˚ u. Poˇcty v´ypoˇcetn´ıch neuron˚ u byly vyb´ır´any systematicky z mnoˇziny {2,. . . ,10}, toto vyplynulo z v´ysledk˚ u anal´yzy pro jeden neuron i ze zv´aˇzen´ı poˇctu kombinac´ı, kter´e je moˇzn´e vyzkouˇset v rozumn´em ˇcase. Pro ˇretˇezec d´elky n a pˇri minim´aln´ıch a maxim´aln´ıch poˇctech shluk˚ u kmin a kmax je totiˇz poˇcet nutn´ych ˇretˇezc˚ u pˇri upevnˇen´ych ostatn´ıch parametrech uˇcen´ı roven v´yrazu (kmax −kmin + 1)n , coˇz by pˇri vyˇsˇs´ıch hodnot´ach n kladlo pˇr´ıliˇs vysok´e 62
n´aroky na v´ypoˇcetn´ı ˇcas. Pro maxim´aln´ı delku ˇretˇezce byla zvolena hodnota 3. Jednotliv´e ˇretˇezce byly uˇceny za pouˇzit´ı stejn´ych uˇc´ıc´ıch mnoˇzin, jako s´ıtˇe s jedn´ım neuronem (vynech´an byl jiˇz probl´em mushroom), pouˇzit´a krit´eria kvality a vˇetˇsina poˇc´ıtan´ych statistik byla stejn´a, lze tedy snadno srovnat v´ysledky ˇretˇezc˚ u a s´ıt´ı obsahuj´ıc´ıch pouze jeden neuron. Pˇri anal´yze ˇretˇezc˚ u byly pro hodnoty kaˇzd´eho krit´eria sledov´any tyto statistiky: E stˇredn´ı hodnota med medi´an min minim´aln´ı hodnota max maxim´aln´ı hodnota NCNS poˇcty v´ypoˇcetn´ıch neuron˚ u pro jednotliv´e neurony ˇretˇezce, 2-3 tedy odpov´ıd´a ˇrezˇezci, kde prvn´ım neuron je NSU se dvˇema v´ypoˇcetn´ımi neurony, a posledn´ı neuron je NSU se tˇremi v´ypoˇcetn´ımi neurony Zpracov´an´ı neuronov´ych s´ıt´ı obsahuj´ıc´ı pouze jeden NSU bylo jeˇstˇe celkem provediteln´e ruˇcnˇe. Pˇri anal´yze ˇretˇezc˚ u bylo vˇsak tˇreba zpracovat mnohem v´ıce dat. A nav´ıc tyto v´ysledky srovnat s pˇredchoz´ımi v´ysledky. Probl´emem tedy bylo porovnat konfigurace, a to jak mezi sebou pro stejn´a data, tak glob´alnˇe pro veˇsker´a data. Pokud se ale maj´ı porovn´avat nˇejak´e objekty, je k tomu tˇreba relace, pomoc´ı kter´e lze urˇcit, kter´y z objekt˚ u je menˇs´ı. Pro srovn´an´ı konfigurac´ı bylo vyuˇzito napoˇcten´ych hodnot krit´eri´ı kvality. Protoˇze pro kaˇzdou konfiguraci bylo nauˇceno mnoho s´ıt´ı s r˚ uzn´ymi kombinacemi poˇct˚ u v´ypoˇcetn´ıch neuron˚ u, nepouˇz´ıvali se pˇr´ımo napoˇc´ıtan´e hodnoty, ale vybran´e sledovan´e statistiky. Definice 7.1 Necht’ • Cf g1 a Cf g2 jsou r˚ uzn´e konfigurace • f1 , f2 ∈ Rn (i)
(i)
(i)
(i)
• n1 = |{i ∈ n ˆ |f1 < f2 }| • n2 = |{i ∈ n ˆ |f1 > f2 }| def
RCf g (C1 , C2 ) ⇔ n1 > n2 pokud plat´ı RCf g (C1 , C2 ), bude se ˇr´ıkat, ˇze C1 je menˇs´ı neˇz C2 . 63
(7.3)
E med min max stddev NCNS
EM SE 0,384 0,333 0,222 0,982 0,161 10-6
E0 0,139 0,119 0,067 0,438 0,077 4-10
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,136 0,161 113,245 0,187 0,119 0,125 99,191 0,157 0,061 0,084 0,000 0,101 0,438 0,771 282,751 0,771 0,079 0,126 58,282 0,116 4-10 4-10 2-2 10-10
Tabulka 7.13: V´ysledky pro ˇretˇezec d´elky 2, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou nejbliˇzˇs´ıho souseda, pouˇzita euklidovsk´a vzd´alenost, 2. neuron: pˇrep´ınac´ı jednotka uˇcena metodou nejbliˇzˇs´ıho souseda, vzd´alenost urˇcov´ana pomoc´ı dsum Pro srovn´an´ı dvou konfigurac´ı lze pouˇz´ıt relaci 7.3, ta vyuˇz´ıv´a ke srovn´an´ı dvou konfigurac´ı vektor˚ u z Rn , pˇriˇcemˇz je tˇreba doplnit, co se skr´yv´a za vektory f1 a f2 . Pro konfiguraci Cf g byly nakonec jako hodnoty vektoru f pouˇzity hodnoty minim a medi´an˚ u pro veˇsker´a pouˇzit´e krit´eria kvality. Jedna konfigurace je podle relace 7.3 menˇs´ı neˇz druh´a pokud m´a na v´ıce m´ıstech niˇzˇs´ı hodnoty uveden´ych statistik. Dalˇs´ı zpracov´an´ı pak prob´ıhalo tak, ˇze se tˇr´ıdila krit´eria pomoc´ı relace 7.3 a sledovalo se, kter´e konfigurace vedou ˇcastˇeji k lepˇs´ım v´ysledk˚ u, neboli, kter´e konfigurace jsou ˇcasto mal´e v porovn´an´ı s jin´ymi. V tˇechto srovn´an´ıch v´ıtˇezila nejˇcestˇeji metody nejvzd´alenˇejˇs´ıho souseda a metoda pr˚ umˇern´e nepodobnosti, za nimi n´asledovali varianty Forgyho metody. V´ysledky hierarchick´e metody nejbliˇzˇs´ıho souseda nedosahovala tak dobr´ych v´ysledk˚ u, jako ostatn´ı hierarchick´e metody. V tabulk´ach 7.13 - 7.18 jsou uvedeny nejlepˇs´ı v´ysledky pro jednotliv´e d´elky ˇretˇezc˚ u dva a tˇri spoˇcten´e pro probl´em card. Nyn´ı zb´yvalo ovˇeˇrit, zda pˇri pouˇzit´ı konfigurace, d´avaj´ıc´ı lepˇs´ı v´ysledky na ˇretˇezc´ıch, se dostanou lepˇs´ı v´ysledky na obecn´ych s´ıt´ıch. Toto jiˇz bylo zkouˇseno jen pro krit´erium kvality E0 , vzhledem k v´ysledk˚ um sekce 7.6, to nijak neub´ır´a na vypov´ıdaj´ıc´ı hodnotˇe. Toto se zjiˇst’ovalo takto: 1. vybrala se konfigurace vedouc´ı k lepˇs´ım v´ysledk˚ um pro ˇretˇezce 2. vygenerovalo a nauˇcilo se za pouˇzit´ı t´eto konfigurace 1000 s´ıt´ı 3. vybrala se konfigurace vedouc´ı k horˇs´ım v´ysledk˚ um pro ˇretˇezce 4. vygenerovalo a nauˇcilo se za pouˇzit´ı t´eto horˇs´ı konfigurace 1000 s´ıt´ı 64
E med min max stddev NCNS
EM SE 225,474 2,386 0,343 661,604 271,898 2-4
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,158 0,200 0,224 80,044 0,249 0,128 0,192 0,192 78,456 0,221 0,099 0,122 0,122 0,000 0,148 0,436 0,436 0,715 206,031 0,715 0,072 0,066 0,111 36,727 0,100 6-2 2-2 3-4 2-2 3-9
Tabulka 7.14: V´ysledky pro ˇretˇezec d´elky 2, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou nejbliˇzˇs´ıho souseda, pouˇzita euklidovsk´a vzd´alenost, 2. neuron: pˇrep´ınac´ı jednotka uˇcena metodou nejbliˇzˇs´ıho souseda, vzd´alenost urˇcov´ana pomoc´ı dsum
E med min max stddev NCNS
EM SE 0,352 0,337 0,208 0,984 0,088 6-10-10
Card : Uˇ c´ıc´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,112 0,115 0,133 106,965 0,170 0,104 0,107 0,122 93,901 0,161 0,055 0,055 0,067 0,000 0,093 0,441 0,441 0,464 412,847 0,492 0,043 0,044 0,050 40,942 0,046 6-10-10 6-10-10 6-10-10 4-8-2 6-10-10
Tabulka 7.15: V´ysledky pro nejlepˇs´ı ˇretˇezec d´elky 3, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou pr˚ umˇern´e nepodobnosti, pouˇzita euklidovsk´a vzd´alenost, dalˇs´ı neurony: pˇrep´ınac´ı jednotka uˇcena metodou pr˚ umˇern´e nepodobnosti, pouˇzita euklidovsk´a vzd´alenost
E med min max stddev NCNS
EM SE 1,496 0,575 0,395 591,127 21,884 3-9-6
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,154 0,199 0,231 88,982 0,266 0,145 0,192 0,221 78,139 0,261 0,105 0,128 0,134 0,000 0,169 0,436 0,448 0,535 294,510 0,491 0,043 0,047 0,052 32,475 0,044 7-3-6 2-7-4 2-10-8 4-8-2 2-5-9
Tabulka 7.16: V´ysledky pro nejlepˇs´ı ˇretˇezec d´elky 3, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou pr˚ umˇern´e nepodobnosti, pouˇzita euklidovsk´a vzd´alenost, 2. neuron: pˇrep´ınac´ı jednotka uˇcena metodou pr˚ umˇern´e nepodobnosti, pouˇzita euklidovsk´a vzd´alenost 65
E med min max stddev NCNS
EM SE 0,402 0,381 0,171 0,972 0,134 4-6-8
E0 0,139 0,125 0,041 0,426 0,063 4-6-5
Card : Uˇ c´ıc´ı data EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,140 0,171 157,185 0,198 0,128 0,157 135,366 0,185 0,029 0,049 41,122 0,066 0,435 0,629 3091,953 0,567 0,064 0,080 163,629 0,076 4-6-8 4-5-10 3-9-9 4-6-8
Tabulka 7.17: V´ysledky pro nejhorˇs´ı ˇretˇezec d´elky 3, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou Forgy LA, pouˇzita euklidovsk´a vzd´alenost, dalˇs´ı neurony: pˇrep´ınac´ı jednotka uˇcena metodou Forgy PCA, pouˇzita euklidovsk´a vzd´alenost
E med min max stddev NCNS
EM SE 33,950 0,859 0,430 5943,301 389,540 4-9-4
Card : Testovac´ı data E0 EHIST (0, 1) EGM (0, 1) ECEGM ESGM 0,204 0,296 0,334 131,539 0,359 0,186 0,291 0,320 113,243 0,353 0,116 0,134 0,163 49,520 0,189 0,448 0,663 0,669 1828,447 0,574 0,057 0,066 0,076 92,856 0,067 3-4-2 4-4-7 4-5-9 7-3-9 7-8-6
Tabulka 7.18: V´ysledky pro nejhorˇs´ı ˇretˇezec d´elky 3, nastaven´ı: 1. neuron: pˇrep´ınac´ı jednotka uˇcena metodou Forgy LA, pouˇzita euklidovsk´a vzd´alenost, 2. neuron: pˇrep´ınac´ı jednotka uˇcena metodou Forgy PCA, pouˇzita euklidovsk´a vzd´alenost
66
veliˇcina E med min max stddev
lepˇs´ı konfigurace 0,140 0,134 0,093 0,448 0,035
horˇs´ı konfigurace 0,184 0,169 0,116 0,471 0,053
Tabulka 7.19: Srovn´an´ı hodnot v´yhodnocen´ych z v´ysledk˚ u n´ahodn´ych s´ıt´ı, pouˇzito krit´erium kvality E0 na testovac´ıch datech 5. v´ysledky se porovnaly V tabulce 7.19 jsou uvedeny v´ysledky pro probl´em card, porovn´an´ı takto dosaˇzen´y v´ysledk˚ u odpov´ıdalo v´ysledk˚ um na ˇretˇezc´ıch. Bohuˇzel experiment˚ u tohoto typu nebylo provedeno dostateˇcn´e mnoˇzstv´ı na to, aby se dalo s vˇetˇs´ı zodpovˇednost´ı prohl´asit, ˇze tento postup povede pro ˇsirokou tˇr´ıdu dat k v´ysledk˚ um, kter´e zlepˇs´ı uˇcic´ı proces. Z experiment˚ u ale vych´az´ı, ˇze v´ysledky by mohli b´yt slibn´e. D´ale lze ˇr´ıci: • ˇretˇezce vˇetˇsinou dosahovali na testovac´ı mnoˇzinˇe lepˇs´ıch v´ysledk˚ u, neˇz s´ıtˇe s jedn´ım neuronem, toto platilo jak pro minim´aln´ı hodnoty krit´eri´ı, tak pro stˇredn´ı hodnotu a medi´an • z v´ysledk˚ u vych´azelo, ˇze pouˇzit´ı hierarchick´y metod, hlavnˇe metody pr˚ umˇern´e nepodobnosti, vede k lepˇs´ım v´ysledk˚ um
7.6
Srovn´ an´ı krit´ eri´ı kvality
Bˇehem anal´yzy ˇretˇezc˚ u bylo z´aroveˇ n provedeno srovn´an´ı krit´eri´ı kvality, v takov´emto srovn´an´ı nem´a smysl nˇejak´e tˇr´ıdˇen´ı a urˇcov´an´ı nejlepˇs´ıho krit´eria, jelikoˇz nelze ˇr´ıci, kter´e krit´erium je lepˇs´ı neˇz jin´e, to je d´ano konkr´etn´ı ´ celem bylo sp´ıˇse zjistit, jak si navz´ajem hodnoty tˇechto krit´eri´ı aplikac´ı. Uˇ odpov´ıdaj´ı a jetli nˇekter´a z nich nejsou zbyteˇcn´a. Jin´ymi slovy je c´ılem zjistit, kter´a krit´eria jsou nejpodobnˇejˇs´ı/nejvzd´alenˇejˇs´ı, nebo rovnou z´ıskat nˇejakou hierarchii, kter´a by je zaˇradila do skupin ˇci syst´emu. Jedn´a se vlastnˇe o mˇeˇren´ı vzd´alenost´ı funkc´ı, pˇriˇcemˇz jsou k dispozici pouze funkˇcn´ı hodnoty v urˇcit´ych bodech (nauˇcen´ych neuronov´ych s´ıt´ıch). Pro mˇeˇren´ı vzd´alenosti mezi krit´erii bylo pouˇzito koeficientu korelace spoˇcten´eho z hodnot krit´eri´ı pro nauˇcen´e neuronov´e s´ıtˇe. D´ale se na v´ysledky 67
napoˇcten´ych vzd´alenost´ı aplikovala hierarchick´a metoda nejbliˇzˇs´ıho souseda. Pro potˇreby shlukovac´ı metody nebyl pouˇzit pˇr´ımo koeficinet korelace, ale v´yraz ??, kter´y nab´yv´a hodnot mezi nulou a jedniˇckou, pˇriˇcemˇz n´ızk´e hodnoty znaˇc´ı vˇetˇs´ı podobnost mezi krit´erii. Vzd´alenost dvou krit´eri´ı byla poˇc´ıt´ana takto: Definice 7.2 Necht’ E1 a E2 jsou kritit´eria kvality def
dr (E1 , E2 ) =
1−R 2
(7.4)
kde R je koeficient korelace odpov´ıdaj´ıc´ı hodnot´am krit´eri´ı kvality. Tedy pokud by dvˇe krit´eria d´avala totoˇzn´y v´ysledek, bylo by toto krit´erium rovno nule, v pˇr´ıpadˇe r˚ ustu jednoho a kles´an´ı druh´eho krit´eria by se jeho hodnota bl´ıˇzila jedn´e. Takto lze dokonce mˇeˇrit vzd´alenost toho sam´eho krit´eria samo od sebe v pˇripadˇe, ˇze bylo aplikov´ano na uˇc´ıc´ı a testovac´ı mnoˇzinu. Kdyˇz jsou k dispozici hodnoty vzd´alenost´ı, lze je pouˇz´ıt k srovn´an´ı krit´eri´ı. Pro takov´eto u ´ˇcely lze s v´yhodou vyuˇz´ıt hierarchick´e metody shlukov´an´ı. Tyto metody (pops´any v kapitole A) vrac´ı celou hierarchii shlukovan´ych vzor˚ u. Krit´erium je ted’ vlastnˇe vzor. takovouto hierarchii lze pak zobrazit pomoc´ı stromu, kter´y se naz´yv´a dendrogram. Na obr´azku 7.2 je zobrazen dendrogram pro krit´eria kvality, koeficient korelace byl poˇc´ıt´an pro hodnoty odpov´ıdaj´ıc´ı ˇretˇezc˚ um d´elky 3, byly pouˇzity ˇ ıslice na ose x urˇcuj´ı k´od krit´eria viz. v´ysledky pro veˇsker´e data najednou. C´ (tabulka 7.20), hodnoty na ose y odpov´ıdaj´ı u ´ rovn´ım mezishlukov´e vzd´alenosti, na kter´ych doˇslo ke slouˇcen´ı shluk˚ u, pouˇzita byla metoda nejbliˇzˇs´ıho souseda. Obdobnˇe jako na ob´azku 7.2 dopadly i dendrogramy pro krit´eria na jednotliv´e data zvl´aˇst’. Z uveden´eho dendrogramu je patrn´e, ˇze v´ıce neˇz na typu krit´eria z´aleˇz´ı na tom, zda bylo vyhodnoceno na uˇc´ıc´ı nebo testovac´ı mnoˇzinˇe. V´yj´ımkou je pouze krit´erium ECEGM , u nˇehoˇz byla vzd´alenost hodnot pˇr´ısluˇsn´a uˇc´ıc´ım a testovac´ım mnoˇzin´am bliˇzˇs´ı neˇz k ostatn´ım krit´eri´ım, nicmenˇe ostatn´ı krit´eria (kromˇe EM SE mˇeli vzd´alenost mezi hodnotami na uˇc´ıc´ı a testovac´ı mnoˇzinˇe v´yraznˇe niˇzˇs´ı), nejv´ıce se v´ysledek na uˇc´ıc´ı a testovac´ı mnoˇzinˇe liˇsil pro krit´erium EM SE , to je d´ano t´ım, ˇze toto krit´erium na rozd´ıl od krit´eri´ı, kter´e vyhodnocuj´ı pomˇer ˇspatnˇe zaˇrazen´ych vzor˚ u ku vˇsem, je poˇc´ıt´ano pˇr´ımo z v´ystup˚ u neuronov´e s´ıtˇe a je ovlivnˇeno hodnotami, kter´e padnou daleko od oˇcek´avan´ych hodnot {−1; +1}. Z´avˇer je tedy ten, ˇze pro urˇcen´ı kvality neuronov´e s´ıtˇe se zd´a b´yt nejlepˇs´ı krit´erium E0 , kter´e je nejrychlejˇs´ı a nejjednoduˇsˇs´ı. Z tohoto pohledu se zd´a, ˇze pouˇzit´ı vˇetˇsiny krit´eri´ı bylo zbyteˇcn´e. Ot´azka proˇc se hodnoty pro ECEGM odliˇsovali od ostatn´ıch vyˇzaduje dalˇs´ı, podrobnˇejˇs´ı anal´yzu, kter´a zat´ım nebyla provedena. 68
0.3 0.2
10
9
6
4
12
8
5
3
1
11
7
2
0.0
0.1
Úroveň, na které byla kritéria sloučena
0.4
0.5
Dendrogram kritérií kvality
Číselné kódy pro jednotlivá kritéria
Obr´azek 7.2: Dendrogram pro krit´eria kvality pˇri urˇcen´ı vzd´alenosti pomoc´ı koeficientu korelace. Pro vyhodnocen´ı pouˇzity hodnoty krit´eri´ı z´ıskan´ych pro ˇretˇezce d´elky 3, na datech k probl´em˚ um heart, card, cancer a diabetes. Lich´e ˇc´ıslice odpov´ıdaj´ı krit´eri´ım spoˇcten´ych na uˇc´ıc´ıch datech, sud´e ˇc´ıslice odpov´ıdaj´ı krit´eri´ım spoˇcten´ych na testovac´ıch datech. ˇ ıslice v dendrogramu C´ 1 2 3 4 5 6 7 8 9 10 11 12
odpov´ıdaj´ıc´ı krit´erium kvality EM SE pro uˇc´ıc´ı data EM SE pro testovac´ı data E0 pro uˇc´ıc´ı data E0 pro testovac´ı data EHIST (0, 1) pro uˇc´ıc´ı data EHIST (0, 1) pro testovac´ı data EGM (0, 1) pro uˇc´ıc´ı data EGM (0, 1) pro testovac´ı data ECEGM pro uˇc´ıc´ı data ECEGM pro testovac´ı data ESGM pro uˇc´ıc´ı data ESGM pro testovac´ı data
Tabulka 7.20: V´yznam ˇc´ıslic v dendrogramu. 69
Kapitola 8 Z´ avˇ er V pr˚ ubˇehu pr´ace bylo zpracov´ano velik´e mnoˇzstv´ı informac´ı t´ykaj´ıc´ı se neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami a upravena terminologie tˇechto neuronov´ych s´ıt´ı. Byly zmapov´any nˇekter´e vlastnosti pouˇzit´ych shlukovac´ıch metod a jejich dopad na proces uˇcen´ı, nav´ıc byly implementov´any dvˇe metody umoˇzn ˇ uj´ıc´ı deterministick´e vyuˇzit´ı Forgyho shlukovac´ı metody. Byl navrˇzen a vyzkouˇsen zp˚ usob, jak interpretovat v´ystupy neuronov´e s´ıtˇe. Interpretace v´ystup˚ u neuronov´e s´ıtˇe byla posl´eze vyuˇzita pro definov´an´ı rozhodovac´ıch pravidel pˇri klasifikaci a pˇri urˇcov´an´ı kvality nauˇcen´ych neuronov´ych s´ıt´ı. Pˇri srovn´an´ı krit´eri´ı kvality se vˇsak uk´azalo, ˇze tento pˇr´ıstup nebyl alespoˇ n v r´amci proveden´ych experiment˚ u pˇr´ınosn´y. Bˇehem experiment˚ u bylo nauˇceno mnoho neuronov´ych s´ıt´ı pˇri pouˇzit´ı datov´ych soubor˚ u z proben1. Tyto v´ysledky mohou slouˇzit jako referenˇcn´ı hodnoty pˇri dalˇs´ım v´yvoji neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami. V´ysledky nezahrnuj´ı pouze ˇc´ıseln´e hodnoty, ale i pomocn´e programy v programovac´ıch jazyc´ıch c++ a R, kter´e lze pˇr´ıpadnˇe pozmˇenˇen´e pouˇz´ıt. Na nˇekolika probl´emech byly srovn´any v´ysledky neuronov´ych s´ıt´ı nad topologi´ı ˇretˇezec. Z´aroveˇ n byly srovn´any i krit´eria urˇcov´an´ı kvality. Uk´azalo se, ˇze neuronov´e s´ıtˇe dosahuj´ı lepˇs´ıch v´ysledk˚ u pˇri pouˇzit´ı hierarchick´ych metod a to konkr´etnˇe metody nejvzd´alenˇejˇs´ıho souseda a metody pr˚ umˇern´e nepodobnosti, je nepˇr´ıjemn´e, ˇze tyto hierarchick´e metody jsou n´aroˇcnˇejˇs´ı na v´ypoˇcetn´ı ˇcas, neˇz metody iteraˇcn´ı. Byl navrˇzen a implementov´an syst´em snaˇz´ıc´ı se doporuˇcit vhodn´e parametry uˇcen´ı pro ˇreˇsenou u ´ lohu.
70
Dodatek A Metody shlukov´ e anal´ yzy A.1
´ Uvod
Pod pojmem shlukov´a anal´yza se rozum´ı soubor statistick´ych metod, kter´e ´ redn´ım pojmem shlukov´e anal´yzy pom´ahaj´ı pˇri anal´yze struktury dat. Ustˇ je pojem shluk, tento pojem nelze pˇresnˇe definovat a z´aleˇz´ı na konkr´etn´ım probl´emu. Intuitivnˇe jsou shluky tvoˇreny objekty (coˇz mohou b´yt napˇr. n-tice re´aln´ych ˇc´ısel), kter´e jsou si navz´ajem podobn´e, pˇriˇcemˇz objekty z r˚ uzn´ych shluk˚ u jsou si navz´ajem podobn´e co nejm´enˇe. C´ılem metody shlukov´e anal´yzy je tedy naj´ıt shluky v nezn´am´ych datech. Z v´ysledk˚ u shlukov´an´ı lze pak vych´azet pˇri zkoum´an´ı struktury dat, vyuˇz´ıvat je pro klasifikaci a k mnoha dalˇs´ım aplikac´ım. Metody shlukov´e anal´yzy se dˇel´ı na dvˇe skupiny. Iteraˇcn´ı Metody vyˇzaduj´ı na poˇc´atku jiˇz objekty rozdˇelen´e do k shluk˚ u a n´aslednˇe berou postupnˇe jednotliv´e objekty a pˇresouvaj´ı je mezi shluky tak, aby pˇr´ısluˇsnosti objekt˚ u do shluk˚ u co nejl´epe splˇ novaly urˇcit´e krit´erium. Toto se dˇeje dokud se napˇr´ıklad jiˇz nemˇen´ı pˇr´ısluˇsnoti objekt˚ u do jednotliv´ych shluk˚ u, nebo pokud jiˇz byl vykon´an urˇcit´y poˇcet iterac´ı. Hierarchick´e metody naopak nevyˇzaduj´ı poˇc´ateˇcn´ı zaˇrazen´ı objekt˚ u do tˇr´ıd. Pracuj´ı s pojmem podobnosti/odliˇsnosti cel´ych shluk˚ u a v kaˇzd´em kroku jsou slouˇceny dva nejpodobnˇejˇs´ı shluky. Existuj´ı i hierarchick´e metody, kter´e v kaˇzd´em kroku vyberou podle urˇcit´eho krit´eria shluk, kter´y pak rozdˇel´ı na dva nov´e. Metody tohoto typu skonˇc´ı, aˇz kdyˇz je v kaˇzd´em shluku pr´avˇe jeden objekt. Pˇri popisu pouˇzit´ych metod bude pouˇzito n´asleduj´ıc´ı pojmy. Definice A.1 Necht’ X ⊆ T je mnoˇzina vzor˚ u. Rozkladem mnoˇziny X do k shluk˚ u se rozum´ı mnoˇzina A = {S1 , . . . , Sk }, Si ⊆ X s vlastnostmi: ˆ i 6= ∅); 1. (∀i ∈ k)(S 71
ˆ i 6= j)(Si ∩ Sj = ∅) 2. (∀i, j ∈ k, 3.
k S
Si = X
i=1
Definice A.2 Tˇeˇziˇstˇem shluku Si ∈ A se rozum´ı v´yraz T (Si ) =
A.2
1 |Si |
P
x
x∈Si
Iteraˇ cn´ı metody
Jako implementace pˇrep´ınac´ı jednotky byly z iteraˇcn´ıch metod pouˇzita Forgyho metoda, jedn´a se o jednu z variant metody bˇeˇznˇe oznaˇcovan´e jako kmeans. Jiˇz dˇr´ıve byla vyzkouˇsena MacQeenova varianta, ta je ale z´avisl´a na poˇrad´ı vzor˚ u, v jak´em se pouˇz´ıvaj´ı pˇri shlukovan´ı, proto byla preferov´ana Forgyho varianta.
A.2.1
Forgyho metoda
Necht’ X je mnoˇzina vˇsech vzor˚ u, A = {S1 , . . . , Sk } je libovoln´y rozklad X a P = {p1 , . . . , pk } je mnoˇzina vzorov´ych bod˚ u (pomoc´ı tˇechto bod˚ u - tˇeˇziˇst’ shluk˚ u, jsou zaˇrazov´any objekty do shluk˚ u). 1. ∀i ∈ kˆ : pi = T (Si). 2. ∀x ∈ X proved’: (necht’ x ∈ Si ) I Urˇc´ı se Sj : d(pj , x) = min{d(p, x)|p ∈ P }
II Pokud Si 6= Sj pˇresune se x z Si do Sj
III konec cyklu pro dan´e x 3. pj = T (Sj ) ∀j ∈ kˆ
4. Pokud v bodˇe 2 doˇslo k pˇresunut´ı nˇejak´eho vzoru mezi shluky, jde se na bod 2, jinak konec. Sloˇ zitost iteraˇ cn´ıch metod Necht’ poˇcet vˇsech je objekt˚ u je n, necht’ k je poˇcet hledan´ych shluk˚ u. Sloˇzitost tˇechto metod lze z´ıskat n´asleduj´ıc´ı u ´ vahou: Pro urˇcen´ı pˇr´ısluˇsnosti jednoho vzoru je tˇreba pro kaˇzd´y shluk vyhodnotit krit´erium vhodnosti pˇresunu objektu, to pˇredstavuje k operac´ı z´avisej´ıc´ıch na dimenzi prostoru (oznaˇcme ho d). Toto je v jedn´e iteraci nutn´e prov´est pro kaˇzd´y vzor. Necht’ h je celkov´y 72
poˇcet iterac´ı metody nutn´y pro nalezen´ı stabiln´ıho rozkladu (za pˇredpokladu, ˇze takov´y rozklad bude nalezen). Koneˇcn´a sloˇzitost je d´ana v´yrazem kdhn. Poˇcet iterac´ı h samozˇrejmˇe z´avis´ı na datech, ale v praxi se ukazuje, ˇze jeho vliv na celkovou sloˇzitost nen´ı pˇr´ıliˇs velk´y.
A.2.2
Nalezen´ı poˇ c´ ateˇ cn´ıho rozkladu
Popis metody k − means zaˇc´ın´a t´ım, ˇze je jiˇz k dispozici poˇc´ateˇcn´ı rozklad a v dalˇs´ıch iterac´ıch se tento poˇc´ateˇcn´ı rozklad upravuje tak, aby se zlepˇsovala hodnota minimalizovan´eho krit´eria (souˇctu kvadr´at˚ u odchylek bod˚ u od odpov´ıdaj´ıc´ıch tˇeˇziˇst’ shluk˚ u). Z praktick´ych experiment˚ u se ukazuje, ˇze poˇc´ateˇcn´ı rozklad m´a na koneˇcn´y v´ysledek metody velk´y vliv. Na obr´azc´ıch A.1 a A.2 jsou ilustrovn´any v´ysledky pˇri zjiˇst’ov´an´ı citlivosti v´ysledku shlukov´an´ı na n´ahodn´em poˇc´ateˇcn´ım rozkladu. Zopakov´an´ı experiment˚ u, kter´e by z´avisely na v´ysledc´ıch shlukov´an´ı s poˇc´ateˇcn´ım rozkladem urˇcen´ym n´ahodnˇe, by tedy bylo velice obt´ıˇzn´e. Bylo proto ˇz´adouc´ı poˇc´ateˇcn´ı rozklad urˇcovat deterministicky. Prvn´ı a nejjednoduˇsˇs´ı moˇznost je pouˇz´ıt prvn´ıch k vzor˚ u v datech jako centra shluk˚ u a dalˇs´ı vzory postupnˇe pˇriˇradit k nejbliˇzˇs´ımu shluku. Tento postup je zˇrejmˇe rychl´y, nicm´enˇe v´ysledek shlukov´an´ı by z´avisel na poˇr´ad´ı vstupn´ıch dat a proto byl zavrhnut. Dalˇs´ı moˇznost je pouˇzit´ı hierarchick´ych metod, kter´e nez´avis´ı na n´ahodˇe. Probl´em v tomto pˇr´ıstupu spoˇc´ıv´a ve v´ypoˇcetn´ı n´aroˇcnosti bˇeˇzn´ych hierarchick´ych metod viz. srovn´an´ı ˇcas˚ u nutn´ych pro proveden´ı shlukov´an´ı pro r˚ uzn´e metody shlukov´an´ı. Pro poˇc´ateˇcn´ı rozklad je vˇsak moˇzn´e pouˇz´ıt hierarchickou metodu zvanou PCA Part, tato hierarchick´a metoda byla pˇr´ımo vyvinuta pro hled´an´ı rozkladu, kter´y m´a slouˇzit jako v´ychoz´ıho ˇreˇsen´ı pro iteraˇcn´ı metody, detailnˇejˇs´ı popis a motivaci t´eto metody lze naj´ıt v [TD04].
A.2.3
Deterministick´ e metody pro nalezen´ı poˇ c´ ateˇ cn´ıho rozkladu
PCA Part PCA Part je hierarchick´y algoritmus, kter´y je v porovn´an´ı s klasick´ymi hierarchick´ymi m´enˇe v´ypoˇcetnˇe n´aroˇcn´y za cenu z´ısk´an´ı horˇs´ıho rozkladu. Na rozd´ıl od klasick´ych metod, jako je napˇr. metoda nejbliˇzˇs´ıho souseda, se z´aˇc´ın´a rozkladem tvoˇren´ym pouze jedn´ım shlukem obsahuj´ıc´ım veˇsker´e objekty a konˇc´ı se po dosaˇzen´ı pˇredem dan´eho poˇctu shluk˚ u. Struˇcnˇe lze tuto metodu popsat n´asledovnˇe: 1. na poˇc´atku rozklad obsahuje pouze jeden shluk se vˇsemi vzory 73
800 600 400
Frekvence
200 0
850
900
950
1000
1050
SSE
Obr´azek A.1: Histogram veliˇciny SSE z´ıskan´y Forgyho metodou pro 10000 opakovn´an´ı pˇri n´ahodn´em poˇc´ateˇcn´ım rozkladu, pouˇzita data heart1-lrn, data neobsahovaly informace o poˇzadovan´ych v´ystupech. 2. vybere se jeden ze shluk˚ u v rozkladu 3. vybran´y shluk se rozdˇel´ı podle urˇcit´eho pravidla na dva 4. pokud je rozklad tvoˇren m´enˇe shluky, neˇz je poˇzadov´ano, jde se zpˇet na bod 2 5. vr´at´ı se v´ysledn´y rozklad Definice A.3 Necht’ X ⊆ Rn , |X| < +∞, X def SSE(X) = (x − T (X))2
(A.1)
x∈X
Pozn´ amka A.1 V´yraz SSE(X) pˇredstavuje krit´erium, kter´e se snaˇz´ı minimalizovat nˇekter´e iteraˇcn´ı metody vˇcetnˇe Forgyho varianty k-means. Definice A.4 Necht’ X ⊆ Rn , |X| < +∞, X def ssei (X) = (x(i) − T (X)(i) )2 x∈X
74
(A.2)
1200 1000 800 600
Frekvence
400 200 0
700
750
800
850
SSE
Obr´azek A.2: Histogram pro SSE z´ıskan´y Forgyho metodou pro 10000 opakovn´an´ı pˇri n´ahodn´em poˇc´ateˇcn´ım rozkladu, pouˇzita data card1-lrn, data neobsahovaly informace o poˇzadovan´ych v´ystupech. Pozn´ amka A.2 V´yraz ssei je obdoba SSE, berou se ale v u ´vahu pouze i-t´e sloˇzky vzor˚ u. Definice A.5 Necht’ • X ⊆ Rn , |X| < +∞ (mnoˇzina shlukovan´ych vzor˚ u) • k ∈ N (v´ysledn´y poˇcet shluk˚ u v rozkladu) • |X| ≥ k • FT : 2X 7→ Rn,n • A1 , . . . , Ak jsou rozklady X pro kter´e plat´ı pro A1
A1 = {A11 }, kde A11 = X
pro Ai , i > 1
75
(A.3)
|Ai | = i 1 {Ai , . . . , Aii }
(A.4) (A.5)
j0 = min{j|SSE(Aji ) = SSEmin } (∀j ∈ i[ − 1, i 6= j0 )(Aji = Aji−1 )
(A.7)
Ai =
ozn. SSEmin = {SSE(Aji−1 )|j ∈ i[ − 1}
(A.6) (A.8)
pro Aji 0 a Aii plat´ı 0 Yi ∈ Rn,n , Yi = FT (Aji−1 )
Zi = {Yix|x ∈
0 Aji−1 }
0 ssemin = min{sseu (Aji−1 )|u ∈ n ˆ} j0 u0 = min{u|sseu (Ai−1 ) = ssemin } 0 ri = T (Aji−1 )(u0 ) 0 Aji 0 = {x ∈ Aji−1 |x(u0 ) ≤ ri } 0 Aii = {x ∈ Aji−1 |x(u0 ) > ri }
(A.9) (A.10) (A.11) (A.12) (A.13) (A.14) (A.15)
Rozklad Ak se bude naz´yvat Rozklad mnoˇziny X do k shluk˚ u zkonstruok van´y metodou DH za pouˇzit´ı funkce FT a znaˇcit DHFT (X) Definice A.6 Rozklad A mnoˇziny X ⊆ Rn z´ıskan´y metodou PCA Part se bude naz´yvat rozklad z´ıskan´y metodou DHTk (X), kde funkce T : 2X 7→ Rn,n pˇriˇrazuje mnoˇzinˇe vzor˚ u transformaˇcn´ı matici z´ıskanou z metody hlavn´ıch komponent popsan´e v kapitole B. Definice A.7 Rozklad A mnoˇziny X ⊆ Rn z´ıskan´y metodou LA se bude naz´yvat rozklad z´ıskan´y metodou DHTk (X), kde funkce T : 2X 7→ Rn,n je definov´ana n´asledovnˇe def
T (X) = diag(1, . . . , 1)
(A.16)
Pozn´ amka A.3 Shlukovac´ı metody definovan´e pomoc´ı definic A.6 a A.7 se liˇs´ı pouze zp˚ usobem, jak´ym se z´ısk´a transformaˇcn´ı matice, pomoc´ı kter´e se pˇri pˇrechodech mezi jednotliv´ymi n´asleduj´ıc´ımi rozklady rozdˇeluje vybran´y shluk na dva nov´e. 76
A.3
Hierarchick´ e metody
Z hierarchick´ych metod shlukov´an´ı bylo pouˇzito nˇekolik aglomerativn´ıch metod, kter´e jsou zaloˇzeny na n´asleduj´ıc´ım algoritmu Necht’ X je mnoˇzina vzor˚ u, n = |X|. 1. Utvoˇr´ı se rozklad Ai=1 (i je index rozkladu) obsahuj´ıc´ı n shluk˚ u. Tzn. v kaˇzd´em shluku je pr´avˇe jeden vzor. 2. V rozkladu Ai se vyberou dva nejm´enˇe vzd´alen´e shluky a ty se slouˇc´ı v jeden nov´y shluk. T´ım vznikne nov´y rozklad Ai+1 . 3. Pokud rozklad Ai+1 obsahuje v´ıce neˇz jeden shluk, i = i + 1, jde se zpˇet na bod 2. V´ysledkem je posloupnost rozklad˚ u A1 , . . . , An−1 , kter´a urˇcuje hierarchickou strukturu vzor˚ u podle podobnosti. Jednotliv´e metody se liˇs´ı pouze zp˚ usobem, jak´ym se urˇcuje vzd´alenost D(T, U) mezi shluky T, U ∈ Ak . Tato vzd´alenost by mˇela splˇ novat n´asleduj´ıc´ı podm´ınky (D1) D(T, T ) = 0 (D2) D(T, U) ≥ 0 (D3) D(T, U) = D(U, T ) (D4) je-li (T, U) takov´a dvojice shluk˚ u z rozkladu Ak , pro niˇz plat´ı D(T, U) = min{D(T, U)|T, U ∈ Ak , T 6= U} = µ, potom (∀V ∈ Ak )(D(T ∪ U, V ) ≥ µ) Mezishlukov´a vzd´alenost se definuje pomoc´ı vzd´alenosti vzor˚ u, vzd´alenost dvou shluk˚ u z nichˇz kaˇzd´y obsahuje pouze jeden prvek, se definuje jako vzd´alenost dvou vzor˚ u obsaˇzen´ych v dan´ych shluc´ıch.
A.3.1
Metoda nejbliˇ zˇ s´ıho souseda (single linkage)
Mezishlukov´a vzd´alenost je definov´ana def
D(T, U) =
min d(x, y)
x∈T,y∈U
(A.17)
Tato metoda se pouˇz´ıv´a hlavnˇe v situac´ıch, kdy se oˇcek´avaj´ı shluky, kter´e nemaj´ı sf´erick´y charakter.
77
A.3.2
Metoda nejvzd´ alenˇ ejˇ s´ıho souseda (complete linkage)
Mezishlukov´a vzd´alenost def
D(T, U) =
max d(x, y)
x∈T,y∈U
(A.18)
Tato metoda naopak preferuje sf´erick´e shluky. Pokud v datech nen´ı ˇz´adn´a v´yrazn´a struktura, shluky ve v´ysledn´em rozkladu maj´ı tendenci si rovnomˇernˇe rozdˇelit prostor ve smyslu objemu.
A.3.3
Metoda pr˚ umˇ ern´ e nepodobnosti vzor˚ u (average linkage)
Mezishlukov´a vzd´alenost D(T, U) =
X 1 d(x, y) |T ||U| x∈T, y∈U
(A.19)
Tato metoda nen´ı pˇr´ıliˇs citliv´a na odchylky v datech, je statisticky robustn´ı, coˇz znamen´a, ˇze pokud jsou vzory rozloˇzeny podle urˇcit´eho rozdˇelen´ı pravdˇepodobnosti, tak se po pˇrid´an´ı dalˇs´ıch vzor˚ u pˇr´ıliˇs nenaruˇs´ı v´ysledek shlukov´an´ı. Hodnota takto definovan´e mezishlukov´e vzd´alenosti je jednoznaˇcn´a (u nˇekter´ych metod m˚ uˇze nastat pˇr´ıpad, kdy je minim´aln´ı vzd´alenost mezi v´ıce neˇz dvˇema shluky stejn´a a m˚ uˇze se pokraˇcovat v´ıce r˚ uzn´ymi zp˚ usoby, pˇri nichˇz mohou vzniknout stejn´e rozklady, ale vz´ajemn´e vzd´alenosti v r´amci tˇechto stejn´ych rozklad˚ u se liˇs´ı), z tohoto d˚ uvodu je m´enˇe n´achyln´a na nejednoznaˇcnost v´ysledku shlukov´an´ı.
A.3.4
Pozn´ amky k implementaci hierarchick´ ych metod
V souvislosti s pˇrep´ınac´ımi jednotkami nen´ı tˇreba z´ıskat celou hierarchii rozklad˚ u. Staˇc´ı z´ıskat pouze jeden rozklad obsahuj´ıc´ı pˇredem urˇcen´y poˇcet shluk˚ u. Velk´ym probl´emem je urˇcen´ı spr´avn´eho poˇctu shluk˚ u. Implementace byla pˇrizp˚ usobena tomuto poˇzadavku a je moˇzn´e monitorovat postup shlukov´an´ı a pˇri splnˇen´ı urˇcit´e podm´ınky shlukov´an´ı pˇreruˇsit a pouˇz´ıt d´ale rozklad, pˇri kter´em bylo shlukov´an´ı pˇreruˇseno. Urˇcit vˇsak optim´aln´ı poˇcet shluk˚ u v souvislosti s neuronov´ymi s´ıtˇemi je sloˇzit´e, vˇetˇsina metod optimalizuj´ıc´ıch poˇcet shluk˚ u pˇr´ımo pˇri shlukov´an´ı vyˇzaduje dodateˇcn´e nastaven´ı konstant, kter´e zase vyˇzaduj´ı informace o shlukovan´ych vzorech. Nav´ıc i kdyby se toto podaˇrilo pˇrekonat, nen´ı zaruˇceno, ˇze by z´ıskan´y rozklad vyhovoval pˇri uˇcen´ı 78
v´ypoˇcetn´ıch neuron˚ u. Zkoum´an´ı zm´ınˇen´eho probl´emu by mohlo pˇrin´est efektivnˇejˇs´ı uˇcen´ı tohoto typu neuronov´ych s´ıt´ı. Sloˇzitost tˇechto u ´ loh plyne z n´asleduj´ıc´ı u ´ vahy, necht’ n je poˇcet vzor˚ u, na poˇc´atku je tˇreba spoˇc´ıtat vz´ajemn´e vzd´alenosti jednotliv´ych vzor˚ u. Tyto hodnoty jsou ukl´ad´any do matice mezishlukov´ych vzd´alenost´ı DM. D´ıky symetriˇcnosti vzd´alenosti staˇc´ı pouˇz´ıt napˇr. hodnoty pod diagon´alou. D˚ usledkem toho je potˇreba vyhodnotit 12 n(n−1) operac´ı spoˇcten´ı vzd´alenosti dvou vzor˚ u. T´ım se uˇsetˇr´ı pamˇet’ i poˇcet operac´ı. Pˇri kaˇzd´em kroku metody je tˇreba prohledat celou matici vzd´alenost´ı a naj´ıt jej´ı minim´aln´ı prvek. V l-t´em kroku je tˇreba prohledat 21 (n−l−1)(n−l) prvk˚ u DM (pro l=1 doch´az´ı k prvn´ımu slouˇcen´ı dvou shluk˚ u). Pokud m´a b´yt ve v´ysledn´em rozkladu k shluk˚ u je tˇreba celkem (n − k) krok˚ u a tedy n−k P 1 (n − i − 1)(n − i) operac´ı pouˇzit´ych pro urˇcen´ı minima matice. Z toho 2 i=1
je vidˇet ˇze poˇcet takov´ych operac´ı je polynom tˇret´ıho stupnˇe v n. D´ale je tˇreba uv´aˇzit, ˇze pˇri slouˇcen´ı dvou shluk˚ u L a U do shluku S je tˇreba pˇrepoˇc´ıtat shlukov´e vzd´alenosti novˇe vznikl´eho shluku od vˇsech ostatn´ıch shluk˚ u. Vˇsechny pouˇzit´e metody umoˇzn ˇ uj´ı vyuˇz´ıt vztah, ve kter´em je mezishlukov´a vzd´alenost D(S, T ) novˇe vznikl´eho shluku S od libovoln´eho dalˇs´ıho shluku T pouze funkc´ı D(L, T ), D(U, T ) a D(L, T ) (v´ıce napˇr. v [KR90]). T´ım je v l-t´em kroku nutn´e pˇrepoˇc´ıtat (n − l − 1) hodnot, kter´e lze pˇr´ımo um´ıstit do p˚ uvodn´ı matice. Celkem je nutn´e prov´est ˇr´adovˇe n2 takov´ych operac´ı. Z toho plyne, ˇze takto implementovan´e metody maj´ı sloˇzitost ve tvaru polynomu tˇret´ıho stupnˇe v n.
79
Dodatek B Metoda hlavn´ıch komponent Metodu hlavn´ıch komponent lze pouˇz´ıt k redukci dimenze obecnˇe n rozmˇern´eho prostoru. Tato metoda vych´az´ı z pˇredstavy, ˇze nejv´yznaˇcnˇejˇs´ı prvky datov´ych vektor˚ u jsou ty, jejichˇz rozptyl je nejvˇetˇs´ı. Pˇrejde se tedy k nov´e b´azi prostoru, ve kter´e jsou rozptyly pˇr´ısluˇsej´ıc´ı jednotliv´ym sloˇzk´am datov´ych vektor˚ u co moˇzn´a nejvˇetˇs´ı. Pokud v takov´eto nov´e b´azi je pomˇer rozptylu nˇekter´e sloˇzky ku maxim´aln´ımu rozptylu ze vˇsek sloˇzek dostateˇcnˇe mal´y, lze takovou sloˇzku povaˇzovat za bezv´yznamnou a vypustit ji. T´ım se sn´ıˇz´ı dimenzionalita p˚ uvodn´ıho prostoru za cenu transformace dat, vektory v nov´e b´azi jiˇz totiˇz nemaj´ı p˚ uvodn´ı v´yznam. Pˇri hled´an´ı tranformaˇcn´ı matice se vyuˇz´ıv´a faktu, ˇze matice kovariance C, jej´ıˇz prvky jsou definov´any n
Cij =
1X (xik − x¯i )(xjk − x¯j ) n k=1
(B.1)
m´a na diagon´ale rozptyly jednotliv´ych veliˇcin a stopa matice C (souˇcet vˇsech diagon´aln´ıch prvk˚ u) pˇri pˇrechodu k nov´e b´azi z˚ ust´av´a konstantn´ı. Matice C se pˇrevede do diagon´aln´ıho tvaru (matice kovariance je symetrick´a, je tedy vˇzdy diagonalizovateln´a a m´a vˇsechna vlastn´ı ˇc´ısla re´aln´a) a najde se b´aze, ve kter´e je tato matice diagon´aln´ı (tuto b´azi lze vˇzdy volit ortogon´aln´ı d´ıky symetriˇcnosti a tedy rovnosti algebraick´e a geometrick´e n´asobnosti u vˇsech vlastn´ıch ˇc´ısel). Protoˇze diagonalizovan´a matice m´a na diagon´ale vlastn´ı ˇc´ısla, kter´a odpov´ıdaj´ı rozptyl˚ um nov´ych souˇradnic, odpov´ıd´a nejvˇetˇs´ımu vlastn´ımu ˇc´ıslu souˇradnice s nejvˇetˇs´ım rozptylem atd.. Nyn´ı se vyberou nov´e b´azov´e vektory tak, aby pomˇer souˇctu odpov´ıdaj´ıc´ı smˇeru rozptyl˚ u ku souˇctu vˇsech rozptyl˚ u byl dostateˇcnˇe bl´ızk´y jedn´e. N´aslednˇe se p˚ uvodn´ı hodnoty pˇrevedou do nov´e b´aze o niˇzˇs´ı dimenzi. V´ypoˇcet by byl tedy n´asleduj´ıc´ı: 80
Urˇc´ı se vlastn´ı ˇc´ısla a vlastn´ı vektory matice kovariance C, vlastn´ı vektory se znormuj´ı na jednotku, pokud je nˇekter´e vlastn´ı ˇc´ıslo v´ıcen´asobn´e, ortogonalizuj´ı se jemu pˇr´ısluˇsn´e vlastn´ı vektory, jinak vlastn´ı vektory k r˚ uzn´ym vlastn´ım ˇc´ısl˚ um jsou po znormov´an´ı automaticky ortogon´aln´ı. Plat´ı C = P ΛP T
(B.2)
kde P je matice jej´ıˇz sloupce tvoˇr´ı normalizovan´e vl. vektory, Λ je diagon´aln´ı matice. Pro sloˇzky vektoru x popisuj´ıc´ı vektor v p˚ uvodn´ı b´azi a vektoru y v nov´e b´azi plat´ı transformaˇcn´ı vztahy x = Py y = PTx
(B.3) (B.4)
z matice P se vypust´ı vlastn´ı vektory odpov´ıdaj´ıc´ı mal´ym vlastn´ım ˇc´ısl˚ um, t´ım vznikne matice P ′ . Vzory budou nyn´ı pops´any niˇzˇs´ım poˇctem hodnot, tvoˇr´ıc´ı vektor y ′, kter´e se spoˇctou podle vztahu y ′ = P ′x (B.5)
81
Dodatek C Pouˇ zit´ e n´ astroje • Pro napsan´ı diplomov´e pr´ace byl pouˇzit syst´em LATEX • sch´emata topologi´ı neuronov´yvh s´ıt´ı byly vytvoˇreny v programu dia • veˇsker´e uveden´e obr´azky mimo sch´emat neuronov´ych s´ıt´ı byly vytvoˇreny pomoc´ı prostˇred´ı jazyka R, tento jazyk byl tak´e pouˇzit pro zpracov´an´ı z´ıskan´ych dat • implementaˇcn´ı z´aleˇzitosti t´ykaj´ıc´ı se programov´an´ı k´odu pro realizaci zm´ınˇen´ych metod, experiment˚ u a n´asledn´eho sbˇeru dat byly vytvoˇreny jako k´od v jazyce c++ a v podobˇe plugin˚ u pˇrid´any k programu NNSU • pro pˇreklad k´odu v jazyce c++ byl pouˇzit pˇrekladaˇc GNU gcc
82
Literatura [AJ96]
Alpaydin, Ethen Jordan, Michael I.: ”Local Linear Perceptrons for Classification”, www.cs.berkeley.edu/∼jordan/papers/llp.pdf, 1996.
[AND85]
Andˇel, Jiˇr´ı: ”Matematick´a statistika”, Nakladatelstv´ı technick´e literatury, Praha, 1985.
[AND73]
Anderberg, M. R.: ”Cluster analysis for applications”, Academic Press, New York, 1973.
[BIL98]
Bilmes, Jeff A.: ”A Gentle Tutorial of the EM Algorithm and its Application to Parameter Estimation for Gaussian Mixture and Hidden Markov Models”,Computer Science Division - Department of Electrical Engineering and Computer Science, U.C. Berkeley, 1998.
[BIS97]
Bishop, Christopher. M.: ”Neural Networks for Pattern Recognition”, Clarendon Press, 1997, ISBN 0-19-853864-2.
[CHE03]
Chien-Yu Chen: ”Incremental Hierarchical Clustering Algorithms Based on Statistical Models”, PhD Thesis, Department of Computer Science and Information Engineering, National Taiwan University, 2003.
[FF02]
Fraley, Ch. - Raftery, Adrian E.: ”Model-based clustering, discriminant analysis, and density estimation”, Journal of the American Statistical Association, vol. 97, No. 458, 2002.
[HH98]
´ Hakl, F. - Holeˇ na, M.: ”Uvod do teorie neuronov´ych s´ıt´ı”, Vyˇ davatelstv´ı CVUT, 1998, ISBN 80-01-01716-8.
[HLA01]
Hlav´aˇcek, Marek: ”Applications of Neural Networks with Switching Units on Higgs Boson search”, V´yzkumn´y u ´ kol, Katedra ˇ Matematiky, CVUT - FJFI, 2001. 83
[HLA02]
Hlav´aˇcek, Marek: ”N´avrh a anal´yza neuronov´e s´ıtˇe s pˇrep´ınac´ımi jednotkami vhodn´e pro studium proces˚ u rozpadu element´arn´ıch ˇc´astic s vyuˇzit´ım moˇznosti genetick´e optimalizace.”, Diplomov´a ˇ pr´ace, Katedra Matematiky, CVUT - FJFI, 2002.
[HOL92]
Holland, John H.: ”Adaptation in Natural and Artificial Systems”, The MIT Press, 1992, ISBN 0-262-58111-6.
[JJ91]
Jacobs, Robert A. Jordan, Michael I.: ”Adaptive Mixtures of Local Experts”, www.cs.berkeley.edu/∼jordan/papers/mixtures-of-experts.pdf, 1991.
[KAL02]
Kalous, Roman: ”N´avrh, implementace a paralelizace genetick´ych algoritm˚ u pro optimalizaci neuronov´ych s´ıt´ı s hierarchickou strukturou”, Diplomov´a pr´ace, Katedra Matematiky, ˇ CVUT - FJFI, 2002.
[KR90]
Kaufman, L. - Rousseeuw, P. J.: ”Finding groups in data: An introduction to cluster analysis”, John Wiley & sons, 1990, ISBN 0-471-87876-6.
[KOT80]
Kotek, Z. - Br˚ uha, I. - Chalupa, V. - Jel´ınek, J.: ”Adaptivn´ı a uˇc´ıc´ı se syst´emy”, SNTL - ALFA, Praha, 1980.
[LS85]
ˇ Lukasov´a, A. - Sarmanov´ a, J.: ”Metody shlukov´e anal´yzy”, SNTL, Praha, 1985.
[NAG05]
´ am: ”The neural Package”, N´agy, Ad´ http://cran.r-mirror.de/doc/packages/neural.pdf, 2005.
[OCY01]
Yen-jen Oyang - Chien-Yu Chen - Tsui-Wei Yang: ”A study on the Hierarchical Data Clustering Algorithm Based on Gravity Theory”, Department of Computer Science and Information Engineering, National Taiwan University.
[PLA04]
Plaˇcek, Ivan: ”Paralelizace modelu neuronov´ych s´ıt´ı s pˇrep´ınac´ımi jednotkami”, Diplomov´a pr´ace, Katedra Matemˇ atiky, CVUT - FJFI, 2004.
[PRE94]
Prechelt, Lutz: ”PROBEN1 - A Set of Neural Network Benchmark Problems and Benchmarking Rules.”, Fakult¨at f¨ ur Informatik, Universit¨at Karlsruhe, 1994.
84
[SG02]
Strehl, Alexander - Ghosh, Joydeep: ”Cluster Ensembles - A Knowledge Reuse Framework For Combining Multiple Partitions”, http://citeseer.ist.psu.edu/strehl02cluster.html, 2002.
[SNO02]
ˇ Snorek, Miroslav: ”Neuronov´e s´ıt’ˇe a neuropoˇc´ıtaˇce”, Vydavatelˇ stv´ı CVUT, 2002, ISBN 80-01-02549-7.
[TD04]
Ting Su - Dy, Jennifer: ”A Deterministic Method for Initializing K-Means Clustering”, Proceedings of The 16th IEEE International Conference on Tools with Artificial Inteligence (ICTAI2004), http://www.ece.neu.edu/∼tsu/papers/init.ps, 2004.
[VSR05]
Venables, W.N. - Smith, D.M. - the R Development Core Team: ”An Introduction to R”,www.r-project.org, 2005, ISBN 3-900051-12-7.
[VIS98]
´ V´ıˇsek, Jan Amos: ”Statistick´a anal´yza dat”, Vydavatelstv´ı ˇ CVUT, 1998, ISBN 80-01-01735-4.
[WIS01]
Wishart, David: ”K-Means Clustering with Outlier Detection, Mixed Variables and Missing Values”, Department of Management, University of St. Andrews, 2001.
[ZEL02]
Zelinka, Ivan: ”Umˇel´a inteligence v probl´emech glob´aln´ı optimalizace”, BEN - Technick´a literatura, 2002, ISBN 80-7300-69-5.
85