Základy strojového učení/Fundamentals of Machine Learning
Přednášky / Lectures
- Základní informace / Course overview
- Motivace / Motivations
- Data a jejich vlastnosti / Data and their properties
- Statistické vlastosti / Statistial Data Properties
- Shlukování / Clustering
- Reprezentace znalostí / Knowledge Representation
- Klasifikace / Classification
- Regrese a Neuronové sítě / Regression and Neural Networks
- Transformace dat / Data Transformation
Cvičení / Exercises
Všechna cvičení jsou uvedena na stránkách Radka Svobody.
Strojové učení / Machine Learning
Přednášky
- Základní informace / Course Overview
- Dolování vzorů a pravidel / Association Pattern Mining
- Explorativní analýza / Explorative Analysis
- Hierarchie algoritmů strojového učení / Hierarchy of Machine Learning
- Shlukování / Clustering
- Detekce odlehlých metod / Outlier analysis
- Redukce dimenze / Dimension Reduction
- Klasifikace / Classification
- Neuronové sítě / Artificial Neural Networks
- Regrese / Regression
- Pokročilá témata / Advanced Concepts
- Ensemble metody / Ensamble methods
- Předvídání v časových řadách / Forecasting in Time Series
Cvičení
- Dolování vzorů Zobrazit/Skýt
- Vygenerujte všechny kombinace bez opakování o délce 3 z 6 možných.
- Na jednom z testovacích souborů (chess, connect) vygenerujte četné vzory z vypočtěte Support.
- Z vygenerovaných četných vzorů vypište pravidla a jejich Confidence
- Explorativní analýza Zobrazit/Skýt
- Dle pokynů cvičícího si stáhněte datovou sadu.
- Vyzkoušejte si analýzu datasetu, jak jednotlivých vlastností, tak i korelaci.
- Vyzkoušejte si transformaci jednotlivých atributů.
- Aglomerativní shlukování Zobrazit/Skýt
- Cílem bude implementovat dvě varianty aglomerativního shlukování a to single a complete linkage.
- Obě metody vychází z matice vzdáleností.
- Cílem bude provést shlukování, které se zastaví buď při vhodné příležitosti, nebo po kompletním shlukování.
- Při kompletním shlukování sestupte po dendrogramu shluků a nalezněte ty správné shluky.
- k-means shlukovací algoritmus (nepovinný úkol)
- Načtěte jeden z uvedených datasetů.
- Za pomocí Euklidovy vzdálenosti realizujte/vyzkoušejte k-means algoritmus.
- Projděte si výsledky algoritmu v krocích.
- Shlukovací metody Zobrazit/Skýt
- Cílem cvičení je vyzkoušet různé metody pro shlukování nad příklady z kolekce.
- Vyzkoušejte jak metody založené na reprezentantech, tak i hierarchické (s různými nastaveními), tak i metody založené na hustotě.
- Redukce dimenze Zobrazit/Skýt
- Načtěte dataset pro redukci dimenzi.
- Proveďte redukci dimenze na několik hodnot a změřte si Frobeniovu normu mezi originální a rekonstruovanou maticí.
- Redukci proveďte pomocí SVD a NMF.
- O obou algoritmů si vytiskněte nové bázové vektory.
- Např. v Pythonu je možné obě metody nalézt v Scikit-Learn, Accord.Net pro C#.
- Klasifikace rozhodovacím stromem Zobrazit/Skýt
- Načtěte dataset pro klasifikaci.
- Sestrojte klasifikační rozhodovací strom s optimálním dělením.
- Proveďte klasifikaci bodů v datasetu.
- Support Vector Machines Zobrazit/Skýt
- Experimentování s SVM klasifikací
- Na adrese knihovny LibSVM nalezněte canvas SVM.
- Otestujte nastavení knihovny na různých zadání bodů a volby kernelů.
- Otestujte různé nastavení kernelů, zejména konstantu C.
- Pomocí knihovny SK-Learn nebo jiné vhodné otestujte použití SVM nad reálnými datasety.
- Otestuje lineární i RBF kernely.
- Neuronové sítě Zobrazit/Skýt
- Vyzkoušejte implementaci neuronových sítí (MLP) v rámci knihoven.
- Otestujte různé sítě pro datasety pro klasifikaci.
- Regrese Zobrazit/Skýt
- Načtěte regresní data.
- Předzpracujte si je tak, aby jste odstranili datum a převedli na den v roce (např.).
- Naučte regresní model na rozdělení dat.
- Ensamble metody Zobrazit/Skýt
- Vyzkoušejte si využití ensemble metod pro klasifikaci/regresi.
- Porovnejte výkonnost těchto metod s klasickým přístupem.
Datasety
- Dolování vzorů: Zobrazit/Skýt
- Shlukování: Zobrazit/Skýt
- Redukce dimenze Zobrazit/Skýt
- BAR dataset - 10 000 obrázků 8x8 uložených jako 64 bytů v textovém formátu.
- BAR Noise 20% dataset - 10 000 obrázků 8x8 uložených jako 64 bytů v textovém formátu spolu s 20% bílého šumu
- BAR Noise 50% dataset - 10 000 obrázků 8x8 uložených jako 64 bytů v textovém formátu spolu s 50% bílého šumu
- MNIST dataset - 60 000 obrázků 28x28 uložených jako 784 bytů v textovém formátu
- Klasifikace Zobrazit/Skýt
- Regrese Zobrazit/Skýt
- Forrest Fires. Informace: zde. Formát: CSV
- Wine Quality dataset. Informace: zde. Formát: CSV (červené víno) a CSV (bíle víno)
- Bike sharing. Informace: zde. Formát: CSV
- YearPredictionMSD Data Set (500MB velký). Informace: zde. Formát: CSV
Data jsou uložena ve formátu DAT, což je čistě textový formát, který na každém řádku/transakci zachycuje seznam nakoupeného zboží/přítomnosti zboží v transakci.
3 kruhové shluky: CSV |
5 kruhových shluků: CSV |
5 překrývajících se shluků: CSV |
Soustředné kruhy: CSV |
Obdélníky: CSV |
Husté vlnovky: CSV |
5 překrývajících se shluků: CSV |
Soustředné kruhy: CSV |
Obdélníky: CSV |
Husté vlnovky: CSV |
Iris dataset se 4 atributy a 3 třídami: Informace CSV, Original |
Separabilní 2D dataset. Dataset obsahuje 2 třídy (+1,-1), a jedná se o body v rovině. Každá třída má 50 bodů a mají mezi sebou oddělující pásmo. CSV |
Neseparabilní 2D dataset. Dataset obsahuje 2 třídy (+1,-1), a jedná se o body v rovině. Každá třída má 50 bodů, které mají mezi sebou oddělující pásmo a navíc každá třída dalších 20 bodů, které jsou zamíchány v druhé skupině. CSV |
Tic-Tac-Toe dataset s 9 atributy a 2 třídami. Informace. CSV, Original |
Hluboké učení / Deep Learning
Přednášky / Lectures
- Základní informace / Course Overview
- Neuronové sítě / Artificial Neural Networks
- Architektury neuronových sítí / Neural Network Architecture
- Konvoluční neuronové sítě / Convolutional Neural Networks
- Autoenkodéry / Autoencoders
- Variační autoenkodéry / Variational Autoencoders
- Gradient Descent
- Rekuretnní neuronové sítě / Recurent Neural Networks
- Modelování jazyka / Language modeling
- Reprezentace významu slov / Representation of the meaning of words
- Sítě typu Transformer / Transformer Network Type
- Detekce objektů v obrazech / Object Detection
- Generativní modely / Generative Models
Cvičení / Exercises
Všechna cvičení jsou uvedena na githubu předmětu Stránce Radka Svobody k tomuto předmětu.
Stránku s připravenými šablonami pro cvičení nalzenete na našem Githubu.