doc. Ing. Jan Platoš, Ph.D. Akademický rok 2020/21 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. Explorativní analýza
  4. Shlukování pomocí reprezentantů a hierarchické shlukování
  5. Shlukování na základě hustoty a validace shluků
  6. Speciální shlukovací metody, Detekce odlehlých hodnot
  7. Redukce dimenze, Klasifikace, Výběr atributů a rozhodovací stromy
  8. Rozhodovací stromy, pravidlové systémy, pravděpodobnostní klasifikace, hodnocení klasifikačních algoritmů.
  9. Support Vector Machines
  10. Neuronové sítě

Cvičení

  1. Dolování vzorů (14.9.2020) 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 (21.9.2020) 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í (05.10.2020) 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 (12.10.2020) 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. Shlukování - reálný příklad (19.10.2020) 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.
  6. Redukce dimenze (26.10.2020) 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#.
  7. Klasifikace rozhodovacím stromem (2.11.2020) 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.
  8. Support Vector Machines (9.11.2020) 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 SkLearn nebo jiné vhodné otestujte použití SVM nad reálnými datasety.
    3. Otestuje lineární i RBF kernely.
  9. Neuronové sítě (21.11.2020) 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.

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

ARD

Přednášky

  1. Základní informace
  2. Neuronové sítě
  3. Neuronové sítě - parametry
  4. Konvoluční neuronové sítě.
  5. Autoencodér
  6. Variační autoenkodér
  7. Rekurentní neuronové sítě
  8. Klasifikace textu - reprezentace slov
  9. Modelování jazyka pomocí RNN
  10. Zpracování vektorových dat - Explorativní analýza a klasifikace

Cvičení

  1. Základy Google Collaboratory, Tensorflow a nastavení modelu (14.9.2020) 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 (21.9.2020) 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. Konvoluční neuronové sitě (05.10.2020) Zobrazit/Skýt
    1. Vyzkoušíme si analýzu obrazů pomocí Konvolučních sítí.
    2. Vyzkoušíme si nastavení jednotlivých parametrů sítí k dosažení maximální efektivity.
    3. Základní pracovní sešit naleznete zde
  4. Autoencodér (12.10.2020) Zobrazit/Skýt
    1. Vyzkoušíme si vytvoření autoenkodéru.
    2. Vyzkoušíme si použití autoencodéru pro detekci anomálií a odstranění šumu.
    3. Dále si vyzkoušíme transfer learning předučených modelů.
    4. Základní pracovní sešit naleznete zde
  5. Variační autoencodér (19.10.2020) Zobrazit/Skýt
    1. Vyzkoušíme si použití variačního autoencodéru generování dovu typů obrázků dle použitých sad.
    2. Základní pracovní sešit naleznete zde
  6. Rekurentní neuronové sítě (26.10.2020) Zobrazit/Skýt
    1. Vyzkoušíme si použití rekuretních sítí pro predikci ceny akcií.
    2. Základní pracovní sešit naleznete zde
  7. Klasifikace textových dat (2.11.2020) Zobrazit/Skýt
    1. Vyzkoušíme si práci s texty pomocí neuronových sítí a práci se slovy.
    2. Základní pracovní sešit naleznete zde
  8. Modelování textu (9.11.2020) Zobrazit/Skýt
    1. Vyzkoušíme si modelování jazyka pomocí rekurentních sítí.
    2. Základní pracovní sešit naleznete zde
  9. Vektorová data (21.11.2020) Zobrazit/Skýt
    1. Na tomto cvičení zkusíte zpracovat standartní vektorová data.
    2. Základní pracovní sešit naleznete zde