Přidání poznámek z UIR
This commit is contained in:
parent
53641d14eb
commit
adf0e32b33
8 changed files with 589 additions and 0 deletions
25
KIV UIR/01. Základní pojmy.md
Normal file
25
KIV UIR/01. Základní pojmy.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Základní pojmy
|
||||
|
||||
**Inteligence**
|
||||
- shopnost člověka abstraktně a rozumně přemýšlet a od toho odvozovat účelná jednání (přijímat účelná rozhodnutí)
|
||||
|
||||
**Umělá inteligence**
|
||||
- schopnost počítače (stroje) abstraktně a rozumně přemýšlet a od toho odvozovat účelná jednání (přijímat účelná rozhodnutí)
|
||||
+ schopnost počítačových programů napodobovat inteligenci člověka
|
||||
- věda o vytváření strojů, které budou při řešení určitého úkolu užívat takového postupu, který - kdyby ho dělal člověk - bychom považovali za projev jeho inteligence
|
||||
|
||||
**Turingův test**
|
||||
- dokážeme rozlišit stroj od člověka dle chování?
|
||||
- ne -> inteligentní
|
||||
- splněno 2023 (ChatGPT)
|
||||
|
||||
**Oblasti umělé inteligence**
|
||||
- řešení úloh
|
||||
- hry
|
||||
- automatické dokazování
|
||||
- počítačové vidění
|
||||
- reprezentace znalostí a expertní systémy
|
||||
- porozumění přirozenému jazyku
|
||||
- robotika
|
||||
- automatické řízení
|
||||
- plánování
|
110
KIV UIR/02. Řešení a dekompozice úloh.md
Normal file
110
KIV UIR/02. Řešení a dekompozice úloh.md
Normal file
|
@ -0,0 +1,110 @@
|
|||
# Řešení úloh
|
||||
|
||||
**Úloha**
|
||||
- dvě množina stavů
|
||||
- $X = \{x_{1}, x_{2}, \dots, x_{k}\}$ ... množina výchozích stavů
|
||||
- $Y = \{y_{1}, y_{2}, \dots, y_{m}\}$ ... množina cílových stavů
|
||||
- zobrazení $X \to Y$
|
||||
|
||||
**Řešením úlohy**
|
||||
- postup (posloupnost operací), kterým převedeme úlohu z některého výchozího stavu $x_{i}$ do definovaného cílového stavu $y_{j}$
|
||||
|
||||
**Posloupnost stavů**
|
||||
- $x_{i} = s_{0}, s_{1}, \dots, s_{t} = y_{j}$
|
||||
- pro přechod mezi jednotlivými $s_{i}$ slouží operátory $r_{i}$ popisující elementární operace
|
||||
|
||||
**Operátory**
|
||||
- $\text{R} = \{r_{1}, r_{2}, \dots, r_{l}\}$
|
||||
- úlohu vyjádříme jako $x_{i} \to^{R_{Kij}} y_{j}$
|
||||
|
||||
**Definice úlohy**
|
||||
- trojice $(X, Y, R)$
|
||||
- vždy známe dvě složky a třetí určujeme
|
||||
- $(X, ?, R)$ ... deduktivní
|
||||
- $(?, Y, R)$ ... abduktivní
|
||||
- $(X, Y, ?)$ ... induktivní
|
||||
|
||||
## Hledání řešení úlohy
|
||||
|
||||
Hledáme takové sestavení operátorů $R$, které vyhovuje zadaným množinám stavů $X$ a $Y$ a je v nějakém (obvykle daném) smyslu optimální.
|
||||
|
||||
**Postup**
|
||||
- metodou pokusů a omylů vytváříme strom řešení úlohy
|
||||
- současným prohledáváním hledáme takový kompoziční operátor $R_{Kij}$ (sestavení operátorů), který vyhovuje množinám stavů $X$ a $Y$
|
||||
+ procházení stromu řešení
|
||||
- deterministické
|
||||
- náhodné
|
||||
- heuristické
|
||||
|
||||
**Předpoklady**
|
||||
1. existuje konečná **množina stavů** $S = \{s_{i}\}$, ve kterých se může úloha nacházet
|
||||
2. existuje alespoň jeden **výchozí** (**počáteční**) **stav** úlohy $s_{0} \in S$
|
||||
3. existuje konečná množina **cílových** (**požadovaných**) **stavů** úlohy $G = \{g_{j}\}$, přičemž $G \subseteq S$
|
||||
4. existuje konečná množina **elementárních operátorů** $R = \{r_{l}\}$, které převádějí úlohu ze tavu $s_{p}$ do stavu $s_{q}$
|
||||
|
||||
**Stavový prostor** - definován dvojice $(S, R)$
|
||||
|
||||
**Konkrétní řešení úlohy**
|
||||
- definováno trojicí $(s_{0}, s_{j}, R_{K_{0}j})$ na $S$
|
||||
- $R_{K_{0}j}$ - kompoziční operátor pro převod úlohy z $s_{0}$ do $s_{j} = g_{_{k}}$
|
||||
|
||||
**Řešení úlohy ve stavovém prostoru**
|
||||
- kompoziční operátor $R_{K_{0}j} = r_{1}r_{2}r_{3}\dots r_{r-1}r_{r}$ takový, že
|
||||
- $s_{1} \leftarrow r_{1} (s_{0})$
|
||||
- $s_{2} \leftarrow r_{1} (s_{1}) = r_{2}(r_{1}(s_{0}))$
|
||||
- ...
|
||||
- $s_{r} \leftarrow r_{r} (s_{r-1}) = r_{r}(r_{r-1}(\dots r_{1}(s_{0}))$
|
||||
|
||||
## Reprezentace úlohy stromovým grafem
|
||||
|
||||
**Pojmy**
|
||||
- **uzly grafu** - stavy úlohy
|
||||
- **hrany grafu** - přechody mezi stavy
|
||||
- **bezprostřední následovník** - uzly, které mají stejného rodiče
|
||||
- **expanze uzlu** - nalezení všech bezprostředních následovníků uzlu
|
||||
- **hloubka uzlu** - počet hran do něj vedoucích z uzlu $s_{0}$
|
||||
|
||||
**Strom řešení úlohy**
|
||||
- jediný uzel bez bezprostředního předchůdce - **kořen**
|
||||
- u každého uzlu určujeme rekurzivně jeho hloubku
|
||||
- kořen - 0
|
||||
- následovník uzlu s hloubkou $d$ má hloubku $d+1$
|
||||
- uzly bez bezprostředního následovníka jsou
|
||||
- cílovými stavy úlohy
|
||||
- stavy bez aplikovatelných operátorů
|
||||
- stavy, o kterých jsme rozhodli, že je nemá smysl rozvíjet
|
||||
- orientovaná hrana - přechod ze starého do nového stavu (aplikace operátoru)
|
||||
|
||||
**Nalezení řešení úlohy**
|
||||
- nalezení cesty spojující kořen s listem, který reprezentuje cílový stav úlohy
|
||||
|
||||
## Produkční systém
|
||||
|
||||
**Složky**
|
||||
- **databáze úlohy** - fakta
|
||||
- **báze znalostí** - produkční pravidla
|
||||
- podmínka -> akce
|
||||
- **řídíci mechanizmus**
|
||||
- provádí volbu, které pravidlo bude použito
|
||||
- vybírá fakta z databáze, která budou dosazena do podmínky
|
||||
- ukončuje výpočet, pokud je splněna cílová podmínka
|
||||
- **množina cílů**, které mají být splněny
|
||||
|
||||
# Dekompozice úlohy
|
||||
|
||||
**Hanoiské věže**
|
||||
- máme tři tyče: **A, B, C**
|
||||
- na tyči **A** je (podle velikosti) $n$ kotoučů
|
||||
- úkol: přeskládat z **A** pomocí **C** na tyč **B** (zaps. $n(A, B, C)$) bez porušení uspořádání
|
||||
+ fáze
|
||||
+ přeskládat $n-1$ kotoučů z A pomocí B na C
|
||||
+ přeložit 1 kotouč z A na B
|
||||
+ překládat $n-1$ kotoučů z C pomocí A na B
|
||||
|
||||
**AND/OR grafy**
|
||||
- chceme najít cestu $a \to z$
|
||||
- pomocí AND/OR grafu rozdělíme problém na podproblémy
|
||||
- cesta přes k, cesta přes l
|
||||
- pokud máme OR vrchol, tak stačí projít jediného následníka
|
||||
- pokud máme AND vrchol, musíme projít všechny následníky
|
||||
+ **celkové řešení** = podgraf AND/OR grafu, který nevynechá žádného následníka AND uzlu
|
91
KIV UIR/02. Řešení úloh.md
Normal file
91
KIV UIR/02. Řešení úloh.md
Normal file
|
@ -0,0 +1,91 @@
|
|||
# Řešení úloh
|
||||
|
||||
**Úloha**
|
||||
- dvě množina stavů
|
||||
- $X = \{x_{1}, x_{2}, \dots, x_{k}\}$ ... množina výchozích stavů
|
||||
- $Y = \{y_{1}, y_{2}, \dots, y_{m}\}$ ... množina cílových stavů
|
||||
- zobrazení $X \to Y$
|
||||
|
||||
**Řešením úlohy**
|
||||
- postup (posloupnost operací), kterým převedeme úlohu z některého výchozího stavu $x_{i}$ do definovaného cílového stavu $y_{j}$
|
||||
|
||||
**Posloupnost stavů**
|
||||
- $x_{i} = s_{0}, s_{1}, \dots, s_{t} = y_{j}$
|
||||
- pro přechod mezi jednotlivými $s_{i}$ slouží operátory $r_{i}$ popisující elementární operace
|
||||
|
||||
**Operátory**
|
||||
- $\text{R} = \{r_{1}, r_{2}, \dots, r_{l}\}$
|
||||
- úlohu vyjádříme jako $x_{i} \to^{R_{Kij}} y_{j}$
|
||||
|
||||
**Definice úlohy**
|
||||
- trojice $(X, Y, R)$
|
||||
- vždy známe dvě složky a třetí určujeme
|
||||
- $(X, ?, R)$ ... deduktivní
|
||||
- $(?, Y, R)$ ... abduktivní
|
||||
- $(X, Y, ?)$ ... induktivní
|
||||
|
||||
## Hledání řešení úlohy
|
||||
|
||||
Hledáme takové sestavení operátorů $R$, které vyhovuje zadaným množinám stavů $X$ a $Y$ a je v nějakém (obvykle daném) smyslu optimální.
|
||||
|
||||
**Postup**
|
||||
- metodou pokusů a omylů vytváříme strom řešení úlohy
|
||||
- současným prohledáváním hledáme takový kompoziční operátor $R_{Kij}$ (sestavení operátorů), který vyhovuje množinám stavů $X$ a $Y$
|
||||
+ procházení stromu řešení
|
||||
- deterministické
|
||||
- náhodné
|
||||
- heuristické
|
||||
|
||||
**Předpoklady**
|
||||
1. existuje konečná **množina stavů** $S = \{s_{i}\}$, ve kterých se může úloha nacházet
|
||||
2. existuje alespoň jeden **výchozí** (**počáteční**) **stav** úlohy $s_{0} \in S$
|
||||
3. existuje konečná množina **cílových** (**požadovaných**) **stavů** úlohy $G = \{g_{j}\}$, přičemž $G \subseteq S$
|
||||
4. existuje konečná množina **elementárních operátorů** $R = \{r_{l}\}$, které převádějí úlohu ze tavu $s_{p}$ do stavu $s_{q}$
|
||||
|
||||
**Stavový prostor** - definován dvojice $(S, R)$
|
||||
|
||||
**Konkrétní řešení úlohy**
|
||||
- definováno trojicí $(s_{0}, s_{j}, R_{K_{0}j})$ na $S$
|
||||
- $R_{K_{0}j}$ - kompoziční operátor pro převod úlohy z $s_{0}$ do $s_{j} = g_{_{k}}$
|
||||
|
||||
**Řešení úlohy ve stavovém prostoru**
|
||||
- kompoziční operátor $R_{K_{0}j} = r_{1}r_{2}r_{3}\dots r_{r-1}r_{r}$ takový, že
|
||||
- $s_{1} \leftarrow r_{1} (s_{0})$
|
||||
- $s_{2} \leftarrow r_{1} (s_{1}) = r_{2}(r_{1}(s_{0}))$
|
||||
- ...
|
||||
- $s_{r} \leftarrow r_{r} (s_{r-1}) = r_{r}(r_{r-1}(\dots r_{1}(s_{0}))$
|
||||
|
||||
## Reprezentace úlohy stromovým grafem
|
||||
|
||||
**Pojmy**
|
||||
- **uzly grafu** - stavy úlohy
|
||||
- **hrany grafu** - přechody mezi stavy
|
||||
- **bezprostřední následovník** - uzly, které mají stejného rodiče
|
||||
- **expanze uzlu** - nalezení všech bezprostředních následovníků uzlu
|
||||
- **hloubka uzlu** - počet hran do něj vedoucích z uzlu $s_{0}$
|
||||
|
||||
**Strom řešení úlohy**
|
||||
- jediný uzel bez bezprostředního předchůdce - **kořen**
|
||||
- u každého uzlu určujeme rekurzivně jeho hloubku
|
||||
- kořen - 0
|
||||
- následovník uzlu s hloubkou $d$ má hloubku $d+1$
|
||||
- uzly bez bezprostředního následovníka jsou
|
||||
- cílovými stavy úlohy
|
||||
- stavy bez aplikovatelných operátorů
|
||||
- stavy, o kterých jsme rozhodli, že je nemá smysl rozvíjet
|
||||
- orientovaná hrana - přechod ze starého do nového stavu (aplikace operátoru)
|
||||
|
||||
**Nalezení řešení úlohy**
|
||||
- nalezení cesty spojující kořen s listem, který reprezentuje cílový stav úlohy
|
||||
|
||||
## Produkční systém
|
||||
|
||||
**Složky**
|
||||
- **databáze úlohy** - fakta
|
||||
- **báze znalostí** - produkční pravidla
|
||||
- podmínka -> akce
|
||||
- **řídíci mechanizmus**
|
||||
- provádí volbu, které pravidlo bude použito
|
||||
- vybírá fakta z databáze, která budou dosazena do podmínky
|
||||
- ukončuje výpočet, pokud je splněna cílová podmínka
|
||||
- **množina cílů**, které mají být splněny
|
75
KIV UIR/03. Neinformované a informované metody.md
Normal file
75
KIV UIR/03. Neinformované a informované metody.md
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Neinformované metody
|
||||
|
||||
- $b$ - faktor větvení
|
||||
- $d$ - hloubka cíle
|
||||
- $m$ - maximální hloubka větve
|
||||
|
||||
**Prohledávání do hloubky** (DFS)
|
||||
- prohledá vždy nejlevější a nejhlubší neexpandovaný uzel
|
||||
- **vlastnosti**
|
||||
- neúplný (nekonečná větev, cykly)
|
||||
- není optimální
|
||||
- časová složitost $O(b^m)$
|
||||
- prostorová složitost $O(bm)$, lineární
|
||||
- možné přidat limit
|
||||
- po dané hloubce nepokračuje dále
|
||||
- řeší problém nekonečné větve
|
||||
|
||||
**Prohledávání do šířky** (BFS)
|
||||
- prohledá vždy nejlevější neexpandovaný uzel s nejmenší hloubkou
|
||||
- **vlastnosti**
|
||||
- úplný (pro konečné b)
|
||||
- optimální podle délky cesty, neoptimální podle obecné ceny
|
||||
- časová složitost $O(b^{d+1})$
|
||||
- prostorová složitost $O(b^{d+1})$ (každý uzel v paměti)
|
||||
|
||||
**Prohledávání s postupným prohlubováním** (Iterating deepening DFS)
|
||||
- prohledávání do hloubky s postupně se zvyšující limitem
|
||||
- procházíme jako DFS, ale jen do hloubky dané limitem
|
||||
- **vlastnosti**
|
||||
- úplný (pro konečné b)
|
||||
- optimální (pro $g(n)$ rovnoměrně neklesající funkce hloubky)
|
||||
- časová složitost: $O(b^d)$
|
||||
- paměťová složitost: $O(bd)$
|
||||
- kombinace výhod **DFS** a **BFS**
|
||||
- nízké paměťové nároky
|
||||
- optimálnost, úplnost
|
||||
|
||||
# Informované metody
|
||||
|
||||
**Heuristické hledání nejlepší cesty** (Best-first Search)
|
||||
- použití **ohodnocovací funkce** $f(n)$ pro každý uzel
|
||||
- výpočet jeho přínosu
|
||||
- seznam uzlů udržujeme uspořádaný (vzestupně) vzhledem k $f(n)$
|
||||
- použití **heuristické funkce** $h(n)$ pro každý uzeů
|
||||
- odhad vzdálenosti daného uzlu od cíle
|
||||
- čím menší $h(n)$, tím blíže k cíli, $h(\text{Goal}) = 0$
|
||||
|
||||
**Hladové heuristické hledání** (Greedy Best-first Search)
|
||||
- $f(n) = h(n)$
|
||||
- např. vzdálenost vzdušnou čarou
|
||||
- v každém kroku expanduji prvně uzel, který se zdá být nejblíže k cíli
|
||||
- **vlastnosti**
|
||||
- obecně neúplný (nekonečný prostor, cykly)
|
||||
- není optimální
|
||||
- časová složitost: $O(b^m)$, záleží na funkci $h$
|
||||
- paměťová složitost: $O(b^m)$, každý uzel je v paměti
|
||||
|
||||
**Algoritmus A\***
|
||||
- ohodnocovací funkce - kombinace $g(n)$ a $h(n)$
|
||||
- $f(n) = g(n) + h(n)$
|
||||
- $g(n)$ - cena cesty do $n$
|
||||
- $h(n)$ - odhad cesty z $n$ do cíle
|
||||
- $f(n)$ - odhad ceny nejlevnější cesty, která vede přes $n$
|
||||
- A\* algoritmus vyžaduje tzv. přípustnou heuristiku
|
||||
- $0 \leq h(n) \leq h^*(n)$, kde $h^*(n)$ je skutečná cena cesty z $n$ do cíle
|
||||
- odhad (např. přímá vzdálenost) musí být vždy menší nebo roven ceně libovolné možné cesty do cíle
|
||||
- expanduje uzly podle $f(n) = g(n) + h(n)$
|
||||
- expanduje všechny uzly s $f(n) < C^*$
|
||||
- expanduje některé uzly s $f(n) = C^*$
|
||||
- neexpanduje žádné uzly s $f(n) > C^*$
|
||||
- **vlastnosti**
|
||||
- úplný (pokud není nekonečno uzlů s $f < C^*$)
|
||||
- optimální
|
||||
- časová složitost: $O((b^*)^d)$, exponenciálné v délce řešení $d$
|
||||
- paměťová složitost: $O((b^*)^d)$, každý uzel v paměti
|
90
KIV UIR/04. Evoluční a genetické algoritmy.md
Normal file
90
KIV UIR/04. Evoluční a genetické algoritmy.md
Normal file
|
@ -0,0 +1,90 @@
|
|||
# Evoluční algoritmy
|
||||
|
||||
Cílem je modelování evolučních procesů pro účely, které nemají nic společného s biologií.
|
||||
|
||||
**Společné rysy evol. algoritmů**
|
||||
- pracují zároveň **s celou skupinou** možných řešení zadaného problému místo práce s jednotlivými řešeními
|
||||
- řešení **postupně vylepšují** zařazováním nových řešení , získaných kombinací původních
|
||||
- kombinace řešení jsou následovány **náhodnými změnami** a **vyřazováním** nevýhodných řešení
|
||||
|
||||
**Druhy evol. algoritmů**
|
||||
- algoritmy napodobující přirozené evoluční procesy - **genetické algoritmy**
|
||||
- algoritmy napodobující činnost mozku - **umělé neuronové sítě**
|
||||
|
||||
# Genetické algoritmy
|
||||
|
||||
Základní myšlenkou genetických algoritmů je **snaha napodobit vývoj a učení** nějakého živočišného druhu a takto vzniklý algoritmus použít při řešení úloh, které se vyskytují ve složitém, případně i měnícím se prostředí, v němž člověk není schopen dopředu nadefinovat všechny vzniklé případy a správné reakce na ně.
|
||||
|
||||
Založeny na třech různých operacích
|
||||
- **reprodukce** - každý jedinec je jiný; pokud mu odlišnost umožní lépe přežít, zanechá po sobě více potomků
|
||||
- **křížení** - geny se mohou křížit, část od otce, část od matky
|
||||
- **mutace** - ovlivnění jedinců jejich prostředím - malé náhodné změny
|
||||
|
||||
**Chromozóm**
|
||||
- základní prvek generace
|
||||
- možnost reprezentace
|
||||
- binárně
|
||||
- permutací přirozených čísel
|
||||
|
||||
**Populace**
|
||||
- množina chromozómů tvoří populace
|
||||
- každý chromozóm uchovává jedno řešení daného problému
|
||||
- první populace je náhodně vygenerována
|
||||
- základní parametr: velikost populace (počet chromozomů v ní)
|
||||
|
||||
**Křížení**
|
||||
- ze dvou chromozómů (otec a matka) se spojením vytvoří 1 nebo více nových potomků
|
||||
- chromozómy (otec a matka) se rozdělí na stejném náhodném místě
|
||||
- vznikne potomek/potomci
|
||||
- použije se jedna část chromozómu od matky a druhá část od otce
|
||||
- u dalšího potomka to může být naopak
|
||||
|
||||
**Mutace**
|
||||
- používá se, aby se neuvázlo v lokálním optimu
|
||||
- náhodná genetická změna některých genů právě vytvořeného potomka
|
||||
- příklad: 11011 -> 11001 (na 3. indexu)
|
||||
|
||||
**Fitness funkce**
|
||||
- udává sílu daného chromozomu
|
||||
- má vliv na to, které chromozómy zůstanou v populaci
|
||||
|
||||
**Selekce**
|
||||
- **Darwinova teorie:** nejlepší přežijí a stvoří potomky
|
||||
- různé metody výběru nejlepšího
|
||||
- ruletové kolo (rulet wheel selection)
|
||||
1. získáme sumu fitness funkcí $= S$
|
||||
2. generujeme náhodné číslo z $\langle 0, S\rangle = r$
|
||||
3. procházíme populaci a sčítáme fitness (sčítáme do $x$)
|
||||
- pokud $r > x$ zastav a vrať daný chromozóm
|
||||
- roztřídění nejlepších (rank selection)
|
||||
- steady-state selection
|
||||
- elitism
|
||||
|
||||
**Pravděpodobnost křížení**
|
||||
- udává četnost křížení
|
||||
- 0% -> nová populace kopií původní
|
||||
- 100% -> každý potomek stvořen křížením
|
||||
|
||||
**Pravděpodobnost mutace**
|
||||
- udává četnost mutace nových potomků
|
||||
- 0% -> ani jeden chromozóm nebyl změněn
|
||||
- 100% -> každý chromozóm je pozměněn
|
||||
|
||||
**Algoritmus**
|
||||
1. náhodná populace o $n$ chromozómech
|
||||
2. ohodnoť každý chromozóm fitnenss funkcí
|
||||
3. vytvoř novou populaci
|
||||
- vyber rodiče z populace
|
||||
- vytvoř z rodičů potomky
|
||||
- zmutuj potomky
|
||||
- přidej potomky do populace
|
||||
4. starou populaci nahraď novou
|
||||
5. pokud není dosaženo konce, vrať se na 2.
|
||||
|
||||
**Využití** - optimalizační úlohy
|
||||
- rozvrhy
|
||||
- chování robotů
|
||||
- automatické navrhování mechanických systémů
|
||||
- optimalizace rozmístění komunikací, telekomunikací
|
||||
- teorie her
|
||||
- problém batohu
|
|
@ -0,0 +1,61 @@
|
|||
# Klasifikace
|
||||
|
||||
- zařazujeme do předem známéno a pevného počtu tříd
|
||||
- např. rozpoznávání znaků
|
||||
- rozlišujeme měřitelné a strukturní vlastnosti objektů
|
||||
- mluvíme potom o příznacích a strukturních metodách rozpoznávání
|
||||
|
||||
**Algoritmy**
|
||||
- klasifikátor na principu kritéria minimální vzdálenosti
|
||||
- klasifikátor s diskriminační funkcí
|
||||
- kritérium minimální chyby (Bayesův klasifikátor)
|
||||
|
||||
**Metody výběru příznaků**
|
||||
- náhodný výběr
|
||||
- shora dolů nebo zdola nahoru
|
||||
- postupné ubírání/přidávání znaků
|
||||
- ověření pomocí klasifikátoru
|
||||
- dokumentová frekvence
|
||||
- TF-IFD (Term Frequency-Inverse Document Frequency)
|
||||
- vzájemná informace (Mutual Information, MU)
|
||||
|
||||
**Další klasifikační metody**
|
||||
- k-nejbližších sousedů
|
||||
- klasifikační a regresní stromy
|
||||
- maximální entropie
|
||||
|
||||
**Bayesův klasifikátor**
|
||||
- pro úlohy s neoddělitelnými (prolínajícími se) třídami obrazu
|
||||
- předpoklad
|
||||
- jednotlivá pozorování $E_{1}, \dots, E_{k}$ jsou podmíněně nezávislá při platnosti hypotézy $H$
|
||||
|
||||
**Support Vector Machine** (SVM)
|
||||
- řeší problém binární nebo více-třídní klasifikace tím, že hledá hyperroviny, které nejlépe rozdělují data různých tříd v prostoru funkcí
|
||||
|
||||
**Určení klasifikátoru s učitelem a bez**
|
||||
- s učitelem
|
||||
- pro vstupní data je určen správný výstup
|
||||
- bez učitele
|
||||
- ke vstupním datům není známý výstup
|
||||
|
||||
# Rozpoznávání
|
||||
|
||||
- počet tříd není předem znám a třídy identifikujeme až během vlastního rozpoznávání (např. rozpoznávání plynulé řeči)
|
||||
|
||||
# Shlukování
|
||||
|
||||
- objekty zařazujeme do tříd na základě jejich podobnosti
|
||||
- třídy nejsou dopředu známé
|
||||
|
||||
**Shluk**
|
||||
- skupina objektů, které jsou si co nejvíce podobné uvnitř shluku a co nejméně podobné mezi shluky
|
||||
|
||||
**K-Means, K-Medoids**
|
||||
- ideální při výběru malého počtu shluků z velkého počtu objektů
|
||||
- málo odolná vůči nekonzistentním vzorkům dat a šumu
|
||||
- nutnost volit počáteční počet shluků $k$
|
||||
|
||||
Metriky pro měření vzdálenosti
|
||||
- Eukleidovská vzdálenost
|
||||
- Manhattan vzdálenost
|
||||
- Cosinová vzdálenost
|
70
KIV UIR/06. Neuronové sítě.md
Normal file
70
KIV UIR/06. Neuronové sítě.md
Normal file
|
@ -0,0 +1,70 @@
|
|||
# Neuronové sítě
|
||||
|
||||
**Neuron**
|
||||
- mozková buňka, která má za úkol **sběr**, **zpracovávání** a **šíření signálů**
|
||||
- mozek
|
||||
- $10^{11}$ neuronů, více než 20 typů, $10^{14}$ synapsí
|
||||
- 1ms - 10ms cyklus nosiče informace
|
||||
- signály = výkyvy elektrických potenciálů (se šumem)
|
||||
|
||||
**Počítačový model**
|
||||
- matematický model neuronu (McCulloch & Pitts, 1943)
|
||||
- při **spojení** do **neuronové sítě** mají schopnost **tolerovat šum** ve vstupu a **učit se**
|
||||
- jednotky v neuronové síti (units)
|
||||
- propojeny vazbami (links)
|
||||
- vazba z jednotky $j$ do $i$ propaguje aktivaci $a_j$ jednotky $j$
|
||||
- každá vazba má číselnou váhu $W_{j,i}$ (síla + znaménko)
|
||||
- účel aktivační funkce
|
||||
- jednotka má být aktivní ($\approx +1$) pro pozitivní příklady, jinak neaktivní $\approx 0$
|
||||
- aktivace musí být nelineární, jinak by celá síť byla lineární
|
||||
- kombinacemi těchto jednotek do sítě můžeme implementovat libovolnou Booleovskou funkci
|
||||
|
||||
## Struktury neuronových sítí
|
||||
|
||||
**Sítě s předním vstupem**
|
||||
- necyklické
|
||||
- implementují funkce
|
||||
- nemají vnitřní paměť
|
||||
- **příklad**
|
||||
- síť 5-ti jednotek - 2 vstupní, 1 skrytá vrstva (2 jednotky), 1 výstupní jednotka
|
||||
- = parametrizovaná nelineární funkce vstupu
|
||||
|
||||
**Rekurentní sítě**
|
||||
- cyklické
|
||||
- vlastní výstup si berou opět na vstup
|
||||
- složitější a schopnější
|
||||
- výstup má (zpožděný) vliv na aktivaci (= paměť)
|
||||
- **Hopfieldovy sítě**
|
||||
- symetrické obousměrné vazby; fungují jako asociativní paměť
|
||||
- **Boltzmannovy stroje**
|
||||
- pravděpodobnostní aktivační funkce
|
||||
|
||||
**Perceptron**
|
||||
- nejjednodušší model neuronové sítě s učením s učitelem
|
||||
- pouze jedna vstupní jednotka
|
||||
- nízká vyjadřovací síla
|
||||
- pro složitější klasifikaci - více výstupních jednotek
|
||||
- dokáže reprezentovat hodně Bool. funkcí - AND, OR, NOT, ...
|
||||
- výhody
|
||||
- existuje jednoduchý učící algoritmus pro libovolnou lineárně separabilní funkci
|
||||
- učení perceptronu
|
||||
- upravování vah, aby se snížila chyba na trénovací sadě
|
||||
- učící pravidlo pro perceptron konverguje ke správné funkci pro libovolnou lineárně separabilní množinu dat
|
||||
- limity jednoduchého perceptronu
|
||||
- algoritmus je konečný právě tehdy, když je množina (učící) lineárně separovatelná a pokud existuje řešení
|
||||
|
||||
**Vícevrstvé neuronové sítě**
|
||||
- vrstvy jsou obvykle úplně propojené
|
||||
- počet skrytých jednotek je obvykle volen experimentálně
|
||||
- dostatečná vyjadřovací síla
|
||||
- s **jednou** skrytou vrstvou - všechny spojité funkce
|
||||
- se **dvěma** skrytými vrstvami - všechny funkce
|
||||
- těžko se ovšem pro konkrétní síť zjišťuje její prostor reprezentovatelných funkcí
|
||||
- učení
|
||||
- pravidla pro úpravu vah
|
||||
- výstupní vrstva - stejné jako u perceptronu
|
||||
- skryté vrstvy - **zpětné šíření** (back-propagation) chyby z výstupní vrstvy
|
||||
- problémy učení
|
||||
- dosažení lokálního minima chyby
|
||||
- příliš pomalá konvergencce
|
||||
- přílišné upnutí na příklady -> neschopnost generalizovat
|
67
KIV UIR/07. Strukturní a příznakové metody rozpoznávání.md
Normal file
67
KIV UIR/07. Strukturní a příznakové metody rozpoznávání.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Strukturní metody rozpoznávání
|
||||
|
||||
Strukturní popisy rozpoznávaných objektů
|
||||
- primitiva
|
||||
- vlastnosti primitiv
|
||||
- relace mezi primitivy
|
||||
- prostorové
|
||||
- časové
|
||||
- funkční
|
||||
|
||||
Vytvořený symbolický popis - obraz vystihuje (popisuje) strukturní vlastnosti objektu.
|
||||
|
||||
Strukturní popisy (obrazy)
|
||||
- řetězec symbolů označující primitiva
|
||||
- relační struktura
|
||||
- graf (obecný, speciální, ...)
|
||||
|
||||
Strukturní popisy objektů (= slova) příslušejících do téže třídy tvoří jazyk třídy.
|
||||
|
||||
Rozpoznávání strukturně popsaných objektů = **rozhodnutí**, zda vytvořený strukturní popis objektu (slovo) **je slovem** (frází) **jazyka příslušné třídy**.
|
||||
|
||||
Výhody strukturních metod rozpoznávání:
|
||||
- invariantní na pozici a natočení obrazu
|
||||
- méně složité popisy u složitých objektů
|
||||
|
||||
**Tvorba strukturních popisů**
|
||||
1. nalézt všechna primitiva a přiřadit jim prvky nosiče struktury
|
||||
2. každému prvku struktury přiřadit vlastnost (unární relaci) označenou jménem (symbolem) odpovídajícího primitiva
|
||||
3. určit vztahy mezi primitivy (binární relace), čímž vytvoříme relační strukturu
|
||||
4. doplnit případnou informaci číselné povahy (vytvoříme sémantickou informaci, popř. sémantický vektor)
|
||||
|
||||
**Extrakce primitiv, vytváření strukturních obrazů**
|
||||
1. počet typů (druhů) primitiv i relací (vztahů) mezi nimi by měl být co nejmenší
|
||||
2. primitiva by měla odpovídat základním (přirozeným) strukturním elementům objektu, jimiž lze objekt vyčerpávajícím způsobem popsat; přitom primitiva musejí být snadno extrahovatelná a klasifikovatelná (nejčastěji některou příznakovou metodou)
|
||||
3. nalezení (určení) primitiv a relací mezi nimi (způsob nalezení, algoritmus, …) by mělo být algoritmicky co nejjednodušší
|
||||
|
||||
**Příklady**
|
||||
- extrakce primitiv Freemanovým kódem (směrová růžice)
|
||||
- rozpoznávání geometrických objektů
|
||||
|
||||
# Příznakové metody rozpoznávání
|
||||
|
||||
Obrazy objektů jsou reprezentovány vektory příznaků $x$, **zařazování obrazů do tříd** se nazývá **klasifikace** deterministickým nebo stochastickým rozhodovacím pravidlem ve tvaru $\omega = d(x)$, resp. $\omega = d(x, q)$, kde
|
||||
- $x$ je klasifikovaný obraz objektu,
|
||||
- $q$ je vektor nastavení klasifikátoru.
|
||||
|
||||
**Dělení**
|
||||
- klasické statistické metody rozpoznávání založené na použití tzv. diskriminačních funkcí (Fisher) nebo pravděpodobnostech příslušnosti ke klasifikačním třídám (Bayes)
|
||||
+ metody založené na strojovém učení (učení z příkladů)
|
||||
+ učení s učitelem (supervised learning)
|
||||
+ učení bez učitele (unsupervized learning)
|
||||
+ metody založené na použití umělých neuronových sítí, tzv. neuronové klasifikátory
|
||||
|
||||
**Klasifikátor s diskriminační funkcí**
|
||||
- pro každou třídu určíme diskriminační funkci
|
||||
- pro všechny obrazy patřící do $r$-té třídy musí platit
|
||||
- $g_{r}(x) > g_{s}(x), r\neq s$
|
||||
- rozhodovací pravidlo
|
||||
- $\omega_{r} = \max(g_{s}(x))$
|
||||
|
||||
**Klasifikátor na principu kritéria minimální vzdálenosti**
|
||||
- porovnávání klasifikovaných obrazů se vzorovými obrazy - tzv. etalony
|
||||
- neznámé obrazy klasifikujeme stejně jako nejbližší klasifikované
|
||||
|
||||
**Kritérium minimální chyby** (Bayesův klasifikátor)
|
||||
- pro úlohy s neoddělitelnými (prolínajícími se) třídami obrazů
|
||||
- příslušnost k dané třídě lze určit jen s určitou pravděpodobností
|
Loading…
Reference in a new issue