Příklad - hodnota funkce
Pro ilustraci problematiky předpovídání pomocí neuronových sítí je k dispozici Java applet ilustrující vznik trénovací množiny a ukazující výsledek predikce hodnoty funkce x=f(t) pomocí sítě typu backpropagation.
Applet umožňuje experimentovat s předpovídáním časových řad pomocí sítě typu backpropagation. Jako průběh veličiny může být zadána funkce včetně šumu. Je umožněno určit parametry vytváření trénovací množiny a parametry sítě. Výsledné naučení sítě se ukazuje ve srovnání s původním učeným průběhem.
Poznámka: Další příklady s předpovídáním finančních dat jsou dostupné prozatím pouze v anglické verzi - data jsou dostupná pro NASDAQ a pro forex.
Postup při práci s appletem
-
Zadejte funkci a rozmezí, ve kterém se bude uvažovat. Po zadání stiskněte
Enter a funkce se překreslí. V popisu funkce lze použít parametr x,
čísla, operátory /, *, +, -, !, ^, závorky ( ) a funkce abs, acos, acosh,
asin, asinh, atan, atanh, cos, cosh, ln, log, sin, sinh, sqr, sqrt, tan and
tanh.
Jako generátor šumu lze použít funkci noise(x), kde parametr x vyjadřuje velikost šumu (parametr může být též funkce). - Zadejte parametry pro generování trénovací množiny, tj. velikost okna, počet vzorků v jednom okně, počet příkladů v trénovací množině a vzdálenost předpovídaného údaje (počet vzorků od konce okna). Vzorkování je dáno velikostí okna a počtem vzorků v okně. Po zadání stiskněte Enter a zadané parametry se zobrazí na funkci.
- Tlačítko Trénovací množina ukáže vygenerovanou trénovací množinu, kterou lze použít např. v systémech NeuralWorks a Neural WebSpace.
- Tlačítkem Parametry sítě se zobrazí dialog umožňující dodatečné nastavení parametrů sítě backpropagation, např. další vrstvy, učící koeficienty a moment.
- Tlačítko Reset sítě nastaví váhy sítě na náhodné hodnoty.
- Trénování neuronové sítě se spustí tlačítkem Trénuj. Zároveň se začne zobrazovat (červeně) průběh naučené aproximace. Pro zrychlení učení lze vypnout zobrazování výsledku. Během trénování se zobrazuje počet proběhlých epoch a chyba právě naučené aproximace. Zobrazovaná chyba ukazuje průměrnou odchylku na výstupech od požadovaných výstupů přes celou trénovací množinu.
- Tlačítko Krok provede natrénování jedné epochy.
- Tlačítko Chyba ukáže graf vývoje chyby odpovědi sítě. V okně můžeme zvolit, co vše chceme zobrazovat. Červeně se ukazuje chyba na trénovací množině, modře se ukazuje chyba na celém zobrazovaném grafu. Šedě je zobrazen vývoj chyby na zbytku grafu za trénovací množinou. Chyba se zobrazuje pouze od okamžiku otevření okna. Pokud je okno zavřené, chyby se nepočítají a je tak dosaženo rychlejšího učení.
- Práce s šumem: Pro zavedení šumu do trénovací množiny použijte funkci noise, např. tedy zadejte učenou funkci sin(x)+noise(0.5). Zvolte si síť a natrénujte ji na zašumněnou funkci. Naučený (červený) průběh odpovídá zašumněným vstupům. Po zadání funkce bez šumu, tj. např. sin(x), je vidět naučení sítě - mnohdy je vidět, že neuronová síť se naučila správný průběh funkce i přes šum v trénovací množině (pro zobrazení průběhu je třeba zapnout zobrazování výsledku).
- Upozornění: Pokud se nezmění některý z parametrů sítě, nedochází k její změně (topologie ani vah). To umožňuje porovnání naučenosti sítě pro určitý vstup s jiným vstupem nebo pro testování rychlosti odučení starých vstupů. Na druhou stranu může toto být poněkud matoucí, pokud si neuvědomíme, že nedošlo k resetu sítě po změně určitých údajů - proto pro učení od začátku nejprve inicializujte síť tlačítkem Reset sítě.
Applet a popis (c) Marek Obitko, 1999; neuronová síť v appletu využívá třídy BPNeuron a BPNet
z NeuralWebspace, (c) Tomáš Vehovský, 1998, které byly modifikovány pro účely tohoto appletu.
(c) Marek Obitko, 1999 - Terms of use