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

AKS

Přednášky

  1. Základní informace
  2. Teorie pravděpodobnosti a teorie informace
  3. Kodování pomocí kódu proměnné délky

Cvičení

  1. Histogram pravděpodobností symbolů (12.02.2018)
    1. Spočítejte pravděpodobnost jednotlivých symbolů v souboru.
    2. Proveďte toto pro soubory v češtině, angličtně, němčině, francouzštině a maďarštině.
    3. Vypočtěnte entropii v jednotlivých souborech (tedy za jazyky). Výsledek v jednotlivých jazycích při převodu na malá písmena a vynulování počtů symbolů pro netisknutelné znaky je následující
    4. Czech     5.064981440612807
      English   4.428868549839281
      French    4.557144353849732
      German    4.5912083766299165
      Hungarian 4.827450750951823
    5. Výsledné histogramy pravděpodobností (pravděpodobnostní funkci) vyneste do jednoho grafu za všechny soubory pro porovnání (např. v Excelu).
    6. Porovnejte histogramy pro jednotlivé jazyky pomocí Manhatana distance. Výsledné porovnání by mělo dopadnou takto:
    7.            CZ      EN      FR      GE      HU   
         CZ    0.0000  0.5440  0.5250  0.6410  0.4735 
         EN    0.5440  0.0000  0.3571  0.3458  0.5622 
         FR    0.5250  0.3571  0.0000  0.3739  0.5830 
         GE    0.6410  0.3458  0.3739  0.0000  0.6122 
         HU    0.4735  0.5622  0.5830  0.6122  0.0000 
  2. Kódování pomocí kódu proměnných délek (19.02.2018) - Hodnocené cvičení!!!
    1. Implementujte Eliasovo kódování gamma a dekódování.
    2. Implementujte Fibonacciho kódování a dekódování.
    3. Pro implementaci nemusíte generovat bity do souboru, stačí do řetězce
    4. Pro oveření funčknosti využijte následující datasety:
      1. 64k 8-bitových čísel
        1. Uniformní rozdělení data a histogram. Entropie=8.00.
        2. Normální rozdělení se středem v 127 a std. odchylkou 16 data a histogram. Entropie=6.05.
        3. Exponencíální rozdělení se parametrem 16 data a histogram. Entropie=5.44.
      2. 128k 16-bitových čísel
        1. Uniformní rozdělení data a histogram. Entropie=15.59.
        2. Normální rozdělení se středem v 2^15 a std. odchylkou 2^11 data a histogram. Entropie=12.97.
        3. Exponencíální rozdělení se parametrem 32 data a histogram. Entropie=6.44.
      3. Výsledné bitové délky a průměrný počet bitů na číslo:
      4. uniform_8.txt
        Alpha      =    8398448, BitsPerSymbol =   128.15
        Beta       =     461088, BitsPerSymbol =     7.04
        Gamma      =     854638, BitsPerSymbol =    13.04
        Delta      =     748293, BitsPerSymbol =    11.42
        Fibonacci  =     699069, BitsPerSymbol =    10.67
        
        gausian_8.txt
        Alpha      =    8348667, BitsPerSymbol =   127.39
        Beta       =     491300, BitsPerSymbol =     7.50
        Gamma      =     915409, BitsPerSymbol =    13.97
        Delta      =     784338, BitsPerSymbol =    11.97
        Fibonacci  =     730716, BitsPerSymbol =    11.15
        
        exponential_8.txt
        Alpha      =    1080967, BitsPerSymbol =    16.49
        Beta       =     260218, BitsPerSymbol =     3.97
        Gamma      =     442960, BitsPerSymbol =     6.76
        Delta      =     432928, BitsPerSymbol =     6.61
        Fibonacci  =     404520, BitsPerSymbol =     6.17
        
        uniform_16.txt
        Alpha      = 4285822670, BitsPerSymbol = 32698.23
        Beta       =    1965552, BitsPerSymbol =    15.00
        Gamma      =    3799997, BitsPerSymbol =    28.99
        Delta      =    2816208, BitsPerSymbol =    21.49
        Fibonacci  =    2902780, BitsPerSymbol =    22.15
        
        gausian_16.txt
        Alpha      = 4294867323, BitsPerSymbol = 32767.24
        Beta       =    2031660, BitsPerSymbol =    15.50
        Gamma      =    3932231, BitsPerSymbol =    30.00
        Delta      =    2883655, BitsPerSymbol =    22.00
        Fibonacci  =    3011773, BitsPerSymbol =    22.98
        
        exponential_16.txt
        Alpha      =    4265097, BitsPerSymbol =    32.54
        Beta       =     634972, BitsPerSymbol =     4.84
        Gamma      =    1123417, BitsPerSymbol =     8.57
        Delta      =    1057291, BitsPerSymbol =     8.07
        Fibonacci  =     973968, BitsPerSymbol =     7.43

MAD3

Přednášky

  1. Základní informace
  2. Metody pro výběr atributů
  3. Rozhodovací stromy a pravidlové systémy
  4. Pravděpodobnostní klasifikace a logistická regrese
  5. Support Vector Machines
  6. Neural networks
  7. Classification Assesment, Regression, Advanced Comcepts, Ensembles

