Úvod do strojového učení
Prerekvizity
- Základní znalost programování v Pythonu
- Středoškolské znalosti lineární algebry, matematické analýzy a teorie pravděpodobnosti. Bude předpokládáno základní porozumění pojmům jako vektor, matice, vektorový prostor, pravděpodobnost, podmíněná pravděpodobnost, nezávislost náhodných jevů a znalost násobení matic a derivace funkcí.
Co si účastník odnese
Jedná se o úvodní kurz pro začátečníky, kteří se strojovým učením nemají žádné zkušenosti a chtějí udělat první kroky k jeho praktickému používání. Účastníci se dozvědí, co je to strojové učení, jaké typy strojového učení se v praxi nejčastěji používají a jak jednotlivé algoritmy fungují. Nebudeme se zabývat přesným matematickým popisem, ale spíše intuitivním porozuměním, které je nezbytné pro efektivní používání a správnou volbu různých nástrojů a knihoven. Velkou pozornost věnujeme způsobům vyhodnocení natrénovaných modelů, problémům s přeučováním, přípravě dat a praktickým poznatkům, které se ve škole nedozvíte.
Každý účastník si s využitím open source knihoven prakticky vyzkouší naprogramovat jednoduché algoritmy pro klasifikaci, regresi a detekci anomálií.
Osnova
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í