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