Detail předmětu

Strojové učení

FEKT-MPCN-MLRAk. rok: 2026/2027

Studenti a studentky získají rozhled v oblasti pokročilých metod strojového učení. Budou schopni popsat a porovnat vlastnosti jednotlivých přístupů pro klasifikaci dat. Budou schopni vybrat a aplikovat konkrétní přístup na daný problém. Získají také praktické zkušenosti s aktuálními implementacemi metod strojového učení včetně hlubokého učení.

Jazyk výuky

čeština

Počet kreditů

6

Nabízen zahraničním studentům

Všech fakult

Vstupní znalosti

- Přehled o základních konceptech strojového učení.

- Základní znalosti programování, přednostně v jazyce Python.

- Matematické základy – lineární algebra (matice, vektory), základy diferenciálního počtu a pravděpodobnosti.

- Základy statistiky a optimalizace.

 

Pravidla hodnocení a ukončení předmětu

Během semestru lze získat maximálně 30 bodů. Na závěrečnou zkoušku pak maximálně 70 bodů.
Během semestru proběhnou 4 testy, každý za maximálně 5 bodů; testy nelze opakovat. Dále zadané úkoly a projekty budou hodnoceny maximálně 10 body.
Podmínky udělení zápočtu jsou následující:
- plná účast na počítačových cvičení (max. dvě omluvené absence),
- získání alespoň 15 bodů z testů.
Získání zápočtu je podmínkou pro připuštění k závěrečné zkoušce.
Závěrečná zkouška bude ohodnocena max. 70 body. Pro úspěšné složení zkoušky je nutné získat minimálně 35 bodů.

Učební cíle

Cílem kurzu je rozšířit pochopení studentů o pokročilých technikách strojového učení. Účastníci si osvojí schopnost popisovat, analyzovat a rozlišovat mezi různými metodami klasifikace dat. Naučí se efektivně vybírat a implementovat vhodné techniky pro konkrétní problémy. Navíc poskytuje kurz praktické zkušenosti s nejnovějšími nástroji strojového učení, včetně hlubokého učení, což zvyšuje jejich praktické dovednosti v tomto oboru.  

Základní literatura

Chollet, F.: Deep learning v jazyku Python: Knihovny Keras, TensorFlow, Grada, 2019 (CS)

Doporučená literatura

Buduma N. Fundamentals of Deep Learning, O'Reilly Media, 2017 (EN)
Deisenroth,M.P, Faisal, A.A, Ong, Ch.S.:Mathematics for Machine Learning, Cambridge University Press, 2020 (EN) (EN)
Geron, A.: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems, 2. edition, O'Reilly Media (EN) (EN)
Goodfellow I., Bengio Y., Courville A., Bach F.: Deep Learning, The MIT Press, 2016 (EN)
Ch. M. Bishop: Pattern Recognition and Machine Learning, Springer, 2011 (EN)

Zařazení předmětu ve studijních plánech

  • Program MPCN-BTB magisterský navazující 1 ročník, zimní semestr, povinný, je součástí profilujícího základu

Typ (způsob) výuky

 

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

V rámci počítačových cvičení studenti prakticky implementují algoritmy strojového učení v jazyce Python s využitím knihoven scikit-learn, PyTorch a dalších.
1) Úvod do strojového učení v Pythonu, příklad jednoduchého klasifikátoru, úvod do scikit-learn.
2) Metody vyhodnocování modelů - metriky, validace modelů.
3) Redukce dimenzionality - úvod do pandas, výběr příznaků a PCA.
4) Lineární modely - lineární a polynomiální regrese, LASSO/RIDGE regrese, klasifikace s lineárními modely.
5) Duální formy a jádra - regrese, SVM.
6) Rozhodovací stromy, náhodný les a boosting.
7) Úvod do umělých neuronových sítí, úvod do PyTorch.
8) Praktický příklad hlubokého učení - klasifikace obrázků nasazená na smartphonu.
9) Hluboké učení v různých aplikacích - klasifikace obrázků, klasifikace signálů, segmentace obrázků, regrese image2image, segmentace signálů, regrese signal2signal.
10) Transformery - příklad vision transformeru, příklad predikce následujícího slova.
11) Pravděpodobnostní modely 1 - Odhad maximální věrohodnosti, odhad maximální aposteriorní pravděpodobnosti.
12) Pravděpodobnostní modely 2 - Naivní Bayesovský klasifikátor, Gaussovský model směsi, Logistická regrese. 

Pravidelná individuální příprava na aktivity v semestru

26 hod., nepovinná

Vyučující / Lektor

Osnova

V průběhu semestru studenti vypracovávají zadané úkoly a projekty zaměřené na praktickou implementaci algoritmů strojového učení. Úkoly zahrnují programování v Pythonu, analýzu dat, trénování modelů a vyhodnocení jejich výkonnosti. Studenti samostatně implementují řešení na základě získaných znalostí z přednášek a cvičení, přičemž mohou využívat konzultace s vyučujícím. 

Individuální příprava na závěrečnou zkoušku

50 hod., nepovinná

Vyučující / Lektor

Osnova

Samostudium výukových materiálů, prezentací z přednášek, materiálů ke cvičení, popř. vlastních poznámek.

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1) Úvod do strojového učení, matematické základy, optimalizace ve strojovém učení.
2) Vyhodnocování modelů - pipeline učení s učitelem, validační přístupy, metriky, předzpracování dat.
3) Redukce dimenzionality - metody výběru a redukce příznaků.
4) Lineární modely - definice, ztrátové funkce a regularizace, klasifikační modely, regresní modely.
5) Kompromis mezi vychýlením a rozptylem, rozhodovací stromy a náhodné lesy, bagging a boosting.
6) Základy neuronových sítí - jednoduchá neuronová síť, aktivační funkce, ztrátové funkce, regularizace, optimalizační metody.
7) Principy hlubokého učení - hluboké neuronové sítě (NN) a základní stavební bloky.
8) Principy hlubokých NN - speciální bloky.
9) Architektury a aplikace hlubokých NN - regrese, klasifikace, image2image a signal2signal.
10) Transformery - mechanismus pozornosti, tokenizace, vision transformers, jazykové modely.
11) Základy pravděpodobnostních modelů - pravděpodobnostní rozdělení, odhad maximální věrohodnosti, odhad maximální aposteriorní pravděpodobnosti.
12) Pravděpodobnostní modely - Naivní Bayesovský klasifikátor, Gaussovský model směsi, Logistická regrese.