Sztuczne sieci neuronowe
Sztuczne sieci neuronowe są jednym z obszarów zastosowań informatyki, wywodzących się z prac badawczych mających na celu opracowanie sztucznej inteligencji (AI - Artificial Intelligence), są tzw. sztuczne sieci neuronowe (SSN), które powstały z interdyscyplinarnej syntezy nauk tradycyjnych obejmujących biologię, fizykę i matematykę. Ich dynamiczny rozwój nastąpił w ostatnich latach w wyniku wzrostu wydajności i możliwości komputerów, pojemności baz danych, złożoności oprogramowania systemowego i aplikacyjnego.
TL;DR
Sztuczne sieci neuronowe są zastosowaniem informatyki, które polega na opracowaniu sztucznej inteligencji. Mają zdolność generalizacji i mogą rozwiązywać problemy, których nie można rozwiązać w inny sposób. Istnieją różne rodzaje sieci, takie jak jednokierunkowe, rekurencyjne czy ze sprzężeniem zwrotnym. Mają szerokie zastosowanie w ekonomii, takie jak określanie profilu klienta czy prognozowanie ruchów cen. Proces uczenia sieci może odbywać się nadzorowanie lub nienadzorowanie.
Cechy
Podstawową cechą systemów opartych o sztuczne sieci neuronowe, która odróżnia je od typowych algorytmów przetwarzania informacji jest zdolność generalizacji. Określa się ją inaczej jako zdolność sieci neuronowej do aproksymacji wartości funkcji wielu zmiennych w przeciwieństwie do interpolacji możliwej do otrzymania przy przetwarzaniu algorytmicznym. Można to ująć jeszcze inaczej. Np. systemy ekspertowe z reguły wymagają zgromadzenia i bieżącego dostępu do danych na temat zagadnień, o których będą rozstrzygały.
SSN wymagają natomiast jednokrotnego przeprowadzenia procesu uczenia, a potem wykazują one tolerancję na nieciągłości, przypadkowe zaburzenia lub wręcz braki danych występujące w zbiorze uczącym. Pozwala to na zastosowanie ich tam, gdzie nie da się efektywnie rozwiązać problemu w inny sposób.
Cechy charakterystyczne problemów dla sztucznych sieci neuronowych:
- przybliżana funkcja może być wektorem wartości a także może mieć wartości rzeczywiste lub dyskretne,
- akceptacja długiego czasu uczenia sieci,
- dane mogą podlegać "zaszumieniu" lub mogą zawierać błędy,
- trudność dla człowieka przy zinterpretowaniu wiedzy nabytej przez sieć,
- akceptacja dla sporej ilości parametrów algorytmu, które wymagają dopracowania eksperymentalnymi metodami [1].
Architektura sztucznych sieci neuronowych
Wyodrębnia się dwa rodzaje architektur sztucznych sieci neuronowych:
- sieci jednokierunkowe (ang. feedforwarded) czyli sieci, które mają jeden kierunek przepływu sygnałów. Przypadkiem szczególnym tej jednokierunkowej architektury jest sieć warstwowa, która przedstawia najpopularniejszą topologię.
- inne, takie jak np. sieci rekurencyjne. Są to sieci ze sprzężeniami zwrotnymi - sieć Hopfielda lub sieci Kohonena - uczenia się poprzez współzawodnictwo.
Neurony łączą się ze sobą na zasadzie:
- "każdy z każdym"
- połączeń między warstwami w sieciach warstwowych
- wyłącznie z pewną grupą neuronów, bardzo często z tak zwanym "sąsiedztwem" [2].
Wybrane rodzaje sieci neuronowych:
- warstwowe sieci nieliniowe
- uczona algorytmem wstecznej propagacji błędów, wielowarstwowa.
- wielowarstwowe ze zmianami algorytmu wstecznej propagacji błędów.
- z funkcjami, posiadające symetrię kołową - RBF.
- warstwowe sieci liniowe
- Adaline/Madaline.
- sieci uczone poprzez współzawodnictwo
- sieci Kohonena, LVQ.
- sieci samoorganizujące się SOM oraz odwzorowanie cech istotnych.
- sieci ze sprzężeniem zwrotnym
- dwukierunkowa pamięć asocjacyjna - BAM.
- sieci Hopfielda.
- sieci z kontrpropagacją oraz sieci rezonansowe ART
- wykorzystujące sieci neuronowe metody hybrydowe
- zintegrowane z algorytmami metaheurystycznymi
- maszyna Boltzmana - symulowane wyżarzanie.
- algorytmy genetyczne.
- systemy rozmyto-neuronowe [3].
Zastosowania
Ze względu na specyficzne cechy i niepodważalne zalety obszar zastosowań sieci neuronowych w zagadnieniach ekonomicznych jest rozległy. Wymienić należy przede wszystkim [4]:
- określanie profilu klienta,
- badanie zdolności kredytowej podmiotów gospodarczych,
- prognozowanie ruchów cen, podaży i popytu określonych asortymentów towaru na rynku,
- wybór momentów kupna i sprzedaży dla akcji wybranych spółek giełdowych,
- przewidywanie bankructw firm,
- przewidywanie zmian kursów walut,
- badanie wpływu czynników okołorynkowych na jakość prognoz,
- kształtowanie optymalnego poziomu wypełnienia magazynów surowców lub produktów.
Porównując ze sobą systemy eksperckie, systemy wspomagania decyzji i systemy sztucznej inteligencji oparte o sieci neuronowe, dają się zauważyć pewne różnice wynikając z różnego zakresu zastosowań, celu stosowania, wykorzystanych narzędzi informatycznych, rodzajów przetwarzanych informacji i algorytmów przetwarzania.
Proces uczenia się sieci
Istnieją dwa główne sposoby uczenia sieci:
1. uczenie nadzorowane (ang. supervised learning) Gdy dany jest zbiór przykładów uczących, które składają się z par wejście-wyjście (xj, zj), zj jest odpowiedzią pożądaną sieci na wejściowe sygnały xj (j=1,..m). Do zadań sieci należy nauczenie się jak najdokładniej to możliwe funkcji przybliżającej powiązanie wyjścia z wejściem. Dystans pomiędzy odpowiedzią sieci pożądaną a rzeczywistą jest miarą błędu, którą używa się do korekcji wag sieci.
2. uczenie nienadzorowane (ang. unsuperivsed learning) [5].
Sztuczne sieci neuronowe — artykuły polecane |
Drzewo decyzyjne — Eksploracja danych — Big data — Agregacja — System ekspercki — Parametr — Data science — Indeks — Model ekonometryczny |
Przypisy
Bibliografia
- Kącki E. (2003), Sztuczne sieci neuronowe w wybranych problemach zarządzania, [w:] Zamojskie Studia i Materiały. Materiały z konferencji Informatyka w Ekonomii pod. red. J. Gruszeckiego, Wyższa Szkoła Zarządzania i Administracji w Zamościu, Zamość
- Stefanowski J. (2006), Sztuczne sieci neuronowe, Poznań
- Stęgowski Z. (2004), Sztuczne sieci neuronowe, Wydział Fizyki i Techniki Jądrowej, AGH
- Woźniak K. (2005), System informacji menedżerskiej jako instrument zarządzania strategicznego w firmie, praca doktorska, Akademia Ekonomiczna w Krakowie, Kraków
Autor: Krzysztof Woźniak, Karolina Gralak