1. Rychlokurz programovacího jazyka Python a jeho knihoven NumPy, SciPy a pandas.
2. Optimalizační problémy ve fyzice a jejich řešení. Gradientové metody. Stochastické optimalizační algoritmy (horolezecké a evoluční algoritmy).
3. Základy metod Monte Carlo. Isingův a Heisenbergův model. Metropolisův algoritmus, heat bath algoritmus. Ergodický teorém, podmínka detailní rovnováhy. Simulované žíhaní.
4. Základy strojového učení. Lineární regrese, logistická regrese, metoda podpůrných vektorů (support vector machines), rozhodovací stromy (decision trees), náhodné lesy (random forests).
5. Dopředné neuronové sítě. Učení neuronových sítí s učitelem. Algoritmus zpětného šíření chyb (backpropagation).
6. Učení neuronových sítí bez učitele. Hopfieldovy neuronové sítě. Boltzmannovy stroje. Omezené Boltzmannove stroje. Autoencoder. Automatická klasifikace fáz.
7. Hluboké učení. Konvoluční neuronové sítě, regularizace neuronových sítí. Analýza obrazu.
8. Analýza a predikce časových řad. Arima model. Rekurentní neuronové sítě, paměťové buňky LSTM a GRU.
9. Využití neuronových sítí v kvantové fyzice. Neural network quantum states, tomografie kvantových stavů.
10. Neuromorfní počítání. Základní koncepce a aktuální výsledky v oblasti neuromorfního počítání.
V přednášce budou vysvětleny základní optimalizační techniky a metody strojového učení a jejich využití v klasické a kvantové fyzice a jiných přírodních vědách. Nejdůležitější metody budou detailněji analyzované na cvičeních, kde budou použity knihovny Scikit-learn, sktime, Tensorflow, Keras a NetKet v programovacím jazyku Python.