S ZTUCZNA I NTELIGENCJA
W YKŁAD 7. S ZTUCZNE SIECI NEURONOWE – S IEĆ K OHONENA
Dr hab. inż. Grzegorz Dudek Wydział Elektryczny
Politechnika Częstochowska
Częstochowa 2014
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 = [x1x
2… x
n]. 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 x
iwykorzystują 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
G RUPOWANIE DANYCH
Wektory wagowe związane z poszczególnymi neuronami w
i = [wi,1w
i,2… w
i,n] są przyciągane przez grupy punktów uczących i w efekcie stanowią ich reprezentację.
1
2
m x1
x2
xn
w1,1 w1,2
wn,2 wn,m
A RCHITEKTURA SIECI K OHONENA
Przykład. Dany jest zbiór punktów uczących (dwuwymiarowych) X = {x
1, x
2, …, x
M} 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 w
i = [wi,1w
i,2] możemy nanieść w tym samym układzie współrzędnych (symbole o).
x1,w1
x2,w2
U CZENIE SIECI K OHONENA
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:
∑
=
−
= n
k
k i k j i
j w x
d
1
2 ,
, )
( )
, (w x
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: ) (
'z,k wz,k xi,k wz,k
w = +η −
gdzie η jest współczynnikiem uczenia, η ∈ (0, 1).
4. Kroki 2-4 powtarzamy wielokrotnie. W efekcie wektory wagowe lokują się w centrach grup.
wz w'z xi
x1,w1
x2,w2
U CZENIE SIECI K OHONENA
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.:
>
≤
=
=
r j z d
r j z d
j z d r
j G
) , ( 0
) , ( 5
, 0
0 ) , ( 1
) , (
jeśli
jeśli
jeśli
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.
U CZENIE SIECI K OHONENA
Funkcja sąsiedztwa Wagi neuronów modyfikuje się według
wzoru:
) )(
, (
'j,k wj,k G j r xi,k wj,k
w = +η −
Modyfikacje położenia wektorów wagowych
1 2 3 4 5
4 3 2 1 0
G(j,r )
0,5 1
0
r = 1
U CZENIE SIECI
Modyfikacje położenia wektorów wagowych
j 5 6 7 8 9 10d 0 1 2 3 4 5
= 1
CZENIE SIECI K OHONENA
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.
T OPOLOGIE SIECI K OHONENA
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,
równy r, a współczynnik uczenia maleje dalej, lecz znacznie wolniej niż w fazie porządkowania.
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).
0 20 40 60 80 100
0 0.2 0.4 0.6 0.8 1
nr epoki
w
w1 w2 w3 w4 w5 w6
punkty uczące
S IEĆ K OHONENA W M ATLABIE
Rozmieszczenie punktów uczących i neuronów Odległości pomiędzy sąsiednimi neuronami
-0.5 0 0.5 1 1.5
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4
SOM Weight Positions
Weight 1
Weight 2
0 2 4 6 8
-1 0 1 2 3 4 5 6
SOM Neighbor Weight Distances
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
S IEĆ K OHONENA W M ATLABIE
Liczba punktów uczących reprezentowanych przez neurony
Wartości wag
-1 0 1 2 3 4 5 6 7 8
-1 0 1 2 3 4 5 6
21 21 10 14 9 15 18 20
9 23 34 14 10 20 39 14
15 12 11 15 3 16 23 29
8 9 12 10 11 10 7 11
17 16 12 15 0 12 12 16
24 38 12 5 13 22 22 20
20 20 15 15 13 17 23 16
11 13 22 5 15 19 10 17
Hits
0 2 4 6 8
0 2 4 6
Weights from Input 1
0 2 4 6 8
0 2 4 6
Weights from Input 2
0 0.5 1
0 0.5 1
S IEĆ K OHONENA W M ATLABIE
Wizualizacja poziomu ubóstwa Dane Banku Światowego:
39 wskaźników jakości życia
P RZYKŁ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.