prof. Ing. Jan Platoš, Ph.D. Akademický rok 2022/23 Kancelář: EA510 Konzultační hodiny: Středa 13:00-15:00 po emailovém potvrzení.

Strojové učení / Machine Learning

Přednášky

  1. Základní informace / Course Overview
  2. Dolování vzorů a pravidel / Association Pattern Mining
  3. Explorativní analýza / Explorative Analysis
  4. Hierarchie algoritmů strojového učení / Hierarchy of Machine Learning
  5. Shlukování / Clustering
  6. Detekce odlehlých metod / Outlier analysis
  7. Redukce dimenze / Dimension Reduction
  8. Klasifikace / Classification
  9. Neuronové sítě / Artificial Neural Networks
  10. Regrese / Regression
  11. Pokročilá témata / Advanced Concepts
  12. Ensemble metody / Ensamble methods
  13. Předvídání v časových řadách / Forecasting in Time Series

Cvičení

  1. Dolování vzorů Zobrazit/Skýt
    1. Vygenerujte všechny kombinace bez opakování o délce 3 z 6 možných.
    2. Na jednom z testovacích souborů (chess, connect) vygenerujte četné vzory z vypočtěte Support.
    3. Z vygenerovaných četných vzorů vypište pravidla a jejich Confidence
  2. Explorativní analýza Zobrazit/Skýt
    1. Dle pokynů cvičícího si stáhněte datovou sadu.
    2. Vyzkoušejte si analýzu datasetu, jak jednotlivých vlastností, tak i korelaci.
    3. Vyzkoušejte si transformaci jednotlivých atributů.
  3. Aglomerativní shlukování Zobrazit/Skýt
    1. Cílem bude implementovat dvě varianty aglomerativního shlukování a to single a complete linkage.
    2. Obě metody vychází z matice vzdáleností.
    3. Cílem bude provést shlukování, které se zastaví buď při vhodné příležitosti, nebo po kompletním shlukování.
    4. Při kompletním shlukování sestupte po dendrogramu shluků a nalezněte ty správné shluky.
    5. k-means shlukovací algoritmus (nepovinný úkol)
      1. Načtěte jeden z uvedených datasetů.
      2. Za pomocí Euklidovy vzdálenosti realizujte/vyzkoušejte k-means algoritmus.
      3. Projděte si výsledky algoritmu v krocích.
  4. Shlukovací metody Zobrazit/Skýt
    1. Cílem cvičení je vyzkoušet různé metody pro shlukování nad příklady z kolekce.
    2. Vyzkoušejte jak metody založené na reprezentantech, tak i hierarchické (s různými nastaveními), tak i metody založené na hustotě.
  5. Redukce dimenze Zobrazit/Skýt
    1. Načtěte dataset pro redukci dimenzi.
    2. Proveďte redukci dimenze na několik hodnot a změřte si Frobeniovu normu mezi originální a rekonstruovanou maticí.
    3. Redukci proveďte pomocí SVD a NMF.
    4. O obou algoritmů si vytiskněte nové bázové vektory.
    5. Např. v Pythonu je možné obě metody nalézt v Scikit-Learn, Accord.Net pro C#.
  6. Klasifikace rozhodovacím stromem Zobrazit/Skýt
    1. Načtěte dataset pro klasifikaci.
    2. Sestrojte klasifikační rozhodovací strom s optimálním dělením.
    3. Proveďte klasifikaci bodů v datasetu.
  7. Support Vector Machines Zobrazit/Skýt
    1. Experimentování s SVM klasifikací
      1. Na adrese knihovny LibSVM nalezněte canvas SVM.
      2. Otestujte nastavení knihovny na různých zadání bodů a volby kernelů.
      3. Otestujte různé nastavení kernelů, zejména konstantu C.
    2. Pomocí knihovny SK-Learn nebo jiné vhodné otestujte použití SVM nad reálnými datasety.
    3. Otestuje lineární i RBF kernely.
  8. Neuronové sítě Zobrazit/Skýt
    1. Vyzkoušejte implementaci neuronových sítí (MLP) v rámci knihoven.
    2. Otestujte různé sítě pro datasety pro klasifikaci.
  9. Regrese Zobrazit/Skýt
    1. Načtěte regresní data.
    2. Předzpracujte si je tak, aby jste odstranili datum a převedli na den v roce (např.).
    3. Naučte regresní model na rozdělení dat.
  10. Ensamble metody Zobrazit/Skýt
    1. Vyzkoušejte si využití ensemble metod pro klasifikaci/regresi.
    2. Porovnejte výkonnost těchto metod s klasickým přístupem.

Datasety

  1. Dolování vzorů: Zobrazit/Skýt
  2. 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.

    • Test Formát: DAT
    • Chess Formát: DAT
    • Connect Formát: DAT
    • Mushroom Formát: DAT
    • T10I4D100K (generated shopping cart) DAT
  3. Shlukování: Zobrazit/Skýt
  4. 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. 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
  6. Klasifikace Zobrazit/Skýt
  7. 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
  8. Regrese Zobrazit/Skýt