Cvičení

  1. Výběr atributů (9.10.2017)
    1. Implementace ohodnocení atributů metodou Gini index a Entropie.
    2. Ověření těchto metrik nad datovou sadou.
    3. Výsledky pro sample.csv:
    4. G(col0=a) = 0
      G(col0=b) = 0,5
      G(col0=c) = 0,375
      G(col0) = 0,2916667
      G(col1=x) = 0,4444444
      G(col1=y) = 0,4444444
      G(col1) = 0,4444444
      E(col0=a) = 0
      E(col0=b) = 0,6931472
      E(col0=c) = 0,5623351
      E(col0) = 0,4184941
      E(col1=x) = 0,6365142
      E(col1=y) = 0,6365142
      E(col1) = 0,6365142
  2. Rozhodovací stromy (16.10.2017)
    1. Klasifkace pomocí rozhodovacích stromů, nastavení, varianty.
    2. Otestování nad datovou sadou Sample a IRIS.
    3. Výsledky nad sample.csv
    4. Attr[0]=a
        Yes:   Class=0
        No:    Attr[0]=b
          Yes:     Attr[1]=x
            Yes:       Class=0
            No:        Class=1
          No:      Attr[1]=y
            Yes:       Class=0
            No:        Class=1
      
    5. Výsledky nad iris.csv
    6. Attr[3]<=0.6
        Yes:   Class=0
        No:    Attr[3]<=1.7
          Yes:     Attr[2]<=4.9
            Yes:       Attr[3]<=1.6
              Yes:         Class=1
              No:          Class=2
            No:        Attr[3]<=1.5
              Yes:         Class=2
              No:          Attr[0]<=6.7
                Yes:           Class=1
                No:            Class=2
          No:      Attr[2]<=4.8
            Yes:       Attr[0]<=5.9
              Yes:         Class=1
              No:          Class=2
            No:        Class=2
  3. Pravděpodobnostní klasifikace (23.10.2017)
    1. Klasifkace pomocí Naiviního Bayesovského přístupu.
    2. Otestování nad datovou sadou - pro každou kombinaci vstupních atributů by se měly vypsat pravděpodobnosti jednotlivých tříd.
    3. Výsledky nad sample.csv a Alpha=0.00001
    4. a,x
      Prob(0) = 1,43932, Prob(1) = 0,00003
      a,y
      Prob(0) = 0,23990, Prob(1) = 0,00002
      b,x
      Prob(0) = 0,71967, Prob(1) = 1,38229
      b,y
      Prob(0) = 0,11995, Prob(1) = 0,92154
      c,x
      Prob(0) = 0,35985, Prob(1) = 2,07342
      c,y
      Prob(0) = 0,05998, Prob(1) = 1,38229
  4. Support Vector Machines (30.10.2017)
    1. Experimentování s SVM pomocí appletu na stránkách autorů.
    2. Analýza dat v programu WEKA s LibLinear a LibSVM nad datasety IRIS a Diabetes.
  5. Neural Networks
    1. Implementace jednoduchého perceptronu.
    2. Analýza linárně separovatelného případu - Dataset: Separabilní 2D dataset.
    3. Analýza linárně separovatelného případu - Dataset: Neseparabilní 2D dataset.
  6. Hodnocení klasifikátorů
    1. V programu Weka ovetřere libovolný dataset (např. IRIS, Diabetes) a za pomocí klasifkátorů J48, Bayes nebo podobného analyzujte dataset. Poté pomocí pravého kliknutí nad výsledným setem využijte možnosti Vizualize Threshold Curve pro jednotlivé třídy a prostudujte tuto křivku.
    2. Vyberte si jeden z klasifikátorů, které jste zatím implementovali, a který vrací ke každému bodu konkrétní třídu. Implementujte měření vašeho klasikátoru z pohledu přesnost, precision, recall a F1 (tyto lze spočítat pro výsledný model, aniž by jste potřebovali pracovat s prahem (threshold)).

Datasety

  1. Sample dataset s 2 atributy a 2 třídami. Formát: CSV
  2. Iris dataset se 4 atributy a 3 třídami. Informace: zde. Formát: CSV, Original
  3. Tic-Tac-Toe dataset s 9 atributy a 2 třídami. Informace: zde. Formát: CSV, Original
  4. 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 odělující pásmo. Formát: CSV
  5. 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 odě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

Témata pro implementace a prezentace

Představit srozumitelně princip algoritmu, vstupy, výstupy, omezení.

  1. AdaBoost algoritmus
  2. Depp Learning (classification, application, not images)
  3. C5.0 Algorithm
  4. Probabilistic Decision Trees
  5. Locally adaptive metric nearest-neighbor classification (Domeniconi C, Peng J, Gunopulos D. Locally adaptive metric nearest-neighbor classification. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2002 Sep;24(9):1281-5.)
  6. Nested cross-validation (popsat jak funguje, jak s etyo dá využít, prakticé použití)
  7. Kernel Explanation and Vizualization (popis fungování jednotlivých kernelů a vizualizace jejich chování)
  8. Kernel-based Nearest Neighbor Classification (Yu, K., Ji, L. & Zhang, X. Neural Processing Letters (2002) 15: 147. https://doi.org/10.1023/A:1015244902967)
  9. – dle výběru studenta --