SZTUCZNA INTELIGENCJA - Grzegorz Dudek Ph.D.
Transkrypt
SZTUCZNA INTELIGENCJA - Grzegorz Dudek Ph.D.
SZTUCZNA INTELIGENCJA WYKŁAD 7. SZTUCZNE SIECI NEURONOWE – SIEĆ KOHONENA Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska Częstochowa 2014 GRUPOWANIE DANYCH Grupowanie danych – inaczej rozpoznawanie obrazów bez nauczycielem (bez nadzoru), analiza skupień, klasteryzacja. Celem grupowania danych jest wykrycie ich naturalnych struktur i podział na skupiska. Wstępna informacja o przynależności obiektów do klas jest niedostępna. W fazie uczenia formuje się klasy na podstawie informacji zawartych w przykładach nieetykietowanych x = [x1 x2 … xn]. W rezultacie, każdemu przykładowi przyporządkowany zostaje numer klasy. Metody grupowania opierają się zwykle na pojęciu podobieństwa. Obserwacje należące do tej samej klasy cechuje wysoki stopień podobieństwa. Miary podobieństwa przy numerycznych atrybutach xi wykorzystują funkcje odległości. Sieć Kohonena (samoorganizujące się odwzorowanie cech, SOFM) używana jest do: • grupowania danych • niskowymiarowej reprezentacji danych wejściowych (przykładów) • aproksymacji funkcji gęstości danych wejściowych 2 ARCHITEKTURA SIECI KOHONENA x1 w1,1 w1,2 x2 xn 1 2 wn,2 wn,m m Wektory wagowe związane z poszczególnymi neuronami wi = [wi,1 w i,2 … wi,n] są przyciągane przez grupy punktów uczących i w efekcie stanowią ich reprezentację. 3 UCZENIE SIECI KOHONENA Przykład. Dany jest zbiór punktów uczących (dwuwymiarowych) X = {x1, x2, …, xM} oznaczonych na rysunku x. Zbiór ten należy pogrupować za pomocą sieci Kohonena z dwoma neuronami. Pozycje początkowe wektorów wagowych tych neuronów wi = [wi,1 w i,2] możemy nanieść w tym samym układzie współrzędnych (symbole o). x 2, w2 x1, w1 4 UCZENIE SIECI KOHONENA 1. Losujemy wagi sieci. 2. Na wejście sieci prezentujemy wybrany punkt uczący xi = [xi,1 xi,2]. Wyznaczamy odległości każdego wektora wag wj = [wj,1 wj,2] od tego punktu. Najpopularniejszą miarą odległości jest odległość euklidesowa: d (w j , x i ) = n ∑ (w k =1 j ,k − xi , k ) 2 3. Neuron najbliższy punktowi xi wygrywa konkurencję i nazywany jest zwycięzcą (oznaczmy go symbolem "z"). Tylko ten neuron adaptuje swój wektor wag wz przybliżając go do punktu xi: w' z , k = wz , k + η ( xi , k − wz , k ) wz w'z xi gdzie η jest współczynnikiem uczenia, η ∈ (0, 1). 4. Kroki 2-4 powtarzamy wielokrotnie. W efekcie wektory wagowe lokują się w centrach grup. x 2, w2 x1, w1 5 UCZENIE SIECI KOHONENA Przedstawiony powyżej algorytm nosi nazwę zwycięzca bierze wszystko (winner takes all). W alternatywnym algorytmie zwanym zwycięzca bierze większość (winner takes most) prawo do modyfikacji swoich wag mają również neurony z sąsiedztwa neuronu zwycięskiego. Definiuje się funkcję sąsiedztwa G(j, r), np.: 1 jeśli d ( z , j ) = 0 G ( j , r ) = 0,5 jeśli d ( z , j ) ≤ r 0 jeśli d ( z , j ) > r gdzie: d(z, j) – odległość pomiędzy neuronem zwycięskim a neuronem j-tym mierzona w warstwie neuronów. (Możemy założyć, że neurony położone obok siebie, tzn. neuron j-ty i j+1 oraz j-ty i j–1, znajdują się w umownej odległości równej 1. Wtedy neurony oddalone o q pozycji znajdują się w odległości d = q.) r – promień sąsiedztwa (r ≥ 0). Jeśli odległość d(z, j) jest mniejsza od tego promienia, oznacza to, że neuron j-ty należy do sąsiedztwa neuronu zwycięskiego z. 6 UCZENIE SIECI KOHONENA Funkcja sąsiedztwa Wagi neuronów modyfikuje się według wzoru: w' j ,k = w j ,k + ηG ( j , r )( xi ,k − w j ,k ) G(j,r ) 1 0,5 0 1 2 3 4 5 6 7 8 9 10 4 3 2 1 0 1 2 3 4 5 r=1 j d Modyfikacje położenia wektorów wagowych 7 TOPOLOGIE SIECI KOHONENA Warto zauważyć, że modyfikacji ulegają wektory wag neuronów sąsiednich w stosunku do zwycięskiego niezależnie od ich odległości od punktu uczącego xi. Ostatecznie prowadzi to do takiej sytuacji, że sąsiednie grupy punktów uczących są reprezentowane przez sąsiednie neurony. Tę właściwość nazywa się zachowaniem topologii, a całą sieć samoorganizującym się odwzorowaniem cech (self-organizing feature map – SOFM). Neurony mogą być rozłożone w warstwie nie tylko liniowo, ale również planarnie. Często spotykane topologie: liniową, prostokątną (gridtop) oraz heksagonalna (hextop) pokazano poniżej (zaznaczono sąsiedztwo dla r = 1). Topologie te różnią się sąsiedztwem, które przy tym samym promieniu obejmuje różną liczbę neuronów. 8 SIEĆ KOHONENA W MATLABIE Algorytm uczenia sieci SOFM zaimplementowany w Matlabie przebiega w dwóch fazach: • faza porządkowania – następuje porządkowanie neuronów tak, aby sąsiednie neurony w warstwie odpowiadały sąsiednim grupom punktów uczących. Współczynnik uczenia w tej fazie maleje od η1 do η2, a promień sąsiedztwa maleje od początkowej wartości równej maksymalnej odległości pomiędzy dwoma neuronami w warstwie do r. • faza strojenia – następuje dokładne "dopasowanie" neuronów do danych uczących. Promień sąsiedztwa pozostaje stały, 1 równy r, a współczynnik w1 uczenia maleje dalej, lecz w2 0.8 w znacznie wolniej niż w fazie 3 w4 porządkowania. 0.6 w w 5 Rysunek. W pierwszej fazie można zaobserwować gwałtowne zmiany pozycji neuronów (porządkowanie), w fazie drugiej, która rozpoczyna się w 50 epoce, zmiany są niewielkie (strojenie). w 6 0.4 0.2 0 0 punkty uczące 20 40 60 80 100 nr epoki 9 SIEĆ KOHONENA W MATLABIE Rozmieszczenie punktów uczących i neuronów Odległości pomiędzy sąsiednimi neuronami SOM Weight Positions 1.4 SOM Neighbor Weight Distances 1 1.2 0.9 6 1 0.8 5 0.7 0.8 Weight 2 4 0.6 0.6 3 0.5 0.4 0.4 2 0.2 0.3 1 0.2 0 0 0.1 -0.2 -1 -0.4 -0.5 0 0.5 Weight 1 1 0 2 4 6 8 0 1.5 10 SIEĆ KOHONENA W MATLABIE Hits 11 6 20 5 13 20 24 Liczba punktów uczących reprezentowanych przez neurony 22 15 38 5 15 15 13 12 5 19 17 13 10 23 22 17 16 22 20 4 17 16 12 15 0 12 12 16 3 8 9 12 10 11 10 7 11 2 15 1 12 9 11 23 15 34 3 14 16 10 23 20 29 39 14 0 21 21 10 14 9 15 18 20 -1 -1 0 1 2 3 4 5 6 7 8 Weights from Input 1 Weights from Input 2 1 6 Wartości wag 1 6 4 4 0.5 2 0.5 2 0 0 0 2 4 6 8 0 0 2 4 6 8 0 11 PRZYKŁAD APLIKACYJNY Wizualizacja poziomu ubóstwa Dane Banku Światowego: 39 wskaźników jakości życia 12 PRZYKŁAD APLIKACYJNY Diagnostyka techniczna Na siatce neuronów można obserwować trajektorię „ruchu” parametrów obiektu po zwycięskich neuronach, którym nadano etykiety klasy stanu technicznego. Tę samą trajektorię można wykreślić na tle mapy rozkładu wartości każdej j-tej składowej wektora wagowego, która reprezentuje odpowiedni symptom. Po skojarzeniu wartości wagi z odcieniem koloru szarego mamy możliwość obserwacji w jaki sposób zmienia się wartość symptomu wzdłuż trajektorii. Ponadto podobnie ukształtowane obrazy rozkładu poszczególnych wag świadczą o korelacji między nimi, co można wykryć w prosty, wizualny sposób. 13