Charles Explorer logo
🇨🇿

Úvod do strojového učení v Pythonu

Předmět na Matematicko-fyzikální fakulta |
NPFL129

Sylabus

Základní pojmy strojového učení

- učení s učitelem a bez učitele, zpětnovazební učení

- trénování, generalizace, přeučení, regularizace

- datová distribuce, trénovací/validační/testovací data

Lineární regrese

- analytické řešení

- řešení pomocí stochastic gradient descent (SGD)

Klasifikace

- binární klasifikace pomocí perceptronu

- binární klasifikace pomocí logistické regrese

- klasifikace do více tříd pomocí logistické regrese

- odvození funkcí sigmoid a softmax z principu maximální entropie

- klasifikace pomocí vícevrstevného perceptronu (MLP)

- naivní Bayesův klasifikátor

- binární klasifikátory založené na principu maximum margin

Jádrové metody

- lineární regrese pomocí jader

- metoda podpůrných vektorů (SVM) a její trénování algoritmem Sequencial minimization optimization (SMO)

Rozhodovací stromy

- klasifikační a regresní stromy (CART)

- náhodné lesy

- gradient boosting decision trees (GBDT)

Shluková analýza

- K-Means algoritmus

- Gaussian mixture model

Redukce dimenzionality

- analýza hlavních komponent

Trénování

- příprava dat, volba klasifikačních rysů

- konstrukce ztrátových funkcí pomocí metody maximální věrohodnosti

- gradientní metody prvního řádu (SGD) a metody druhého řádu

- regularizace

Statistické testování

- Studentův t-test

- Chí-kvadrát test

- korelační koeficienty

- párový bootstrap test

Využívané knihovny jazyka Python

- numpy (reprezentace n-rozměrných polí a práce s nimi)

- scikit-learn (konstrukce modelů strojového učení)

- matplotlib (vizualizace)

Anotace

Strojové učení dosahuje značných úspěchů při řešení komplexních úloh v mnoha oborech. Tento předmět slouží jako úvodní kurz pro seznámení se strojovým učením, a to jak s teoretickými základy, tak s implementací a použitím algoritmů strojového učení, a to v jazyce Python.

Důraz je kladen na schopnosti aplikace popisovaných technik při řešení praktických úloh, ve kterých se studenti snaží dosáhnout řešení s nejvyšší přesností.