Systemy wspomagania decyzji Sieć Kohonena, sieć Hamminga
Omówimy teraz prosty typ sieci Kohonena, która będzie klasyfikowała wektory wejściowe na p kategorii wykrywanych podczas grupowania zbioru uczącego. W wyniku rywalizacji podczas procesu uczenia sieć podlega procesowi samoorganizacji. W każdym kroku korygowany jest tylko wektor wag najbardziej podobny do aktualnie wprowadzonego.
Przed rozpoczęciem uczenia wektory wag są normalizowane gdzie jest wektorem wierszowym wag prowadzącym do i-tego neuronu. Norma jest euklidesowa:
Do korekcji wybierany jest taki neuron i=z (z — zwycięzca), dla którego odległości jest najmniejsza. Spełniona jest zatem następująca równość: 1) zwykłej odległości: albo 2) iloczynu skalarnego (typow dla sieci Kohonena): Korekta wag zwycięzcy (wz) ma na celu zbliżenie go do typowego reprezentanta, zatem Stałą uczenia h > 0 wybiera się zazwyczaj w przedziale [0.1, 0.7]
Podsumowanie reguły Kohonena
Przykład Ciąg uczący: Początkowe wagi Początkowe wagi po pierwszym kroku dla h=0.5 są
Po wielu iteracjach wagi ustawiają się wg następujących zależności Oznacza to, że wskazują one środki ciężkości wykrytych grup.
Schemat blokowy sieci Hamminga (model dwuwarstwowy)
Schemat połączeń w sieci Hamminga (model trójwarstwowy z dodatkową warstwą wyjścia) warstwa MAXNET x1 xN y1 yM w(1)=wH w(m) w(2) 1 P M warstwa wejściowa warstwa wyjściowa
Elementy sieci Hamminga: Do sieci prowadzi n sygnałów wejściowych. Z sieci wychodzi m sygnałów wyjściowych. Sieć posiada trzy warstwy lub dwie (w zależności od modelu). Warstwa pierwsza zawiera p neuronów. Warstwa druga też zawiera p neuronów. Jest to tzw. warstwa MAXNET. Warstwa wyjściowa (trzecia) zawiera m neuronów. Warstwa MAXNET (środkowa) zawiera sprzężenia wewnętrzne „każdy z każdym”. Sprzężenia pomiędzy różnymi neuronami tej warstwy są ujemne, a sprzężenia samych ze sobą są dodatnie i takie same w całej warstwie (na ogół: wii(m)=1).
Wagi Warstwa wejściowa (warstwa Hamminga): Warstwa MAXNET: Warstwa wyjściowa:
Uczenie sieci Hamminga Podobnie jak dla sieci Hopfielda uczenie jest procesem stosunkowo prostym i polega na użyciu pewnych wzorów, które nadają wartości wagom w jednym cyklu, bez konieczności iteracji. Dany jest ciąg uczący, składający się z par wektorów: Wektory x(i) oraz d(i) są bipolarne, tzn. składowe są równe 1 lub -1 (w niektórych wersjach 0 lub 1). Definiujemy wagi następująco:
Uczenie sieci Hamminga (c.d.) Warstwa MAXNET: wagi dobieramy tak, aby zachodziły relacje Na przykład w metodzie Lippmana przyjmujemy gdzie xij jest wartością losową o dostatecznie małej amplitudzie. Natomiast w metodzie Pao przyjmujemy z kolei
Działanie sieci Hamminga W działaniu sieci Hamminga można wyróżnić trzy etapy. Etap I - wprowadzany jest na wejście sieci N-elementowy wektor x. Na wyjściu neuronów warstwy pierwszej generowane są sygnały inicjalizujące stan początkowy neuronów warstwy drugiej (MAXNET). Etap II - Rozpoczyna się proces iteracyjny w warstwie MAXNET'u, zainicjowany stanem początkowym, wynikającym z fazy pierwszej. Proces iteracyjny trwa do chwili, aż wszystkie neurony z wyjątkiem jednego osiągną stan zerowy. Neuron o niezerowym sygnale wyjściowym (zwycięzca) reprezentuje klasę, do której należy wektor wejściowy. Etap III - neuron zwycięzca za pośrednictwem wag łączących go z neuronem warstwy wyjściowej wytwarza na wyjściu sieci odpowiedź stanowiącą wektor y, skojarzony z wektorem pobudzającym x.
Działanie sieci Hamminga (c.d.) Wartości sygnałów wyjściowych pierwszej warstwy są określone poprzez odległość Hamminga i wyrażają się wzorem: gdzie dH oznacza odległość Hamminga. Odległość ta jest równa liczbie składowych, którymi różnią się oba wektory. Na przykład dla x=(1,1,-1,1,-1), y=(1,-1,-1,1,1) mamy dH(x,y)=2. Zauważmy, że tak określone sygnały wyjściowe mieszczą się w przedziale [0, 1]. Wynika to stąd, że wektory x(i) oraz x mają N składowych (współrzędnych), więc dH(x,y){0,1,…,N}.
Działanie sieci Hamminga (c.d.) Sygnały neuronów warstwy pierwszej stają się stanami początkowymi neuronów warstwy MAXNET, po czym zostają usunięte. Zadaniem tej warstwy jest wyłonienie zwycięzcy, czyli neuronu, którego pobudzenie jest najbliższe wartości 1. Proces wyłaniania zwycięzcy jest procesem rekurencyjnym, przebiegającym wg schematu z wartością startową
Funkcja aktywności neuronów warstwy MAXNET jest postaci Proces iteracyjny w warstwie MAXNET jest powtarzany do momentu, w którym stan neuronów przestanie ulegać zmianie. Wtedy też jeden neuron powinien być aktywny a pozostałe powinny zwracać zero. Neuron aktywny nazywamy zwycięzcą. Teraz poprzez wagi w(2) warstwa trzecia wytwarza wektor y(i) skojarzony z wektorem uczącym x(i).
Przykład
Będziemy testować następujący wektor Odpowiedź warstwy Hamminga Wyjście z warstwy Hammiga jest określone wzorem
Teraz przechodzimy do warstwy MaxNet i wykonujemy kolejne iteracje: Krok 1:
Krok 2: Wykonując jeszcze dwie iteracje otrzymujemy yk+1=y4 dla k≥4