doc. Ing. Jan Platoš, Ph.D. Akademický rok 2019/20 Kancelář: EA432 Konzultační hodiny: Úterý 14:00-15:00

MAD3

Přednášky

  1. Základní informace
  2. Dolování vzorů a pravidel
  3. Shlukování pomocí reprezentantů a hierarchické shlukování
  4. Shlukování na základě hustoty a validace shluků
  5. Speciální shlukovací metody, Detekce odlehlých hodnot
  6. Redukce dimenze, Klasifikace, Výběr atributů a rozhodovací stromy
  7. Rozhodovací stromy, pravidlové systémy, pravděpodobnostní klasifikace, hodnocení klasifikačních algoritmů.
  8. Support Vector Machines
  9. Neuronové sítě
  10. Regrese a Pokročilé přístupy
  11. Ensemble metody

Cvičení

  1. Dolování vzorů (16.9.2019) 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
    4. Výsledky pro jednotlivé datasety:
      1. Testovací data z přednášky
      2. 
                      
      3. Chess
      4. 
                      
      5. Mushroom
      6. 
                      
      7. Connect
      8. 
                      
      9. T10I4D100K
      10. 
                    
  2. Aglomerativní shlukování (23.09.2019) 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.
  3. Shlukovací metody (30.09.2019) 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ě.
  4. Shlukování - reálný příklad (7.10.2019) Zobrazit/Skýt
    1. Cílem cvičení bude analyzovat reálný dataset, výsledky budou prezentovány rovnou na cvičení, tzn. pozdější odevzdání není možné.
    2. Rozdělte data do vhodných shluků, využít můžete libovolnou metodu, ale počet shluků musíte být schopni zdůvodnit.
    3. Nalezené shluky by měli vhodně popisovat data.
    4. Každý nalezený shluk analyzujte a popište typ dat, kteří do něj patří.
    5. K vašemu řešení připravte krátký report, který, včetně zdrojových kódů, odevzdejte.
  5. Redukce dimenze (14.10.2019) 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 (21.10.2019) 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 (4.11.2018) Zobrazit/Skýt
    1. Na adrese knihovny LibSVM nalezněte příklad 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.
    4. Ve vhodn0m n8stroji zkuste použít SVM klasifikaci pro data z datasetů
    5. Otestuje lineární i RBF kernely.
  8. Neuronové sítě (11.11.2018) Zobrazit/Skýt
    1. Nalezněte minimální strukturu sítě pro klasifikaci separabilního datasetu.
    2. Nalezněte konfiguraci, která maximálně analyzuje separabilní dataset.
    3. Nalezněte ideální strukturu pro Iris dataset.
  9. Regrese (02.12.2019) 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 (16.12.2019)

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
    • 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
  4. Redukce dimenze Zobrazit/Skýt
    • Data ke stažení ZDE
  5. Klasifikace Zobrazit/Skýt
    • Iris dataset se 4 atributy a 3 třídami. Informace: zde. Formát: CSV, Original
    • Tic-Tac-Toe dataset s 9 atributy a 2 třídami. Informace: zde. Formát: 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. Formát: 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ě. Formát: CSV
  6. Regrese Zobrazit/Skýt

MAD4

Přednáško-cvičení

  1. Základy Tensorflow a hlavní nastavení modelu Zobrazit/Skýt
    1. Cílem bude nastavit na počítači Tensorflow nebo se naučit pracovat s nástrojem Google Colaboratory.
    2. Na základním příkladě se podíváme na možnosti nastavení a vytvoření modelů pro analýzu datasetu.
    3. Vyzkoušme si jednak základní modely tak i použítí validačních množin, regularizace a další vlastnosti.
    4. Základní pracovní sešit naleznete zde
  2. Ukládání modelu a transfer learning Zobrazit/Skýt
    1. Cílem bude nastavit na počítači Tensorflow nebo se naučit pracovat s nástrojem Google Colaboratory.
    2. Vyzkoušíme si analýzu těžšího datasetu.
    3. Vyzkoušme si jednak ukládání modelů, jejich průběžné sledování a ukládání nejlepších výsledků a transfer learning.
    4. Základní pracovní sešit naleznete zde
  3. Úvod do konvolučních sítí Zobrazit/Skýt
    1. Cílem bude naučit se pracovat s konvolučními sítěmi.
    2. Vysvětlíme si princip konvolučních sítí a dalších vrstev které se používají.
    3. Vyzkoušíme si analýzu těžšího datasetu - CIFAR-10.
    4. Základní pracovní sešit naleznete zde
  4. Konvoluční sítě a jejich vlastnosti, Autoencodér Zobrazit/Skýt
    1. Cílem bude naučit vizualizovat výsledky CNN.
    2. Po vizuazlizaci nad daty zkusíme jednotlivé výstupy vizualizovat.
    3. Vyzkoušíme si autoencoder a jeho vlastnosti.
    4. Základní pracovní sešit naleznete zde