Struktura kurzu
Úvod do strojového učení
Den 1
- Co je to strojové učení
- Typy strojového učení (klasifikace, regrese, řazení, reinforcement learning, clustering, detekce anomálií, doporučování, optimalizace)
- Příprava data (rozdělení datových množin, vyváženost dat, šumy v datech, normalizace a standardizace atributů, rozpoznání přeučování a obrana proti němu)
- Evaluace modelů pro klasifikace (accuracy, precision, recall, matice záměn, ROC křivka, AUC)
- Základní algoritmy pro klasifikaci (baseline modely, naivní bayesovský klasifikátor, logistická regrese, Support Vector Machines, rozhodovací stromy, ensemble metody)
- Rychlotutoriál scikit learn (načítání a transformace dat, trénování modelů a predikce, pipelines, evaluace)
- Praktická úloha na klasifikaci
- Základní algoritmy pro regresi (analytické metody, gradient descent, SVR, regresní stromy)
- Evaluace regresních modelů (mean squared error, absolute squared error)
- Praktická úloha na regresi
Den 2
- Základní algoritmy pro shlukování (K-means, hierarchické shlukování, metody pro určení počtu shluků)
- Praktická úloha na shlukování
- Úvod do neuronových sítí (proč jsou populární, výhody/nevýhody, perceptron)
- Nejpoužívanější aktivační funkce (Sigmoid, Linear, Tanh, Relu, Softmax)
- Vícevrstvé sítě (Algoritmus zpětné propagace chyby a stochastic gradient descent, konvoluce, pooling a regularizace)
- Trénování neuronových sítí (epocha, iterace, batch learning)
- Rychlotutoriál Keras (instalace TensorFlow + Keras, návrh sekvenčního modelu, optimalizátory a trénování, způsob práce s daty)
- Praktické úlohy na klasifikaci a regresi pomocí neuronových sítí
Zpracování přirozeného jazyka
Den 3
- Úvod do zpracování přirozeného jazyka
- Vybrané kapitoly z komputační ligvistiky (korpusy, tokenizace, morfologická, syntaktická a sémantická analýza, entropie, mutual information, perplexita)
- Vektorizace textových dokumentů (bag of words, one-hot encoding, TF-IDF)
- Word embedding (word2vec)
- Praktická úloha na klasifikaci textů
- Word embedding (vytvoření word2vec modelů a experimenty s vektorovými reprezentacemi slov)
- Úvod do jazykových modelů (n-gramové modely, vyhlazování, modely založené na neuronových sítích)
- Praktická úloha na jazykové modelování (implementace jazykových modelů a jejich využití pro detekci jazyka textu)
- Úprava algoritmu pro generování textů
Konvoluční neuronové sítě a zpracování obrazu
Den 4
- VGG 16 and ResNet
- Transfer learning a fine-tuning pro použití v klasifikaci obrazu
- Klasifikace obrázků
- Batch normalization a data augmentation
- U-net a Segmentace obrazu
- GANs a superresolution
- Vysvětlitelnost konvolučních neuronových sítí
- Adversarial patch
Časové řady
Den 5
- Úvod do teorie časových řad
- Vybrané postupy modelovaní časových řad (časová a frekvenční doména, spektrální analýza, autokorelace, modely časových řad (ARIMA apod.)
- Praktický příklad (pandas, základní charakteristiky, jednoduchá predikce)
- Metody strojového učení pro časové řady (state space metody, hidden markov model, kalman filter, dopředné neuronové sítě, rekurentní neuronové sítě, LSTM)
- Praktické příklady ilustrující sílu strojového učení (příprava trénovací množiny dle typu úlohy a zvoleného modelu, trénovaní a evaluace)
- Komplexní scénář predikce časové řady pomocí rekurentní sítě (predikce teploty z vícerozměných vstupních dat: sběr a příprava trénovací množiny, trénování a validace modelu, predikování pomocí naučené sítě)