Podmínky pro získání zápočtu
- Aktivní účast na cvičeních a plnění (domácích) úloh
- Vypracování projektu a jeho předvedení
- Termín, do kdy je možné získat zápočet, je 11.1.2013.
Aktivní účast na cvičeních a plnění (domácích) úloh
- Na většině cvičení budou zadány nějaké příklady. Aktivní účast mimo jiné znamená, že student příklady samostatně dokončí a odevzdá. Pokud to nestihnete na cvičení, stačí řešení poslat dodatečně. Termín pro odevzdání úloh bude vždy pondělí 23:59 před následujícím cvičením. Pokud student řešení příkladu neodevzdá včas, nebude mu účast uznána.
- Známkování účasti:
- pro známku A: stačí 10 z 13 bodů za účast
- pro známku B: stačí 9 z 13 bodů za účast
- pro známku C: stačí 8 z 13 bodů za účast
- pro známku D: stačí 7 z 13 bodů za účast
- pro známku E: stačí 6 z 13 bodů za účast
Vypracování projektu
- Student si může vybrat ze tří typů úloh:
- Vlastní implementace jednoho z probíraných modelů a její srovnání s implementací v Matlabu.
- Vlastní implementace jednoho z probíraných modelů a jeho aplikace na netriviální úlohu z praxe.
- Výběr úlohy (či dat) z praxe. Vhodné předzpracování dat. Aplikace a srovnání několika modelů neuronové sítě na těchto datech (lze použít metody implementované v Matlabu a Neural Network Toolboxu).
- Závazné termíny:
- 30.11.2012 Výběr úlohy (krátká specifikace), výběr dat, schválení (zda je úloha dostatečně obtížná, vhodná). Specifikaci mi pošlete emailem. Každý student by měl mít jiné téma.
- 7.1.2013 Vypracované projekty. Projekt bude obsahovat zprávu o řešení, zdrojová data a výstupy programu, okomentovaný zdrojový kód. Projekt mi pošlete emailem. Následovat bude osobní předvedení (nejpozději 11.1.2013, bude upřesněno).
- Známkování projektů:
- pro známku A (A-E): odevzdání a finální předvedení projektu do 16.12.2012 a 18.12.2012.
- pro známku B-E: odevzdání a finální předvedení projektu do 7.1.2013 a 11.1.2013.
- Podrobné pokyny pro vypracování projektů:
- Co by mělo být ve zprávě
- Popis úlohy, kterou jste se rozhodli řešit.
- Popis dat (příznaky, počet vzorků,...). Zdroj dat (popř. jak jste data získali).
- Jakým způsobem jste data předzpracovali (např. normalizace, výběr vzorků, příznaků).
- Popis experimentu - které algoritmy učení, popř. jaké architektury nebo další parametry jste zkoušeli / použili. Jakou metodu testování jste použili.
- Výsledky experimentu (vhodná vizualizace pomocí tabulek, obrázků a nebo grafů) + zhodnocení vlastními slovy.
- Text zprávy: Důležitý je obsah i forma. Pozor na gramatické chyby a překlepy, věty by měly dávat smysl. Jazyk (čeština, slovenština, angličtina) volte s rozmyslem.
- Program
- Program je třeba poslat společně se zprávou.
- Můžete použít libovolné funkce implementované v Matlabu. Při osobním předvedení pak musíte také ukázat, že rozumíte, jak jsou použité modely a funkce v Matlabu implementované, co je třeba nastavit a jak správně interpretovat výstupy použitých funkcí.
- V případě zájmu můžete použít i jinou, popř. vlastní implementaci ANN (i v jiném progr. jazyce).
- Zdrojový kód by měl "udržovat štábní kulturu" a měl by být okomentovaný.
- Jak lze pojmout projekty (třetího typu)
- Na datech z praxe porovnat několik zvolených modelů ANN (z hlediska rychlosti učení, dosažené chyby, stability výsledku, schopnosti zobecňovat apod.). V každém případě je třeba experimentálně zvolit vhodnou architekturu sítě (vyzkoušet více architektur) a nastavit u modelu vhodné parametry (vyzkoušet více nastavení parametrů).
- V případě, že Vámi sehnaná data potřebují složitější předzpracování (např. pokud je více možností, jak vyrobit/vybrat příznaky), můžete místo různých modelů sítě porovnat na konkrétním modelu např. různé množiny příznaků.
- Pokud data obsahují příliš mnoho vzorků, je vhodné vybrat pro učení jen menší podmnožinu dat, zbytek vzoků použít k testování.
- V případě nějaké specifické / složitější úlohy se můžete zaměřit více na to, jak jste úlohu řešili a méně na srovnávání. Na tomto je třeba se domluvit předem - při specifikaci.
- Kde se dají sehnat data? ... např. UCI Machine learning repository (http://archive.ics.uci.edu/ml/), KDnuggets (http://www.kdnuggets.com/datasets), časové řady (např. kurzy měn, akcií),...
- Které modely mezi sebou porovnat?
- Vrstevnatá neuronová síť a různé algoritmy učení. Popř. srovnání s perceptronem (či lineárním klasifikátorem).
- Vrstevnatá neuronová síť a RBF-síť.
- Samoorganizace - různé kompetitivní modely. Kohonenovy mapy.
- ...
- Návod, jak provést srovnání modelů.
- Použít k-násobnou křížovou validaci nebo výsledek přes alepoň 100 opakování. V tabulkách typicky srovnáváme rychlost (čas, počet cyklů), velikost chyby (MSE, chyba klasifikace - na trénovací i testovací množině), zajímá nás střední hodnota i rozptyl/směrodatná odchylka hodnot.
- Architektura - zkusit různé počty neuronů, vrstev, výsledky formou tabulky, zhodnotit výsledek vlastními slovy.
- Další parametry - zkusit různé kombinace hodnot, výsledky formou tabulky, zhodnotit výsledek vlastními slovy.
- Které modely implementovat (u prvního a druhého typu úlohy)?
- Perceptron.
- Vrstevnatá neuronová síť a algoritmus zpětného šíření.
- Asociativní síť.
- Hopfieldova síť.
- Kompetitivní model.
- Kohonenova mapa.
- RBF-síť.