This is an old revision of the document!
Table of Contents
Statistické rozhodování. Klasifikátory a jejich učení. Neuronové sítě. B4B33RPZ (Webové stránky předmětu)
- Bayesovská formulace statistického rozhodování (rozpoznávání). Popis řešení úlohy při znalosti statistického modelu pro ztrátovou funkci 0 (za správné rozhodnutí), 1 (při jakékoli chybě). Rozhodování s možností “nevím”.
- Logistická regrese. Formulace úlohy. Algoritmus učení. Vlastnosti (výhody a nevýhody).
- Klasifikátor typu Support Vector Machine. Formulace úlohy učení, i pro neseparabilní data. Učení SVM, jak lineární, tak s jádrovou funkcí (kernel SVM). Vlastnosti (výhody a nevýhody).
- Adaboost, popis algoritmu, jeho interpretace jako minimalizace horního odhadu empirického rizika. Vlastnosti (výhody a nevýhody).
- Neuronové sítě s dopředným šířením. Struktura. Učení pomocí metody zpětného šíření. Vlastnosti (výhody a nevýhody).
- Klasifikace metodou nejbližšího souseda. Výhody a nevýhody. Řadu nevýhod triviální implementace lze odstranit, jak?
- Shlukování metodou k-means, formulace úlohy a popis algoritmu. Vlastnosti algoritmu. Zobecnění - použití pro jiné ztrátové funkce než L2.
Pozn. k dotazu na vlastnosti klasifikátorů a s nimi spojených metod učení. Vyjádřete se: 1. k typu úlohy, pro který je metoda vhodná (např. 2 třídy, menší počet tříd, velmi vysoký počet tříd), množství dat, které je typicky potřeba (schopnost generalizace), k předpokládaným vlastnostem dat, 2. k vlastnostem algoritmu učení (vztah mezi kritériem použitím při učení a jeho vztahem ke kritériu, typicky chybě na testovacích datech), k době učení, konvergenci algoritmu (do lokálního nebo globálního minima) a 3. k vlastnostem z pohledu nasazení (při rozhodování) - paměťová a výpočetní náročnost.
Bayesovská formulace
Bayesovská formulace statistického rozhodování (rozpoznávání). Popis řešení úlohy při znalosti statistického modelu pro ztrátovou funkci 0 (za správné rozhodnutí), 1 (při jakékoli chybě). Rozhodování s možností “nevím”.
Bayesianské rozhodování
Nechť:
- $X$ je množina pozorování. Pozorování (neboli měření, vektor rysů) $x \in X$ reprezentuje to, co je o daném objektu známo.
- $K$ je množina tříd (skrytých stavů). Stav $k \in K$ vyjadřuje to, co o objektu není známo (např. skrytý parametr, skrytý stav, stav přírody, třída).
- $D$ je množina možných rozhodnutí (akcí).
- $p_{XK}: X \times K \to \mathbb{R}$ je společná pravděpodobnost toho, že objekt je ve stavu $k$ a zároveň se pozoruje $x$.
- $W: K \times D \to \mathbb{R}$ je penalizační (loss) funkce. Hodnota $W(k, d)$, kde $k \in K$, $d \in D$, je trest (penalizace), kterou zaplatíme, pokud je objekt ve stavu $k$ a rozhodneme se pro akci $d$. Tato funkce je definována pro tzv. Bayesovské úlohy (brzy se jí budeme věnovat podrobněji).
- $q: X \to D$ je rozhodovací funkce (pravidlo, strategie), která přiřazuje každému $x \in X$ rozhodnutí $q(x) \in D$.
Kvalitu strategie $q$ lze měřit různými způsoby, nejběžnější z nich je očekávaná (průměrná) ztráta (loss) označovaná jako riziko $R(q)$:
$$ R(q) = \sum_{x \in X} \sum_{k \in K} p_{XK}(x, k)W\bigl(k,\,q(x)\bigr)\,. $$
$$ p_{XK}(x,k) = p_{XK}(x | k)p_K(k) $$
1. Formulace úlohy
Nechť jsou dány množiny $X$, $K$ a $D$, spojitá pravděpodobnost
$$
p_{XK}: X \times K \longrightarrow \mathbb{R}
$$ a penalizační funkce
$$
W: K \times D \longrightarrow \mathbb{R}.
$$ Pro strategii
$$
q: X \longrightarrow D
$$ je očekávání $W(k, q(x))$ definováno jako:
$$ R(q) =\sum_{x \in X}\ \sum_{k \in K} p_{XK}(x,k)W\bigl(k,\,q(x)\bigr)\,. $$
Kvantita $R(q)$ se nazývá Bayesovské riziko. Naším úkolem je nalézt takovou strategii $q^*$, která minimalizuje Bayesovské riziko:
$$ q^* = \underset{q : X \to D}{\arg\min} R(q)\,, $$
kde minimum je bráno přes všechny možné strategie $q : X \to D$. Stratetegie, která toto minimum dosahuje, se nazývá Bayesovská strategie.
Risk se dá převést na Partial risk: $$ R(x,d) = \sum_{k \in K}p_{Kx}(k|x)W(k,d) $$ Díky partial risku se se dá optimální strategie najít $$ q^*(x) = \underset{d \in D}{\arg\min} \sum_{k \in K}p_{Kx}(k|x)W(k,d) $$
Pro 0-1 ztrátovou funkci
Rozhodnutí $D$ = skryté stavy $K$:
$$ W(k, q(x)) = \begin{cases} 0, & \text{pokud } q(x) = k,\\ 1, & \text{pokud } q(x) \neq k. \end{cases} $$
Částečné riziko je poté dáno jako:
$$ R(x, d) \;=\; \sum_{k \in K} p_{KX}(k \mid x)\;W(k, d) \;=\; \sum_{k \neq d} p_{KX}(k \mid x) \;=\; 1 - p_{KX}(d \mid x). $$
Optimální strategie je následně:
$$ q^*(x) \;=\; \underset{d \in D}{\arg\min}\;R(x, d) \;=\; \underset{d \in D}{\arg\max}\;p_{KX}(d \mid x). $$
3. Při přidání možnosti „nevím“
$$ W(k,d)= \begin{cases} 0, & \text{jestliže } d=k,\\[4pt] 1, & \text{jestliže } d\neq k \text{ a } d\neq \text{not known},\\[4pt] \varepsilon, & \text{jestliže } d=\text{not known}. \end{cases} $$
Potom se optimální strategie minimalizuje jako
$$ q^{*}(x)= \begin{cases} \displaystyle \arg\min_{d\in K} R(x,d), & \text{pokud } \displaystyle\min_{d\in K} R(x,d) < R\bigl(x,\text{not known}\bigr),\\[8pt] \text{not known}, & \text{jinak}. \end{cases} $$
$$ \begin{aligned} \min_{d\in K} R(x,d) &= \min_{d\in K} \sum_{k\in K} p_{K|X}(k\,|\,x)\,W(k,d) \\[4pt] &= \min_{d\in K} \sum_{k\in K\setminus\{d\}} p_{K|X}(k\,|\,x) \\[4pt] &= \min_{d\in K} \Bigl(1 - p_{K|X}(d\,|\,x)\Bigr) \\[4pt] &= 1-\max_{d\in K} p_{K|X}(d\,|\,x). \end{aligned} $$
$$ \begin{aligned} R\bigl(x,\text{not known}\bigr) &= \sum_{k\in K} p_{K|X}(k\,|\,x)\,W\bigl(k,\text{not known}\bigr) \\[4pt] &= \sum_{k\in K} p_{K|X}(k\,|\,x)\,\varepsilon = \varepsilon. \end{aligned} $$
Proto platí
$$ q^{*}(x)= \begin{cases} \displaystyle \arg\max_{k\in K} p_{K|X}(k\,|\,x), & \text{jestliže } 1-\max_{k\in K} p_{K|X}(k\,|\,x) < \varepsilon,\\[8pt] \text{not known}, & \text{jestliže } 1-\max_{k\in K} p_{K|X}(k\,|\,x) \ge \varepsilon. \end{cases} $$
Co je ?
$\varepsilon$ (epsilon) je penalizace za odpověď „nevím“ (často také „reject option“).
* $\varepsilon\in(0,1)$ — typicky malá hodnota.
* Když je $\varepsilon$ blízké 0, systém raději řekne „nevím“ než riskovat chybu.
* Když je $\varepsilon$ blízké 1, „nevím“ se téměř nevyplatí a pravidlo se blíží běžné volbě nejpravděpodobnější třídy.
Intuice pravidla
- Ztrátová funkce $W(k,d)$ říká:
– 0 za správně, 1 za špatně, $\varepsilon$ za „nevím“.
- Riziko $R(x,d)$ je očekávaná ztráta při rozhodnutí $d$.
- Optimalizace ukazuje, že rozhodujeme podle maximální posteriorní pravděpodobnosti, ale jen tehdy, když očekávané riziko chyby je menší než riziko „nevím“ ($\varepsilon$).
- Prakticky to znamená: vyber třídu jen tehdy, když její posterior převýší práh
$$ \max_{k} p_{K|X}(k\,|\,x) > 1-\varepsilon; $$ jinak bezpečně odpověz „nevím“.
Logistická regrese
Logistická regrese. Formulace úlohy. Algoritmus učení. Vlastnosti (výhody a nevýhody).
Popis a účel:
Logistická regrese slouží ke binární klasifikaci, kde se rozhodujeme mezi dvěma třídami (např. spam/ne-spam). Cílem je nalézt lineární kombinaci vstupních proměnných $x$, která maximalizuje pravděpodobnost správného přiřazení třídy. Výstup predikce je pravděpodobnost patření do třídy $1$, získaná pomocí logistické sigmoidy:
$$ \sigma(z) = \frac{1}{1 + e^{-z}} $$
Formulace úlohy:
- Lineární kombinace: $z = w^T x + b$, kde $w$ jsou váhy, $b$ bias.
- Posterior pravděpodobnost: $P(y=1 | x) = \sigma(z)$.
- Cíl: Maximální věrohodnost (maximum likelihood) parametrů $w, b$.
Algoritmus učení:
- Log-likelihood: Často se používá logaritmus věrohodnosti pro optimalizaci: $$ \ell(w) = \sum_{i=1}^n \left[ y_i \ln \sigma(z_i) + (1 - y_i) \ln(1 - \sigma(z_i)) \right] $$
- Gradientní sestup: Hledá se minimum funkce $E(w) = -\ell(w)$. Gradient je: $$ \frac{\partial E}{\partial w_j} = -\sum_{i=1}^n (y_i - \sigma(z_i)) x_{i,j} $$
- Konvexita: Funkce $E(w)$ je konvexní, což zaručuje globální minimum.
Vlastnosti:
Výhody: - Jednoduchý a rychlý algoritmus. - Interpretace koeficientů $w$ jako vliv vstupních proměnných. - Dobře funguje pro lineárně separovatelná data.
Nevýhody: - Předpokládá lineární separaci tříd. - Není robustní vůči outlierům. - Nespracuje chybějící hodnoty v datech.
Souvislost s softmax:
Softmax je zobecněním logistické regrese na vícetřídnou klasifikaci. Výstupní pravděpodobnosti pro $K$ tříd jsou získány jako: $$ P(y = k | x) = \frac{e^{w_k^T x + b_k}}{\sum_{j=1}^K e^{w_j^T x + b_j}} $$ Toto zajišťuje, že výstupy tvoří distribuci pravděpodobností (všechny hodnoty mezi 0 a 1, součet 1).
Příklad:
Diagnóza choroby na základě biomarkerů $x$: - Vstup: $x = [\text{teplota, bílkoviny}]$. - Model určí $P(\text{choroba} = 1 | x)$.
Vizuální příklady:
Sigmoida:
Softmax pro 3 třídy:
Závěr:
Logistická regrese je základním nástrojem pro klasifikaci, který lze rozšířit pomocí softmaxu na více tříd. Funkce sigmoidy a softmaxu zajistí interpretaci výstupů jako pravděpodobnosti, což je klíčové pro mnoho aplikací v ML.
Support Vector Machine
Klasifikátor hledající optimální hranici mezi třídami s maximální mezí. Používá se pro binární klasifikaci, regresi a detekci odlehlých hodnot. Efektivní i ve vysokodimenzionálních prostorech.
Příklad a účel
- Příklad: Rozhodnutí, zda e-mail je spam (třída +1) či nikoliv (třída -1) na základě slovních příznaků.
- Účel: Najít hyperrovinu $\mathbf{w}^T\mathbf{x} + b = 0$ s maximální vzdáleností od nejbližších bodů (support vectors), což zvyšuje generalizaci.
Hard Margin vs. Soft Margin
Hard Margin:
- Předpokládá lineární separabilitu dat.
- Primární úloha:
$$ \min_{\mathbf{w},b} \frac{1}{2} \|\mathbf{w}\|^2 \quad \text{za podmínek} \quad y_i(\mathbf{w}^T\mathbf{x}_i + b) \geq 1 \quad \forall i $$
- Problém: Citlivý na odlehlé hodnoty a šum.
Soft Margin:
- Povoluje chyby klasifikace pomocí relaxačních proměnných $\xi_i$.
- Primární úloha:
$$ \min_{\mathbf{w},b,\xi} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^n \xi_i \quad \text{za podmínek} \quad y_i(\mathbf{w}^T\mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0 $$
- Parametr $C$: Řídí kompromis mezi šířkou okraje a chybami (nízké $C$ = větší margin, vyšší $C$ = méně chyb).
Kernel Trick
- Princip: Mapuje data do vyšší dimenze pomocí jádrové funkce $K(\mathbf{x}_i, \mathbf{x}_j)$, aby se nelineárně separabilní data stala lineárně separabilními.
- Příklad: Gaussovo jádro (RBF) $K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma \|\mathbf{x}_i - \mathbf{x}_j\|^2)$.
- Výhoda: Vyhýbá se explicitnímu výpočtu transformace (úspora výpočetního času).
- Rovnice: Rozhodovací funkce se stává $f(\mathbf{x}) = \sum_{i} \alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b$.
Vlastnosti, výhody a nevýhody
Vlastnost | Výhody | Nevýhody |
---|---|---|
Přesnost | Vysoká díky maximalizaci okraje. | Citlivost na volbu hyperparametrů ($C$, $\gamma$). |
Efektivita | Rychlé předpovědi (pouze support vectors). | Pomalé učení pro velké datasety. |
Kernely | Univerzálnost (lineární, polynomiální, RBF). | Nutnost křížové validace pro výběr jádra. |
Nelinearita | Zpracuje složité nelineární hranice. | Interpretovatelnost modelu klesá. |
Odolnost proti přetrénování | Dobrá pro vysokodimenzionální data. | Vyžaduje normalizaci vstupů. |
Adaboost
Adaboost, popis algoritmu, jeho interpretace jako minimalizace horního odhadu empirického rizika. Vlastnosti (výhody a nevýhody).
Adaboost (Adaptive Boosting) je algoritmus ensemble learningu, který kombinuje slabé klasifikátory do silného klasifikátoru. Minimalizuje horní odhad empirického rizika a iterativně upravuje váhy chybně klasifikovaných vzorků.
Popis algoritmu
- Inicializace vah: Každému trénovacímu vzorku $(x_i, y_i)$ přiřadíme počáteční váhu $w_i^{(1)} = \frac{1}{m}$
- Iterace pro $t = 1$ až $T$:
- Natrénuj slabý klasifikátor $h_t(x)$ s minimální váženou chybou $\epsilon_t = \sum_{i=1}^m w_i^{(t)} \mathbf{1}_{[h_t(x_i) \neq y_i]}$
- Vypočti koeficient $\alpha_t = \frac{1}{2} \ln \left( \frac{1 - \epsilon_t}{\epsilon_t} \right)$
- Aktualizuj váhy: $w_i^{(t+1)} = \frac{w_i^{(t)} \exp(-\alpha_t y_i h_t(x_i))}{Z_t}$ kde $Z_t$ je normalizační faktor
- Výsledný klasifikátor: $H(x) = \text{sign} \left( \sum_{t=1}^T \alpha_t h_t(x) \right)$ [5]
Minimalizace horního odhadu
Empirické riziko je horní odhad chyby:
$$ \mathcal{E}(H) \leq \prod_{t=1}^T Z_t \quad \text{kde} \quad Z_t = 2\sqrt{\epsilon_t(1-\epsilon_t)} $$
Algoritmus v každé iteraci volí $h_t$ a $\alpha_t$ minimalizující $Z_t$, čímž exponenciálně snižuje chybu. [5]
Vlastnosti
Výhody:
- Jednoduchá implementace
- Odolnost proti přetrénování
- Univerzálnost (kombinuje libovolné klasifikátory)
Nevýhody:
- Citlivý na šum a odlehlé hodnoty
- Vyžaduje pečlivé nastavení parametrů
- Problémy s nevyváženými třídami
Příklad
Binární klasifikace s rozhodovacími stromy:
- Data: $\{(x_1=1, y_1=1), (x_2=2, y_2=-1), (x_3=3, y_3=1)\}$
- Iterace 1: $h_1(x)$ chybuje u $x_2$ → $\epsilon_1=0.33$, $\alpha_1=0.55$
- Iterace 2: $h_2(x)$ opravuje chybu u $x_2$ s vyšší vahou
- Výsledek: $H(x) = 0.55h_1(x) + 0.8h_2(x)$
Aplikace
- Rozpoznávání obličejů
- Detekce spamu
- Medicínská diagnostika
Princip zesilování slabých klasifikátorů z něj činí efektivní nástroj pro různé klasifikační úlohy.
Neuronové sítě
Neuronové sítě s dopředným šířením. Struktura. Učení pomocí metody zpětného šíření. Vlastnosti (výhody a nevýhody).
Klasifikace metodou nejbližšího souseda
Klasifikace metodou nejbližšího souseda. Výhody a nevýhody. Řadu nevýhod triviální implementace lze odstranit, jak?
Metoda k-NN (k-Nearest Neighbors) je algoritmus učení s učitelem, který klasifikuje neznámý vzorek na základě většinové třídy jeho k nejbližších sousedů v trénovacích datech. Nevýhody triviální implementace řeší např. k-D stromy.
Příklad
Uvažujme 2D datovou sadu s třídami △ (modrá) a ● (červená):
Pro testovací bod (3,3) a k=3:
1. Vzdálenosti k △: √5≈2.24, √1=1, √2≈1.41
2. Vzdálenosti k ●: √2≈1.41, √4=2, √5≈2.24
Nejbližší sousedé: △ (1.0), ● (1.41), △ (1.41) → většina △ → klasifikace jako △.
Využití
- Rozpoznávání obrazců (OCR, detekce objektů)
- Doporučovací systémy (“uživatelé s podobným profilem”)
- Lékařská diagnostika (klasifikace vzorků)
Výhody
- Jednoduchá implementace bez potřeby tréninkového modelu
- Adaptabilita na nová data (stačí přidat vzorky)
- Vhodná pro vysoký počet tříd (i stovky tříd) [1]
- Neparametrická – nedělá předpoklady o distribuci dat
Nevýhody
- Výpočetní náročnost – O(n) pro každou klasifikaci (prohledávání všech vzorků)
- Citlivost na šum a irelevantní atributy
- Problém vysoké dimenzionality (curse of dimensionality)
- Nevhodná pro nevyvážená data (dominance větších tříd)
Řešení nevýhod
k-D stromy (k-dimensional trees):
Binární stromy pro hierarchické rozdělení prostoru. Příklad pro 2D:Root: (x=3.5) ├─ Vlevo: body s x<3.5 (rozděl na y=2.5) └─ Vpravo: body s x≥3.5 (rozděl na y=4)
Složitost klesne na O(log n) při nízkých dimenzích [1].
- Vážení atributů (např. ReliefF algoritmus)
- Normalizace dat (potlačení vlivu škálování)
- Výběr optimálního k (křížová validací)
Omezení k-D stromů
- Efektivita klesá pro dimenze >20 (“curse of dimensionality”)
- Konstrukce stromu O(n log n), ale jednorázová investice [1]
Shlukování metodou k-means
Shlukování metodou k-means, formulace úlohy a popis algoritmu. Vlastnosti algoritmu. Zobecnění - použití pro jiné ztrátové funkce než L2.