Úvod do strojového učení

Úvod do strojového učení

author

Jiří Materna

Na kurz je možné čerpat dotaci Úřadu práce ve výši až 82 % ceny. Dotace je určena úplně pro všechny. Je však nutno se přihlásit minimálně měsíc před konáním kurzu prostřednictvím portálu Úřadu práce. Pro zájemce o prezenční účast je odkaz zde, pro zájemce o online účast zde.

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í