Węzeł Sieci neuronowe

UWAGA:
Informacja ta odnosi się do nieaktualnej wersji węzła modelowania sieci neuronowej i jest udostępniana w tym miejscu tylko do celów informacyjnych. W bieżącej wersji produktu dostępna jest nowa węzła, która oferuje udoskonalone funkcje. Więcej informacji można znaleźć w temacie Sieci neuronowe. Mimo że nadal możliwe jest budowanie i ocenianie modelu w nieaktualna wersji, zalecamy zaktualizowanie skryptów tak, by korzystały z nowej wersji.

Węzeł sieci neuronowej (uprzednio pod nazwą „Train Net”) jest używany do tworzenia i uczenia sieci neuronowych.

Sieci neuronowe są prostymi modelami działającymi w sposób przypominający układ nerwowy. Podstawowymi jednostkami są neurony, które zwykle są rozmieszczone w warstwach, co przedstawia następujący rysunek.

Rysunek 1. Struktura sieci neuronowej
Struktura sieci neuronowej

Sieci neuronowe to uproszczony model procesu przetwarzania informacji przez ludzki umysł. Polega on na symulowaniu dużej liczby połączonych wzajemnie jednostek przetwarzania, które przypominają abstrakcyjne wersje neuronów.

Jednostki przetwarzania są rozmieszczone w postaci warstw. Zwykle sieć neuronowa składa się z trzech części: warstwa wejściowa, z jednostkami reprezentującymi zmienne wejściowe, co najmniej jedna warstwa ukryta oraz warstwa wyjściowa, z jednostkami reprezentującymi zmienne przewidywane. Jednostki są połączone połączeniami o różnej sile (lub wadze). Dane wejściowe są prezentowane na pierwszej warstwie, a wartości są przekazywane z poszczególnych neuronów do wszystkich neuronów w następnej warstwie. Ostatecznie z warstwy wyjściowej uzyskiwany jest wynik.

Sieć uczy się poprzez sprawdzanie pojedynczych rekordów, generowanie predykcji dla poszczególnych rekordów i wprowadzanie korekty wag, jeśli powodują niepoprawną predykcję. Ten proces jest powtarzany wiele razy, a sieć coraz bardziej udoskonala predykcje, aż do spełnienia co najmniej jednego kryterium zatrzymywania.

Początkowo wszystkie wagi mają charakter losowy, a odpowiedzi wychodzące z sieci są prawdopodobnie bezsensowne. Sieć rozwija się w procesie uczenia. Przykłady, dla których wynik jest znany, są wielokrotnie wprowadzane do sieci, a przedstawiane odpowiedzi są porównywane ze znanymi wynikami. Informacje uzyskane na podstawie tego porównania są z powrotem przekazywane do sieci, przy czym następuje stopniowa zmiana wag. W trakcie uczenia sieć staje się coraz bardziej dokładna w replikowaniu znanych wyników. Po zakończeniu uczenia sieć można zastosować do przyszłych obserwacji, w których wynik jest nieznany.

Przykład. W procesie weryfikacji wniosków o dofinansowanie dla projektów rozwoju rolnictwa w celu wykrycia ewentualnych oszustw można zastosować sieć neuronową, aby przeanalizować odstępstwa od normy oraz wyróżniać rekordy nietypowe i warte dokładniejszego zbadania. Szczególnie interesują nas wnioski o dofinansowanie na kwotę zbyt wysoką (lub zbyt niską) w stosunku do rodzaju i wielkości gospodarstwa.

Wymagania. Brak ograniczeń co do typów zmiennych. Węzły sieci neuronowej mogą obsługiwać wejściowe zmienne liczbowe, symboliczne i flagi. Węzeł sieci neuronowej oczekuje co najmniej jednej zmiennej wejściowej i co najmniej jednej zmiennej przewidywanej. Zmienne o roli Łącznie lub Żadna są ignorowane. W momencie wykonania węzła typy zmiennych muszą być zrealizowane jako instancje zmiennych.

Mocne strony. Sieci neuronowe są skutecznymi estymatorami funkcji. Zwykle realizują predykcję co najmniej tak dobrze, jak inne techniki, a czasami nieco lepiej. Do uczenia i stosowania ich wymagane jest tylko minimum wiedzy w zakresie statystyki lub matematyki. IBM® SPSS Modeler zawiera kilka funkcji, które pomagają uniknąć niektórych typowych pułapek związanych z wykorzystaniem sieci neuronowych. Do funkcji tych należą: analiza czułości (uwidoczniona na wykresie ważności zmiennych), która pomaga w interpretacji sieci, przycinanie i walidacja zapobiegające przeuczeniu, a także sieci dynamiczne, które automatycznie znajdują odpowiednią architekturę sieci.