![]() |
|
|
Spis treści
Ogólne
cechy systemu
|
![]() ![]() Stały wzrost popularności metody sieci neuronowych widoczny jest w wielu dziedzinach - począwszy od prostych, powszechnie stosowanych analiz, a skończywszy na prognozowaniu, zarządzaniu ryzykiem, czy też zastosowaniach w technice lub data mining (patrz, przykładowe zastosowania). Wśród symulatorów sieci neuronowych dostępnych obecnie na rynku, STATISTICA Automatyczne Sieci Neuronowe (SANN) jest produktem najbardziej zaawansowanym technologicznie, charakteryzującym się wyjątkową sprawnością działania i oferującym wiele unikalnych narzędzi. Program, który dostępny jest w polskiej wersji językowej, jest interesujący nie tylko dla specjalistów w dziedzinie sieci neuronowych (którym oferuje szeroki wybór typów sieci i algorytmów uczących) lecz również dla nowicjuszy w dziedzinie sieci neuronowych (poprzez unikalny kreator - Automatyczny projektant sieci, wspomagający użytkownika na wszystkich etapach procesu tworzenia sieci neuronowych). STATISTICA Automatyczne Sieci Neuronowe- opis techniczny
STATISTICA Automatyczne Sieci Neuronowe jest kompletnym, korzystającym z najnowszych technik, szybkim pakietem do analizy danych za pomocą sieci neuronowych. Do najważniejszych jego cech należą:
STATISTICA Automatyczne Sieci Neuronowe - Używanie sieci neuronowych to nie tylko proste podawanie danych na wejście sieci. STATISTICA Automatyczne Sieci Neuronowe (SANN) może wspomóc użytkownika w realizacji najistotniejszych etapów konstruowania sieci, umożliwia zastosowanie najnowocześniejszych architektur sieci i metod uczenia, jak również posiada nowatorskie rozwiązania w zakresie projektowania struktury sieci przy użyciu odpowiednio dobranych funkcji błędu, ułatwiających interpretację danych wyjściowych. Ponadto programiści i użytkownicy eksperymentujący z dostosowywalnymi aplikacjami, po zbudowaniu i przetestowaniu sieci przy użyciu łatwego i intuicyjnego interfejsu STATISTICA Automatyczne Sieci Neuronowe, mogą włączać ją do innych aplikacji, używając bibliotek funkcji COM STATISTICA,w pełni udostępniających wszystkie możliwości programu, jak i używając kodów C/C++ wygenerowanych przez program by zastosować gotową już sieć (opcja).
STATISTICA Automatyczne Sieci Neuronowe pracuje we wspólnym środowisku STATISTICA, tak więc do dyspozycji użytkownika jest całe bogactwo narzędzi edycji i przygotowania danych (przekształcenia, selekcja przypadków, weryfikacja danych itd.). Jak wszystkie analizy w STATISTICA, również sieci neuronowe ”podłączyć” możemy do zewnętrznych baz danych, korzystając z narzędzi zdalnego przetwarzania (in-place-database processing) czy podłączając dane w sposób aktywny, tak by po zmianie danych model automatycznie, ponownie był uczony albo tylko zastosowany (obliczył nową prognozę czy zaklasyfikował nowe przypadki).
Skalowanie danych i przetwarzanie danych nominalnych Zastosowanie techniki neuronowej wymaga odpowiedniego przygotowania danych wejściowych jak również właściwej ich interpretacji. STATISTICA Automatyczne Sieci Neuronowe (SANN) umożliwia automatyczne skalowanie wartości wejściowych i wyjściowych (przy zadanych wartościach ekstremalnych lub o zadanej średniej i odchyleniu standardowym), jak również zapewnia odpowiednią reprezentację wartości przedstawianych na skali nominalnej (np. Płeć={mężczyzna, kobieta}), gdzie stosowane jest kodowanie typu jeden z N. Ponadto SANN przeprowadza procedurę szacowania brakującej informacji. Dostępne są w programie również narzędzia do wstępnej obróbki szeregów czasowych i interpretacji wyników. Wiele podobnych narzędzi jest zawartych w programie STATISTICA Przy problemach klasyfikacyjnych, SANN przypisuje przypadki do odpowiednich klas oraz umożliwia interpretowanie wartości wyjściowych sieci klasyfikujących jako prawdopodobieństw przynależności obiektu do poszczególnych klas. Takie podejście do problemu klasyfikacji jest możliwe dzięki zastosowaniu funkcji aktywacji typu Softmax i funkcji błędu opartej na entropii wzajemnej.
Różnorodność istniejących typów sieci neuronowych, a także duża liczba parametrów (wielkość sieci, sposób uczenia) jest często przyczyną trudności przy wyborze najlepszego rozwiązania (oczywiście dostępny jest Automatyczny projektant sieci, który automatycznie przeszukuje wiele architektur sieciowych o różnej złożoności, patrz poniżej). STATISTICA Automatyczne Sieci Neuronowe (SANN) umożliwia konstruowanie sieci neuronowych najważniejszych typów, takich jak:
Wymienione powyżej architektury sieciowe mogą być stosowane w przypadku problemów regresyjnych, klasyfikacyjnych, szeregów czasowych oraz analizy skupień. Ponadto, Automatyczny projektant sieci wspiera użytkownika w tworzeniu zespołów sieci składających się z różnych typów sieci wymienionych wyżej (odpowiednich dla danego problemu). Szczególnie efektywne w SANN jest łączenie sieci w celu uzyskania zespołowych prognoz, zwłaszcza dla zaszumionych lub małych zbiorów danych. SANN posiada wiele narzędzi, które ułatwiają wybór właściwej architektury sieci. Pomocne są przy tym generowane automatycznie wykresy (słupkowe, macierzowe, wykresy błędów w rozbiciu na obserwacje lub w postaci sumarycznej), jak również obliczane statystyki (oceniające poprawność klasyfikacji lub błędy regresji). Przy wizualizacji danych SANN korzysta z wykresów rozrzutu, zaś działanie sieci prezentowane jest przy pomocy trójwymiarowych wykresów powierzchniowych ułatwiających zrozumienie ”zachowania się sieci” dla różnych danych wejściowych. Te różnorodne informacje mogą być dalej przetwarzane z wykorzystaniem technik analitycznych dostępnych w innych aplikacjach z rodziny STATISTICA, włączane do raportu, analizowane itd. SANN automatycznie zapamiętuje najlepszą sieć powstałą w trakcie prób. Użyteczność sieci i jej możliwości prognostyczne są automatycznie oceniane poprzez użycie przypadków walidacyjnych, oceniana jest wielkość i efektywność sieci oraz koszt błędnych klasyfikacji. Dla poprawy wydajności sieci, STATISTICA Automatyczne Sieci Neuronowe umożliwia jej dostosowywanie. Na przykład w modelach regresyjnych możliwe jest użycie w warstwie wyjściowej neuronów o liniowej funkcji aktywacji, zaś przy rozwiązywaniu problemów z zakresu klasyfikacji można zastosować funkcję Softmax do oceny prawdopodobieństwa przynależności obiektu do danej klasy. Dostępne są również funkcje błędu oparte na entropii wzajemnej oraz specjalizowane funkcje aktywacji: wykładnicza, tangens hiperboliczny, logistyczna oraz sinus. Mogą one być stosowane dla neuronów zarówno w warstwie ukrytej jak i wyjściowej. Automatyczny projektant sieci (automatyczna ocena i wybór architektury sieci) W STATISTICA Automatyczne Sieci Neuronowe dostępny jest Automatyczny projektant sieci, który automatycznie ocenia dużą liczbę różnych architektur sieci o różnym stopniu złożoności, wybierając zbiór tych, które najbardziej odpowiadają danemu problemowi. Znaczną część czasu budowy sieci neuronowej zajmuje zwykle dobór zmiennych i optymalizacja, na drodze heurystycznych poszukiwań, architektury sieci. SANN znacznie ułatwia rozwiązanie tego problemu automatycznie realizując proces heurystycznego poszukiwania obejmującego typy sieci, rozmiar oraz architektury sieci, funkcje aktywacji a nawet funkcje błędu. Automatyczny projektant sieci to narzędzie nadzwyczaj efektywne, które w poszukiwaniu najlepszej architektury sieci wykorzystuje wyrafinowane techniki optymalizacji. STATISTICA Automatyczne Sieci Neuronowe oszczędza w ten sposób wiele godzin pracy analityka testującego samodzielnie różne architektury sieci. Możliwość przeprowadzania eksperymentów z różnymi architekturami i typami sieci jest w dużym stopniu uzależniona od jakości i szybkości stosowanych metod uczenia sieci. Zaimplementowane w STATISTICA Automatyczne Sieci Neuronowe metody uczenia to najlepsze, znane algorytmy, wykorzystujące najnowsze osiągnięcia w tym zakresie. SANN oferuje użytkownikowi dwa szybkie algorytmy uczenia bazujące na drugich pochodnych: algorytm gradientów sprzężonych i algorytm BSFGS. Ponadto dostępna jest wersja algorytmu BFGS, która nie wymaga tyle pamięci i którą program SANN automatycznie wykorzystuje w przypadku, gdy ilość pamięci w komputerze sięga krytycznego poziomu. Takie algorytmy osiągają zbieżność zazwyczaj dużo szybciej niż inne algorytmy jak np. metoda najszybszego spadku. Iteracyjne procedury uczące STATISTICA Automatyczne Sieci Neuronowe są w trakcie pracy monitorowane poprzez wykreślanie błędu dla ciągu uczącego i niezależnego ciągu walidacyjnego. Procedura uczenia może być w dowolnej chwili przerwana przez użytkownika poprzez kliknięcie odpowiedniego przycisku. Można też podać warunki przerwania algorytmu uczącego; na przykład po obniżeniu się wartości błędu uczenia poniżej określonego poziomu lub gdy błąd dla ciągu walidacyjnego zwiększa swą wartość przez określoną liczbę epok (wystąpienie tego zjawiska wskazuje na przeuczenie sieci). Wystąpienie zjawiska przeuczenia nie jest problemem, gdyż SANN automatycznie zachowuje kopię najlepszej sieci, która jest później stosowana jako najlepsze rozwiązanie. Po zakończeniu uczenia przeprowadza się ostateczną ocenę sieci za pomocą niezależnego zbioru testowego. STATISTICA Automatyczne Sieci Neuronowe oferuje również szereg algorytmów uczących wykorzystywanych do analizy skupień, opierających się na znanym algorytmie Kohonena dla samoorganizujących się map cech.
Po zakończonym uczeniu sieci neuronowej przechodzi się do fazy jej testowania i badania charakterystyk. STATISTICA Automatyczne Sieci Neuronowe prezentuje szeroki zakres statystyk i narzędzi analizy graficznej. Jeżeli wybrano wiele modeli (sieci i ich zespołów), to wszędzie gdzie to możliwe STATISTICA Automatyczne Sieci Neuronowe wyświetlać będzie wyniki tak, by umożliwić łatwe ich porównywanie (np. rysując krzywe odpowiedzi na jednym wykresie czy umieszczając predykcje z różnych modeli w jednym arkuszu). Jest to szczególnie przydatne do porównywania różnych modeli uczonych na tym samym zbiorze danych. Wszystkie statystyki generowane są niezależnie dla ciągu uczącego, testowego i walidacyjnego lub też dla ich dowolnej, zadanej przez użytkownika, kombinacji. Automatycznie obliczane są następujące statystyki: średni błąd sieci, tzw. macierz pomyłek dla klasyfikacji, która podsumowuje ilość prawidłowych i błędnych klasyfikacji, oraz korelacja dla regresji. Sieć Kohonena wyświetlana jest w postaci mapy topologicznej prezentującej aktywacje neuronów podczas wykonywanej analizy. Wbudowane rozwiązania (własne aplikacje Skuteczny i prosty interfejs programu STATISTICA Automatyczne Sieci Neuronowe pozwala na szybkie zbudowanie sieci dla danego problemu. W niektórych sytuacjach może pojawić się potrzeba wbudowania sieci w inny system (np. w system komputerowy firmy, tak by mógł korzystać z sieci neuronowych). Nauczona sieć neuronowa może być zastosowana do nowych danych (w celu wyznaczenia przewidywanych wartości) na kilka sposobów: można zachować nauczoną sieć lub zespół sieci, by w przyszłości pobrać ją i wykonać obliczenia na nowych danych (do przewidywania wartości, klasyfikacji i prognozy szeregu czasowego). Można również użyć (opcjonalnego) generatora kodu w języku C czy Visual Basic i obliczenia wykonać używając standardowego środowiska programistycznego, czyli włączyć gotową, nauczoną sieć do własnej aplikacji. Ponadto, pełna funkcjonalność STATISTICA Automatyczne Sieci Neuronowe dostępna jest z innych aplikacji (Java, MS Excel itp.) jjako funkcje COM (Component Object Model). Można na przykład włączyć zautomatyzowaną analizę w STATISTICA Automatyczne Sieci Neuronowe do arkusza MS Excel. Zestawienie algorytmów uczących
Wymagania systemowe
Rekomendowane: Sieci mogą mieć praktycznie nieograniczone rozmiary (przekraczające potrzeby pojawiające się w realnej praktyce). Ograniczenia programu są związane wyłącznie z zasobami sprzętowymi komputera. STATISTICA Automatyczne Sieci Neuronowe zawiera elektroniczny podręcznik obejmujący obszerne omówienie pojęć z zakresu sieci neuronowych (wraz z przykładami). Program wyposażony jest również w obszerny system pomocy kontekstowej dostępnej z każdego okna programu. Sieci neuronowe mogą być stosowane praktycznie w każdej sytuacji, w której celem jest oszacowanie wartości zmiennej lub dokonanie grupowania na podstawie zaobserwowanych wartości cech lub pomiarów (to znaczy w regresji, klasyfikacji i analizie szeregów czasowych). Warunkiem niezbędnym do stosowania sieci neuronowych jest posiadanie odpowiedniej liczby danych historycznych i istnienie rzeczywistej zależności lub zespołu zależności. Na podkreślenie zasługuje przy tym względna odporność sieci na szumy. Ponadto sieci neuronowe mogą być użyteczne w analizie eksploracyjnej przeprowadzanej w celu poszukiwania grup obiektów (sieci Kohonena). Wyczerpująca dyskusja teoretyczna celowości zastosowania sieci neuronowych zawarta jest w rozdziale dotyczącym sieci neuronowych w Elektronicznym podręczniku statystyki, dostępnym na serwerze WWW firmy StatSoft. Zamieszczona poniżej lista zawiera wybór reprezentatywnych przykładów. W żaden sposób nie wyczerpuje ona jednak wszystkich dziedzin, w których możliwe jest zastosowanie sieci neuronowych.
Opcjonalne rozszerzenie - Generator kodu Generator kodu to opcjonalne rozszerzenie programu pozwalające na włączanie do własnych programów rozwiązań otrzymanych w STATISTICA Automatyczne Sieci Neuronowe (SANN). Otrzymuje się tu sieć neuronową w postaci kodu w standardowym języku programowania C (kod także dostępny w języku PMML), który można kompilować i dołączać do własnych programów bez dodatkowej opłaty. Rozszerzenie przeznaczone jest w zasadzie dla developerów systemów korporacyjnych i innych użytkowników, którzy chcieliby wysoce zoptymalizowane procedury otrzymane za pomocą STATISTICA Automatyczne Sieci Neuronowe wykorzystać w istniejących aplikacjach rozwiązujących rutynowe zadania analityczne.)
Artykuły z przykładami analizy i opisami najczęściej stosowanych metod |
|