background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieci samoorganizujące 

się

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wykrywanie grup 

(clustering)

Przez grupowanie (clustering) rozumiemy 
kojarzenie obiektów podobnych i oddzielanie różnych

Grupowanie prowadzi do zdefiniowania klas i jest 
działaniem pierwotnym w stosunku do 
klasyfikacji, czyli ustalania przynależności danego 
obiektu do klasy uprzednio zdefiniowanej. 

Sieć uczy się rozpoznawać 
cechy wspólne sygnałów 
wejściowych bez 
nauczyciela. 

Samouczenie może 
doprowadzić do znalezienia 
granic pomiędzy klasami 
obrazów wejściowych

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Regularności, linie podziału na klasy, cechy 
charakterystyczne sieć musi  wykryć sama. Zmiana 
parametrów sieci w czasie wykrywania tych cech jest 
rodzajem samoorganizacji 

Wykrywanie grup

Zbiór danych wejściowych musi być wystarczająco 
liczny, by sieć mogła sama znaleźć klasy obiektów 
(nadmiarowość danych wejściowych). 

Zdolność sieci samouczących do wykrywania skupisk 
obrazów wejściowych jest wykorzystywana do 
wykrywania grup, gdy klasy nie są znane. Każda 
informacja o liczbie grup (klas) lub podobieństwie 
obrazów jest bardzo przydatna. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samouczenie może 
doprowadzić do 
znalezienia granic 
pomiędzy klasami 
obrazów 
wejściowych

Z uwagi na brak informacji a priori o skupiskach, musi 
być wbudowany mechanizm autoadaptacyjny. 

Taką regułą adaptacji jest przykładowo zasada, że obraz 
dodawany jest do tego skupiska, od centrum którego 
leży najbliżej. 

Wykrywanie grup

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Regularności, linie podziału na klasy, cechy 
charakterystyczne sieć musi  wykryć sama. Zmiana 
parametrów sieci w czasie wykrywania tych cech jest 
rodzajem samoorganizacji 

Wykrywanie grup

Zbiór danych wejściowych musi być wystarczająco 
liczny, by sieć mogła sama znaleźć klasy obiektów. 

Zdolność sieci samouczących do wykrywania skupisk 
obrazów wejściowych jest wykorzystywana do 
wykrywania grup, gdy klasy nie są znane. Każda 
informacja o liczbie grup (klas) lub podobieństwie 
obrazów jest bardzo przydatna. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Istnieją sytuacje, gdy sieć 
nie może się sama nauczyć, 
bez nauczyciela lub bez 
dodatkowej informacji o 
analizowanym problemie. 

Przykładem mogą być obrazy 
występujące w zwartym 
skupisku, bez wyraźnych 
granic pomiędzy klasami.

Wykrywanie grup

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła jest prosta: 

Im mniejsza odległość, tym większe 

podobieństwo
Po obliczeniu odległości pomiędzy wszystkimi parami 
obrazów można wybrać odległość progową T, 
dyskryminującą grupy. Na rysunku są 2 grupy i 
odległość progowa T (odległość euklidesowa) jest 
większa niż maksymalna odległość wewnątrz grupy i 
mniejsza od odległości między obiektami należącymi 
do tych grup.

Wykrywanie grup

Najpopularniejszą miarą 
podobieństwa obrazów jest 
odległość euklidesowa: 

)

(

)

(

i

T

i

i

x

x

x

x

x

x

Przez grupowanie rozumiemy kojarzenie obiektów podobnych.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Gdy cos y

2

 > cos y

1

   (y

< y

1

), obraz x jest bardziej 

podobny do x

2

 niż do x

1

 i należy go zaliczyć do grupy 

drugiej. W tym celu należy wybrać kąt progowy 
odpowiadający maksymalnej rozwartości kątowej 
grupy. Powyższe kryterium podobieństwa jest 
skuteczne tylko wtedy, gdy długości wektorów są 
znormalizowane x, x

1

 i x

2

 Istnieje szereg algorytmów 

wykrywania grup.

W sytuacji jak na rysunku 
lepsza jest kątowa miara 
podobieństwa: 

Wykrywanie 

grup



cos

i

x

T

x

i

x x

i

)

(

cos

cos

1

2

1

2

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

A co będzie w następującej 
sytuacji? 

Wykrywanie 

grup

x nie jest bardziej podobny 
do pozostałych punktów w 
grupie. 

1

cos

czyli

2

1

Aby tego uniknąć, sygnały 
wejściowe należy poddać 
normalizacji

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne

Uczenie rywalizacyjne (competitive learning) jest 
również metodą uczenia sieci samoorganizujących.

Neurony na początku mają przypadkowe wartości 
wag. Następnie, na podstawie prezentowanych 
danych, „uczą się” rozpoznawać te dane i zbliżają 
się odpowiednio do obszarów zajmowanych przez 
te dane. 

Po każdej prezentacji wzorca x(k) zwycięzcą zostaje 
tylko jeden neuron, najbliższy (w sensie ustalonej 
metryki) prezentowanemu wzorcowi.

 Neurony rywalizują między sobą, a„neuron 
wygrywając” jest jedynym pobudzanym przy 
konkretnej obserwacji wejściowej.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne

1

K

k

y

1

y

k

y

K

x

1

x

j

x

J

.

.

.

.

.

.

.

.

.

.

.

.

neuron

"zwycięski"

W zależności od aktualnych wartości 
wag, sygnały wyjściowe różnią się 
między sobą. 
Wartości tych sygnałów są 
porównywane i zwycięża ten neuron, 
którego wartość jest największa. 
Neuron „zwycięzca” przyjmuje na 
swoim wyjściu stan 1, a pozostałe 
neurony (neurony „przegrywające”) 
stan 0. 

Grupa współzawodniczących K neuronów otrzymuje te same 
sygnały wejściowe x

Wagi neuronu „zwycięzcy” są dostrajane  w danym kroku 
uczenia.
Taka metoda uczenia jest przykładem tzw. nauki z rywalizacją 
(competitive learning) bez nauczyciela.  

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przypuśćmy, że w tej konkurencji zwyciężył neuron o 
numerze c. Ma on prawo uaktualnić swoje wagi wg 
jednej z dwóch zasad:
• WTM – Winner Takes Most
• WTA – Winner Takes All

Uczenie rywalizacyjne

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne WTA

Zasada WTA - tylko neuron zwycięski (oznaczany 
indeksem c, od conqueror) uaktualnia swe wagi, tzn. 
zbliża się do wektora x(k). Wagi zwycięskiego 
neuronu mogą zostać uaktualnione np. na podstawie 
wzoru Kohonena: 

€ 

wc(k+1) =wc(k)+η(kx(k)−wc(k)

[

]

Współczynnik uczenia η(k) jest na ogół malejącą 
funkcją numeru iteracji k

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne WTA i WTM

• W efekcie współzawodnictwa następuje 

samoorganizacja procesu uczenia. 

• Neurony dopasowują swoje wagi w ten sposób, że przy 

prezentacji grup wektorów wejściowych zbliżonych do 
siebie zwycięża zawsze ten sam neuron. Neuron, 
poprzez zwycięstwo we współzawodnictwie  
rozpoznaje swoją kategorię. 

• Ogólnie: Przy podaniu na wejście sieci wielu wektorów 

zbliżonych do siebie będzie zwyciężać ciągle ten sam 
neuron, w wyniku czego jego wagi będą odpowiadać 
uśrednionym wartościom wektorów wejściowych, dla 
których dany neuron był zwycięzcą. 

• Neurony nie wygrywające nie zmieniają swoich wag – 

pozostają martwe

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła uczenia WTA

1

K

k

y

1

y

k

y

K

x

1

x

j

x

J

w

11

w

k1

w

K1

w

1j

w

1J

w

k1

w

kj

w

Kj

w

kJ

w

KJ

.

.

.

.

.

.

.

.

.

.

.

.

neuron

"zwycięski"

Numer k wygrywającego neuronu ustala 
się na podstawie kryterium:



w

k

T

 max

i1,2,...,K

(w

i

T

x)

Zależność ta wykrywa największy 
spośród skalarnych iloczynów 
wektorów wag z wektorem 
wejściowym, czyli wskazuje wektor 
wag najbliższy wejściowemu. 

€ 

a=wTxw x cos(ϕ)

x

w

φ

Gdy φ = 0, cos(φ ) = 1 = max

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła uczenia WTA

1

K

k

y

1

y

k

y

K

x

1

x

j

x

J

w

11

w

k1

w

K1

w

1j

w

1J

w

k1

w

kj

w

Kj

w

kJ

w

KJ

.

.

.

.

.

.

.

.

.

.

.

.

neuron

"zwycięski"

Numer k wygrywającego neuronu ustala 
się na podstawie kryterium:



w

k

T

 max

i1,2,...,K

(w

i

T

x)

Zależność ta wykrywa największy 
spośród skalarnych iloczynów 
wektorów wag z wektorem 
wejściowym, czyli wskazuje wektor 
wag najbliższy wejściowemu. 

W myśl tej reguły następuje korekta wektora wag sygnałów 
zbiegających się do wejścia zwycięskiego neuronu k (linie 
pogrubione na rysunku) 

  

€ 

wwk1,wk2,K ,wkJ

[

]T

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Algorytm uczenia WTA

1. Na wstępie przyjmuje się losowe, znormalizowane względem 1 

wartości wag poszczególnych neuronów. 

2. Po podaniu pierwszego wektora wejściowego x wyłaniany jest 

zwycięzca o numerze k.

Wektor wag neuronu zwycięzcy jest zwiększany o ułamek różnicy x-
w
, w wyniku czego w następnych krokach lepiej odtwarza 
rozpatrywany wektor wejściowy (α > 0 jest dodatnim 
współczynnikiem, malejącym w miarę postępu nauki)



w

kj

(t1) w

kj

(t)

[x

j

 w

kj

(t)]

x

w(t)

w(t+1)

α(x-w(t))

x-w(t)

3. Aktualizacja wag neuronu zwycięzcy 

(neurony przegrywające mają na 
wyjściu stan zero, co blokuje proces 
aktualizacji ich wag). 
Aktualizacja wag według tzw. reguły 
Kohonena
 : 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła uczenia WTA

Przed rozpoczęciem uczenia wektory wag są 
normalizowane:

p

i

i

i

i

,

,

2

,

1

,

ˆ

w

w

w

Do korekcji kwalifikowany jest wektor  taki, że:

m

w

ˆ

Korekcja wektora

     ma na celu zbliżenie go do 

typowego reprezentanta grupy m

m

w

ˆ

i

p

i

m

w

x

w

x

ˆ

min

ˆ

,

2

,

1

 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła uczenia WTA

Sygnał wyjściowy a

i

 i-tego neuronu, można opisać zależnością 

wektorową: 

€ 

a

i

=wTxw x cos(ϕ)

Neurony przegrywające nie zmieniają swoich wag, dopóki nie 
zwyciężą przy następnej prezentacji wektora wejściowego. 

Ponieważ ||w|| = ||x|| = 1, o wartości sygnału 
wyjściowego a

i

 decyduje różnica kątowa między 

wektorami x oraz w
bo a

i

 = cos(φ

i

)

x

w

φ

Zwycięża zatem ten neuron, którego wektor wag 
jest najbliższy aktualnemu wektorowi uczącemu 
x

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Reguła uczenia WTA

Przy  podaniu  na  wejście  sieci  wielu  wektorów  zbliżonych  do 
siebie, zwyciężać będzie ciągle ten sam neuron, w wyniku czego 
jego  wagi  odpowiadać  będą  uśrednionym  wartościom  wektorów 
wejściowych, dla których dany neuron był zwycięzcą. 

W wyniku takiego współzawodnictwa następuje samoorganizacja 
się sieci. 

Neurony  dopasowują  swoje  wagi  w  ten  sposób,  że  przy 
prezentacji  grup  wektorów  wejściowych  zbliżonych  do  siebie 
zwycięża zawsze ten sam neuron. 

W trybie pracy normalnej, odpowiedni neuron poprzez 
zwycięstwo we współzawodnictwie rozpoznaje swoją 
kategorię. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieć złożona z 4 neuronów typu WTA do klasyfikacji 
wektorów dwuelementowych (wg książki Osowskiego)

x

1

x

2

w

11

w

21

w

31

w

41

y

1

y

2

y

3

y

4

w

12

1

2

3

4

1

2

Wektory uczące, 
znormalizowane:

Przykład WTA1



X

1

0.97

0.2









 X

2

1.00

0.0











X

3

 0.72

0.7









 X

4

 0.67

0.74











X

5

 0.8

0.6









 X

6

0.0

 1.0











X

7

0.2

 0.97









 X

8

 0.3

 0.95

































background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład WTA1, c.d. 

Przebieg uczenia: 

- Kółka oznaczają kolejne 

położenia wektorów wag 
neuronów 
zwyciężających,

-  linie oznaczają wektory. 
Widać, że jedynie 3 
neurony zwyciężały w 
procesie uczenia. Neuron 
czwarty pozostał martwy 
(nigdy nie zwyciężył) i nie 
dopasował się do żadnej 
kategorii wektorowej. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład WTA1, c.d. 

Uczenie sieci ze współczynnikiem uczenia =0.05 
pozwoliło po 320 cyklach uczących uzyskać wagi 3 
pierwszych neuronów:

€ 

W1=

0.9904

−0.0656

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥  W2 =

−0.7314

0.6786

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥  W2 =

0.0276

−0.9790

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Odzwierciedlają one 3 
kategorie wektorów 
wejściowych: (x

1

,x

2

), 

(x

3

,x

4

, x

5

), (x

6

,x

7

, x

8

) na 

które samoczynnie 
podzielony został zbiór 
wejściowy.



X

1

0.97

0.2









 X

2

1.00

0.0











X

3

 0.72

0.7









 X

4

 0.67

0.74









 X

5

 0.8

0.6











X

6

0.0

 1.0









 X

7

0.2

 0.97









 X

8

 0.3

 0.95





























background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład WTA1, c.d. 

Przebieg procesu 
uczenia:

Kółkami zaznaczono 
kolejne położenia 
wektorów wag 
neuronów 
zwyciężających we 
współzawodnictwie, a 
liniami - wektory 
liniowe. Jedynie 3 
neurony zwyciężały w 
procesie uczenia. 
Neuron czwarty 
pozostał martwy i nie 
dopasował się do 
żadnej kategorii.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zbiór 80 danych o wartościach losowych, ale 
pogrupowanych 
w 8-miu kategoriach

Przykład WTA2

Zadaniem sieci WTA 
jest sklasyfikowanie 
tych punktów w klasy

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieć ma dwa neurony wejściowe (dane wejściowe są 
dwuwymiarowe – współrzędne punktów 
reprezentujących dane wejściowe).

Przykład WTA2, c.d.

Początkowe wartości 
wag wynoszą 0.5

Warstwa wyjściowa 
ma 8 neuronów.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Po ok. 100 iteracjach, współrzędne wag wskazują 
grupy danych wejściowych

Przykład WTA2, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieć Kohonena (1988) klasyfikuje wektory wejściowe na 
kategorii wykrytych podczas grupowania zbioru 
uczącego. 

Klasyfikator Kohonena

W wyniku rywalizacji 
podczas uczenia, sieć 
podlega samoorganizacji (w 
każdym kroku korygowany 
jest tylko wektor wag 
najbardziej podobny do 
uczącego – metoda WTA)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Załóżmy, że w danym kroku znormalizowany wektor 
wejściowy     daje największy iloczyn skalarny z 
wektorem     .  

m

w

ˆ

m

w

ˆ

m

w

ˆ

'

m

w

Klasyfikator Kohonena

xˆ

części różnicy              
otrzymujemy wektor 
skorygowany      obrócony 
w kierunku x, lecz o 
długości mniejszej niż 1. 

Przed kolejnym krokiem 
uczenia trzeba go 
znormalizować. 

Po dodaniu do

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Po zakończeniu uczenia 
znormalizowane wektory 
wag wskazują środki 
ciężkości wykrytych grup 
obrazów ze zbioru 
uczącego, a więc sieć 
organizuje się z 
uwzględnieniem 
prawdopodobieństwa 
(częstości) pojawiania się 
obrazów wejściowych, jak 
na rysunku dla wektorów 
trójwymiarowych 
należących do 3 klas. 

Klasyfikator Kohonena

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przebieg uczenia się 
podziału obrazów na 2 
grupy. Znormalizowany 
zbiór uczący złożony z 5 
wektorów:

8

.

0

6

.

0

,

9397

.

0

3420

.

0

,

707

.

0

707

.

0

,

9848

.

0

1736

.

0

,

6

.

0

8

.

0

,

,

,

,

5

4

3

2

1

x

x

x

x

x

Przykład K1

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zadaniem 2 neuronów jest identyfikacja dwóch 
możliwych grup. Wartości początkowe 
znormalizowanych wektorów wag:



0

1

0

1

0

2

0

1

w

w

Podczas uczenia ciąg uczący jest podawany 
wielokrotnie we wskazanej kolejności. Stosujemy 
regułę Kohonena z a=0.5. 

Przykład K1, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

W pierwszym kroku uczenia zwyciężył pierwszy 
neuron i jego wagi zostały skorygowane. Otrzymujemy 
wartości wektorów wag:



0

1

316

.

0

948

.

0

1
2

1

1

w

w

Można to lepiej zobaczyć stosując zapis we 
współrzędnych biegunowych. Zbiór uczący ma postać:

13

.

53

1

,

70

1

,

45

1

,

80

1

,

87

.

36

1

,

,

,

,

5

4

3

2

1

x

x

x

x

x

Przykład K1, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Dla dużej liczby iteracji k wektory wag stabilizują się 
na wartościach:

)

(

2

1

75

1

)

(

3

1

45

1

4

2

2

5

3

1

1

x

x

w

x

x

x

w

czyli wskazują środki ciężkości wykrytych 2 grup.

Przykład K1, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przebieg procesu uczenia 
można prześledzić w tabeli: 

Przykład K1, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wektor w

1

 przyjmując wartość 

W drugim kroku ponownie zwycięża pierwszy neuron, 
w wyniku czego 

A wektor w

2

 ma nadal wartość 

46

.

18

1

1

1

w

obrócił się od położenia początkowego 

0

1

ku potencjalnej grupie w pierwszym kwadrancie. 
Wektor w

2

 pozostał nie zmieniony. 

77

.

30

1

2

1

w

180

1

2

2

w

Przykład K1, c.d.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie rywalizacyjne WTM

Zasada WTM - neuron zwycięski oraz neurony 
sąsiadujące z neuronem zwycięskim, czyli należące 
do sąsiedztwa N

c

(k), aktualizują swoje wagi według 

zasady:

€ 

wi(k+1) =wi(k)+η(k)G(i,cx(k)−wi(k)

[

], ∈ Nc(k)

Funkcja G oznacza tu wpływ sąsiedztwa.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład uczenia się neuronów dla danych należących 
do R

2

 może być zrealizowany dla danych należących 

do dowolnego zbioru punktów w R

d

 . W trakcie 

procesu uczenia neurony starają się uplasować pośród 
tych punktów–danych i stać się ich reprezentantami. 
W ten sposób cała przestrzeń zostaje podzielona na 
obszary atrakcji odzwierciedlające strefy wpływów 
poszczególnych neuronów. W przypadku używania 
metryki euklidesowej są to obszary wypukłe, które są 
nazywane są czasem wielobokami Voronoia, a 
reprezentujące je wektory — wektorami Voronoia. 
Obszary Voronoia V

i

 są zdefiniowane jako miejsce 

geometryczne punktów x spełniających następujący 
warunek: 

Kwantyzacja przestrzeni danych 
(wieloboki Voronoi)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wieloboki Voronoia utworzone przez 7 wektorów 
kodowych na prostokącie z metryką euklidesową 

Kwantyzacja przestrzeni danych 
(wieloboki Voronoi)

Używanie różnych metryk daje różne postaci 
obszarów atrakcji. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Kohonen nazwał proces tworzenia reprezentantów 
danych kwantowaniem wektorowym (Vector 
Quantization), lub dokładniej: adaptacyjnym 
kwantowaniem wektorowym (LVQ, Learning Vector 
Quantization). 
Wektory wagowe neuronów zostały przez Kohonena 
nazwane słowami kodowymi, codebook vectors, a ich 
zbiór — książką 
kodową, codebook 
W ten sposób cała przestrzeń danych została 
skwantowana; a wektory danych należące do jednego 
wieloboku Voronoia można zastąpić odpowiadającym 
mu słowem kodowym.

Kwantyzacja przestrzeni danych 
(wieloboki Voronoi)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieci Kohonena

(samoorganizujące się)

(Self Organizing Maps – SOM)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieci SOM

Sieci samoorganizujące (SOM-y, Self Organizing 
Maps) realizują głównie dwa zadania:

•Wektorowej kwantyzacji (kompresji danych),

•Odtwarzanie przestrzennej organizacji danych 

wejściowych

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieci Kohonena

Przykładem sieci 
samoorganizującej 
się jest sieć 
Kohonena.

Sieci Kohonena 
(1988), to sieci 
samoorganizujące 
się, które uczą się 
przy pomocy 
algorytmu Kohonena

Jest to sieć jednokierunkowa, złożona z jednej 
warstwy (matrycy, mapy) w której neurony ułożone 
są w pewnym porządku topologicznym (np. wiersze i 
kolumny). Mapa jednowymiarowa to po prostu jeden 
wiersz (kolumna) neuronów.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizująca się Mapa cech 

(SOM)

Mapa cech ilustruje istotne statystycznie parametry (cechy) 
przestrzeni sygnałów wejściowych. Nauczona sieć działa w ten 
sposób, że po prezentacji wektora wejściowego x,  mapa cech Φ 
wskazuje neuron I(xw przestrzeni wyjść, a wektor wag w

I(x

dostarcza informacji o współrzędnych obrazu tego neuronu w 
przestrzeni wejściowej. Zadaniem jest nauczenie sieci będącej mapą 
cech i reprezentującej ciągłą przestrzeń wektorów wejściowych. 

Mapa cech ma niższy 
wymiar i jest mapą 
dyskretną w 
przestrzeni wyjściowej 
utworzonej z 
neuronów 
uporządkowanych w 
postaci matrycy.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizująca się Mapa cech 

(SOM)

Sieci samorganizujące się (SOMy), opracowane przes 
prof. Tuevo Kohonena, wykorzystywane są często do 
wizualizacji danych wielowymiarowych. Pozwalają na 
zredukowanie wymiaru analizowanych danych poprzez 
samouczenie się sieci. 
• SOMy stanowią narzędzie ułatwiające zrozumienie 

(analizę) danych wielowymiarowych (nasze zmysły 
odczytują jedynie  wizualizację max. trzech 
wymiarów).

• SOMy dokonują redukcji wymiarów danych poprzez 

tworzenie map, zazwyczaj jedno- lub dwu- 
wymiarowych, które przedstawiają graficznie 
podobieństwo analizowanych danych grupując 
podobne dane razem.

• SOMy realizują więc dwa zadania: redukują wymiar 

danych i ilustrują graficzne  podobieństwo między 
nimi.

wg Tom Germano

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Mapa cech - ilustracja

Przykład 

(Larose: Data Mining)

Sieć samoorganizująca do 
grupowania rekordów względem 
dwóch zmiennych (atrybutów): wiek 
dochód

Wartości zmiennych są normalizowane.

Każda wartość z każdej zmiennej jest 
kierowana do każdego neuronu 
warstwy wyjściowej (tutaj: krata 2 x 2)

Te wartości, łącznie z wagami poszczególnych połączeń 
wyznaczają wartość tzw. funkcji decyzyjnej (np. odległość 
euklidesowa pomiędzy wektorem wejściowym a wektorem wag) 
dla każdego neuronu wyjściowego.

Neuron wyjściowy z „najlepszą” wartością funkcji decyzyjnej 
staje się neuronem wygrywającym 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizująca sieć (SOM) –WE 

i WY

• WE: dane uczące – wektory x

- Wektory o długości n, złożone z liczb rzeczywistych

  

€ 

x1,1 x1,2 K x1,n

x2,1 x2,1 K x2,n

M

xp,1 xp,2 K xp,n

⎫ 

⎬ 

⎪ 

⎪ 

⎪ 

⎭ 

⎪ 

⎪ 

⎪ 

pwektorów

uczacych

• WY:

- Wektor y o długości m: (y

1

, y

2

, ..., y

m

)

- Każdy z p wektorów danych uczących jest 

klasyfikowany do jednej z klas (klasterów)

Zadania sieci:

• Do jakiej klasy zostanie przypisany dany wektor 

uczący?

• Generalizacja: Do jakiej klasy zostanie 

zakwalifikowany nowy wektor (x

j,1

, x

j,2

, ..., x

j,p

)

wg Hackl

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM – architektura

Jeden wektor wag o długości n skojarzony z każdym z 
neuronów wyjściowych

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM

Wg Fausett (1994)

n=4, m=2

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

Zadaniem sieci jest klasteryzacja danych wejściowych.
Ile jest klas wśród danych wejściowych?

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM - Działanie

Dane uczące:

i1: (1, 1, 0, 0)
i2: (0, 0, 0, 1)
i3: (1, 0, 0, 0)
i4: (0, 0, 1, 1)

Wagi:

Neuron1:
Neuron2:

€ 

0

0 0.5 1.0

1.0 0.5 0

0

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Podobieństwo (odległość) poszczególnych sygnałów 
wejściowych i neuronów. Odległość Euklidesowa

€ 

d2 =

ii,wj,k(t)

(

)

2

k=1

n

Sygnał wejściowy i1:
Odległość sygnału i1 oraz neuronu 1:
(1-0)

2

 + (1-0)

2

 + (0-0.5)

2

 + (0-1.0)

2

 = 3.25

Odległość sygnału i1 oraz neuronu 2:
(1 - 1)

2

 + (1-0.5)

2

 + (0-0)

2

 + (0-0)

2

 = 0.25 (

neuron zwycięzca)

i – nr sygnału WE,
j – nr neuronu WY, 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM - Działanie

Dane uczące:

i1: (1, 1, 0, 0)
i2: (0, 0, 0, 1)
i3: (1, 0, 0, 0)
i4: (0, 0, 1, 1)

Wagi:

Neuron1:
Neuron2:

€ 

0

0 0.5 1.0

1.0 0.5 0

0

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Sygnał wejściowy i2:
Odległość sygnału i2 oraz neuronu 1:
(0-0)

2

 + (0-0)

2

 + (0-0.5)

2

 + (1-1.0)

2

 = 0.25 (

neuron zwycięzca)

Odległość sygnału i2 oraz 
neuronu 2:
(0 - 1)

2

 + (0-0.5)

2

 + (0-0)

2

 + (1-

0)

2

 = 2.25 

Podobnie: odl. I3 vs. N1 -  2.25; i3 vs. N2 – 

0.25

odl. I4 vs. N1 – 

0.25

; i4 vs. N2 – 3.25

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM - Działanie

Dane uczące:

i1: (1, 1, 0, 0)
i2: (0, 0, 0, 1)
i3: (1, 0, 0, 0)
i4: (0, 0, 1, 1)

Wagi:

Neuron1:
Neuron2:

€ 

0

0 0.5 1.0

1.0 0.5 0

0

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Sygnał WE 

WY - Neuron 1

WY – Neuron 2

i1

zwycięski

i2

zwycięski

i3

zwycięski

i4

zwycięski

Wniosek: 
Sieć dzieli dane wejściowe: i2, i4 – klasa1; i1 i i3 – klasa2; 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM - Działanie

Dane uczące:

i1: (1, 1, 0, 0)
i2: (0, 0, 0, 1)
i3: (1, 0, 0, 0)
i4: (0, 0, 1, 1)

Wagi:

Neuron1:
Neuron2:

€ 

0

0 0.5 1.0

1.0 0.5 0

0

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Jak sieć zadziała na inne sygnały niż sygnały uczące?

Nowy wektor wejściowy: i5: (1, 1, 1, 0)

Odległość sygnału i5 oraz neuronu 1:
(1 - 0)

2

 + (1- 0)

2

 + (1- 0.5)

2

 + (0 -1)

2

 = 3.25 

Wniosek: Sieć sklasyfikuje i5 do klasy 2 (tej samej 
co i1 i i3). 
(Prawidłowo, bo  i5 jest bliższe do i1 oraz i3 wg normy 
euklidesowej)

Do której klasy zostanie zakwalifikowany przez sieć?

Odległość sygnału i5 oraz neuronu 2:
(1 - 1)

2

 + (1-0.5)

2

 + (1-0)

2

 + (0-0)

2

 = 1.25 (neuron

 zwycięzca

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie sieci 

samoorganizujących się

Sieci samoorganizujące się (SOM) podlegają trzem 
charakterystycznym procesom:

1. Rywalizacja. Neurony wyjściowe rywalizują ze sobą, by 

uzyskać najlepszą wartość danej funkcji decyzyjnej 
(najczęściej odległości decyzyjnej – odległości między danymi 
wejściowymi a wagami). Wynikiem jest znalezienie neuronu 
zwycięzcy.

2. Współdziałanie. Neuron zwycięzca staje się środkiem 

sąsiedztwa pobudzonych neuronów. 

3. Adaptacja. Neurony z otoczenia neuronu wygrywającego 

uczestniczą w adaptacji, czyli w uczeniu się. Wagi tych 
neuronów są tak dopasowywane, aby zwiększyć jak 
najbardziej wartość funkcji decyzyjnej. W ten sposób 
neurony te będą miały większe szanse na ponowne wygranie 
rywalizacji w przypadku pojawienia się podobnego rekordu 
wejściowego

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Algorytm Kohonena uczenia SOM

• Wybór topologii warstwy wyjściowej sieci

• Dobór promienia sąsiedztwa G(0) (wartość 

dodatnia)

• Inicjacja wartości wag pomiędzy WE i WY (małe, 

wartości losowe)

• t=1

• Dopóki warunek stopu nie jest spełniony, wykonuj:
{

1. Wybierz pierwszy wektor wejściowy i

l

2. Oblicz kwadrat odległości euklidesowej 

pomiędzy i

l  

a wektorem wag w

związanych z 

każdym z węzłów warstwy wyjściowej:

€ 

d2 =

il,wj,k(t)

(

)

2

k=1

m

3. Wybór węzła wyjścia j* dla którego wektor wag 

daje najmniejszą wartość odległości obl. w kroku 
2.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Algorytm Kohonena uczenia SOM

3. Uaktualnienie wag wszystkich węzłów 

znajdujących się w odległości topologicznej G(t) 
od węzła j* wg zależności:

€ 

wj(t+1) =wj(t)+η(t)(il wj,k(t))

4. t = t + 1
}

Współczynnik prędkości uczenia zwykle maleje:

€ 

0<η(t) <η(t−1) <1

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Wg Fausett (1994)

n=4, m=2

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

Czego spodziewamy się na wyjściu sieci?

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Jakie są odległości euklidesowe pomiędzy danymi wejściowymi 
(uczącymi)?

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

Czego spodziewamy się na wyjściu sieci?

i1

i2

i3

i4

i1

0

i2

3

0

i3

1

2

0

i4

4

1

3

0

Najbliższe sobie są i1- i3; i2 – i4

€ 

d2 =

il,ij,k

(

)

2

k=1

n

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

•Zakładamy, że sąsiedztwo wynosi D=0. Czyli tylko 

wagi połączone z neuronem zwycięskim będą 
aktualizowane.

• Przyjmujemy następujące prędkości uczenia:

  

€ 

η(t) =0.6; 1≤≤4

η(t) =0.5η(1); 5≤≤8

η(t) =0.5η(5); 9≤≤12

M

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

€ 

d2 =

il,wj,k(t)

(

)

2

k=1

n

•Zakładamy, przypadkowe wartości macierzy wag 

(między 0 i 1)

Neuron1:
Neuron2:

€ 

0.2 0.6 0.5 0.9
0.8 0.4 0.7 0.3

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

• Aktualizacja wag neuronu zwycięskiego:

€ 

wj(t+1) =wj(t)+η(t)(il wj,k(t))

Zadanie: Policzyć aktualizacje wag dla czterech kolejnych iteracji

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Dane uczące:

I1: (1, 1, 0, 0)
I2: (0, 0, 0, 1)
I3: (1, 0, 0, 0)
I4: (0, 0, 1, 1)

•Sygnał i1, Neuron 1:

Neuron1:
Neuron2:

€ 

0.2 0.6 0.5 0.9
0.8 0.4 0.7 0.3

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

• Aktualizacja wag neuronu zwycięskiego:

(1 – 0.2)

2

 + (1-0.6)

2

 + (0-0.5)

2

 + (0-0.9)

2

 = 

1.86 

•Sygnał i1, Neuron 2:

(1 – 0.8)

2

 + (1-0.4)

2

 + (0-0.7)

2

 + (0-0.3)

2

 = 0.98 

(

neuron zwycięzca

[0.8  0.4  0.7  0.3] + 0.6([1  1  0  1] – [0.8  0.4  0.7  0.3]) = 
= [.92  .76  .28   .12]

itd.............

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład SOM – Uczenie sieci

Neuron1:
Neuron2:

€ 

0.0 0.0 0.5 1.0

1.0 0.5 0.0 0.0

⎡ 
⎣ 

⎢ 

⎤ 
⎦ 

⎥ 

Neurony zwycięskie po czterech iteracjach (prezentacji 
4 danych uczących)

Time (t)

1

2

3

4

D(t)

h

Neuron 

2

0

0.6

Neuron1

0

0.6

Neuron 

2

0

0.6

Neuron 

1

0

0.6

Wynik uczenia (kilkadziesiąt epok uczenia)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład 1D

Jednowymiarowa SOM.
Zadanie – mapa ma reprezentować dane z przestrzeni wejściowej. 
Matryca (o 10 węzłach) ma odwzorowywać topologię sygnałów 
przestrzeni wejść.

Dane wejściowe – 100 punktów rozłożonych równomiernie na 
promieniu okręgu

WE: x=(0.95, 0.1)      

WY: a = 1 dla węzła 10   

10

1

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład 1D – realizacja MATLAB

%% Przykład 1D działania SOM
% Generowanie 100 punktów na promieniu r=1

angles = 0:0.5*pi/99:0.5*pi;
P = [sin(angles); cos(angles)];
plot(P(1,:),P(2,:),'+r')
hold on;
% Mapa SOM 1D o 10-ciu neuronach
net = newsom([0 1;0 1],[10]);
net.trainParam.epochs = 10;
net = train(net,P);
plotsom(net.iw{1,1},net.layers{1}.distances)
pause;
% Testowanie SOM
p = [0.95;0.1];
a = sim(net,p)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech 
istotnych

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Ekstrakcja cech jest istotna w zagadnieniach 
obróbki obrazów podlegających klasyfikacji lub 
rozpoznawaniu. 

W jej wyniku dane wejściowe transformowane są z 
wielowymiarowej przestrzeni obrazów w 
małowymiarową przestrzeń ich cech 
charakterystycznych.

Wykorzystanie samoorganizujących się sieci do 
wydobywania i odwzorowywania istotnych cech 
obrazów wejściowych (tzw. Self Organizing Feature 
Mapping SOFM).

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Obrazy w przestrzeni obrazowej mogą być ułożone 
na dwa sposoby: 
- mogą wykazywać pewną zauważalną, harmonijną 
strukturę

- lub jej nie wykazywać

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Odwzorowywanie cech istotnych interesuje nas w 2 
aspektach:

•  redukcji wymiarów przy przenoszeniu wektorów 

wejściowych z przestrzeni obrazów do przestrzeni 
cech

• uzyskanie w przestrzeni cech możliwie 

harmonijnej struktury danych, niezależnie od 
złożoności struktury danych pierwotnych.

Podstawą koncepcji sieci odwzorowującej cechy jest 
uporządkowanie neuronów wzdłuż linii lub na 
płaszczyźnie. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych – Mapy SOM Kohonena

Dla prawidłowego działania sieci odwzorowanie 
powinno zachowywać topologię, czyli relację 
sąsiedztwa: podobne obrazy wejściowe powinny 
aktywizować sąsiednie neurony i odwrotnie: z 
pobudzenia sąsiednich neuronów musi wynikać 
podobieństwo obrazów wywołujących to pobudzenie 
(podobieństwo topologiczne)

Węzły, które są “blisko” reagują inaczej, niż te 
“dalekie” sobie.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Uczenie przebiega iteracyjnie wg następującego algorytmu (N - 
liczba iteracji):
 
1. Budowa matrycy. Inicjacja wag każdego węzła.
2. Prezentacja wektora wejściowego wybranego losowo spośród 

zbioru danych uczących.

3. Każdy węzeł matrycy jest sprawdzany pod kątem 

podobieństwa wag do wektora wejściowego. Węzeł, którego 
wagi są najbliższe wektorowi wejściowemu staje się węzłem 
zwycięskim BMU (Best Matching Unit).

4. Obliczany jest promień sąsiedztwa BMU. Wartość tego 

promienia początkowo jest stosunkowo duża (zazwyczaj 
odpowiada promieniowi kratownicy), a następnie w 
zmniejszana w kolejnych iteracjach. Każdy z węzłów 
znajdujących się wewnątrz obszaru wyznaczonego przez ten 
promień uważany jest jako sąsiad BMU.

5. Wagi każdego z sąsiadujących węzłów (znalezionych w kroku 

4) są uaktualniane tak, by były jak najbardziej podobne do 
wektora wejściowego. Im dany węzeł jest bliżej BMU, tym 
większa jest poprawka wag. 

6. Punkty 2-5 powtarzane są N razy.

Algorytm Kohonena

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Algorytm Kohonena uczenia SOM

Uwagi:

• Topologia warstwy wyjściowej sieci decyduje o 

tym, które neurony są w sąsiedztwie

• Funkcja D(t) definiuje zakres sąsiedztwa 

danego neuronu w funkcji iteracji (czasu) 
algorytmu uczenia. Np.:

Jeżeli D(t) =1 i gdy neuronem zwycięzcą jest 
B, wówczas uaktualniane są wagi neuronów B 
i A. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych – Mapy SOM Kohonena

Np. Jeżeli x1 i x2 są dwoma wektorami wejściowymi, a 
t1 i t2 są wyjściami odpowiadającymi zwycięskim 
węzłom wyjściowym, wówczas t1 i t2 powinny być 
położone blisko siebie, jeżeli x1 i x2 są do siebie 
podobne. 
Sieć, która realizuje taki rodzaj mapowania, jest 
nazywana mapą cech. W mózgu neurony dążą do 
łączenia się w klastry. Połączenia wewnątrz klastra są 
znacznie silniejsze niż z tymi spoza grupy. Sieć 
Kohonena stara się to naśladować w stosunkowo prosty 
sposób.

Celem jest wytrenowanie 
sieci w ten sposób, by 
położone blisko siebie 
węzły  wyjściowe (neurony) 
odpowiadają sąsiednim 
wejściom.
Ale co oznacza “daleki” i 
“bliski”?

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Odwzorowania przestrzeni obrazów w przestrzeń cech 
dokonuje tak zwana mapa cech – liniowa lub planarna 
warstwa neuronów, z których każdy połączony jest z 
wejściem i którego odpowiedź jest funkcją 
podobieństwa między jego wektorem wag a aktualnym 
wektorem wejściowym.
Liczba składowych wektora 
wejściowego wynosi n i może 
być duża.

Wymiarowość przestrzeni cech 
przyjęto jako dwa (z nadzieją, 
że odpowiada naturalnej 
wymiarowości obrazu 
wyrażającej jego cechy istotne
)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Przykład odwzorowania cech obrazu wejściowego 
prostokąt matrycy neuronów 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Planarna matryca neuronów reaguje „bąblem 
aktywności”, którego maksimum wypada w miejscu 
maksymalnego pobudzenia wejściowego.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Mapy cech (SOM – 2D)

Mapy SOM często występują w postaci map 2D 
o odpowiedniej topologii neuronów wyjściowych

Takie sieci SOM mogą być w pełni 
interpretowane jako mapy cech istotnych.

Mapy te reprezentowane są poprzez matryce 
neuronów wyjściowych o pewnej, zdefiniowanej 
z góry topologii.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Najczęściej stosowane są matryce prostokątne lub 
sześciokątne. 
(nie ma połączeń pomiędzy neuronami - tylko dla 
ilustracji rozmieszczenia neuronów
)

Budowa matrycy

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Na wstępie procesu uczenia, wszystkim wagom 
każdego z węzłów muszą być przypisane pewne 
wartości początkowe.

Zazwyczaj, wartości te są wybierane w sposób losowy 
w zakresie 0<w<1. 

Inicjacja wag

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Aby znaleźć zwycięski neuron (BMU – Best Matching 
Unit) przeszukujemy wszystkie węzły dla których 
obliczamy odległość euklidesową pomiędzy wektorem 
wag każdego z węzłów i aktualnie prezentowanym 
wektorem wejściowym. Węzeł którego wektor wag jest 
najbliższy wektorowi wejściowego typowany jest jako 
węzeł zwycięski (BMU). 

Odległość euklidesowa określana jest zależnością:

Poszukiwanie neuronu zwycięzcy 

(BMU)

€ 

d=

(x

i

w

i

)

2

i=1

n

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład:

Obliczyć odległość pomiędzy wektorem wejściowym 
(1,0,0) i losowo wybranego wektoru wagi (0.1, 0.4, 
0.5)

d = sqrt( (1 - 0.1)

2

 + (0 - 0.4)

2

+ (0 - 0.5)

2

 )

               = sqrt( (0.9)

2

 + (-0.4)

2

+ (-0.5)

2

 )

               = sqrt( 0.81 + 0.16+ 0.25 )
                = sqrt(1.22)
d  = 1.106

Poszukiwanie neuronu zwycięzcy 

(BMU)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sąsiedztwo BMU

Różny promień sąsiedztwa

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sąsiedztwo BMU

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

W każdej iteracji, po 
znalezieniu neuronu 
zwycięzcy BMU, wyznaczane 
jest jego sąsiedztwo.

Wagi wszystkich węzłów 
znajdujących się wewnątrz 
tego promienia są 
uaktualniane w kolejnym 
kroku. 

Definiujemy wartość tego 
promienia, a następnie 
sprawdzamy, który z węzłów 
znajduje się w jego wnętrzu.

Wyznaczenie sąsiedztwa BMU

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Neuron zwycięski jest środkiem obszaru sąsiedztwa
W algorytmie Kohonena uczenia sieci, obszar 
sąsiedztwa kurczy się w kolejnych iteracjach. 

Można to zrealizować poprzez zastosowanie 
następującej funkcji (tzw. rozpadu wykładniczego):

σ

0

 – początkowa szerokość kratownicy, λ – stała 

czasowa, t – aktualna chwila czasu (iteracja). Wartość λ 
zależy od σ oraz założonej liczby  iteracji.

Wyznaczenie sąsiedztwa BMU

  

€ 

σ(t)=σ

0

exp−

t

λ

⎛ 
⎝ 

⎜ 

⎞ 
⎠ 

⎟ 

=1,2,3K

W praktyce BMU zmienia 
pozycję w kolejnych 
prezentacjach sygnałów 
wejściowych

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

W ostateczności, sąsiedztwo skurczy się do wymiaru 
jednego węzła …. neuronu zwycięzcy.

Wyznaczenie sąsiedztwa BMU

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wagi każdego węzła z sąsiedztwa BMU (w tym 
również BMU) są aktualizowane zgodnie z 
zależnością:

L(t) – tzw.prędkość uczenia (malejąca) jest pewną 
zmienną, której wartość maleje w funkcji czasu 
(liczby iteracji). 

Aktualizacja wag

€ 

W(t+1)=W(t)+L(t)(X(t)−W(t))

  

€ 

L(t)=L

0

exp−

t

λ

⎛ 
⎝ 

⎜ 

⎞ 
⎠ 

⎟ 

=1,2,3K

L

0

 – wartość początkowa, zazwyczaj 0.1 (maleje do 

zera)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Aby uwzględnić wpływ położenia danego węzła od 
centrum, czyli BMU, w sposób podobny do rozkładu 
Gaussa, wzór uaktualniania wag przyjmuje postać:

Aktualizacja wag

€ 

W(t+1)=W(t)+Θ(t)L(t)(X(t)−W(t))

  

€ 

Θ(t)=exp−

d

2σ

2

(t)

⎛ 
⎝ 

⎜ 

⎞ 
⎠ 

⎟ 

=1,2,3K

d – odległość węzła od BMU, σ – promień sąsiedztwa 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych

Warunki samoorganizacji kohonenowskiej mapy cech 
są następujące:

każdy z neuronów jest pobudzany wystarczającą 

liczbę razy,

korekcji podlegają tylko wagi w pobudzonym 

sąsiedztwie,

korekcja jest proporcjonalna do pobudzenia 

neuronu.

Jeżeli w rzeczywistych sytuacjach występuje jakaś 
naturalna kolejność pojawiania się obrazów, to należy 
to uwzględnić przy konstrukcji ciągu uczącego.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych

Dygresja

Normalizacja zmiennych

Zmienne ciągłe:



x* 

x x

min

x

max

 x

min

Zmienne lingwistyczne:
Np.: Pogoda: słońce, pochmurno, deszcz
(1; 0.5; 0)

Zmienne lingwistyczne:
Np.: Stan cywilny: żonaty, rozwiedziony, w separacji, 
kawaler, wdowiec, stan nieznany
(1; 0.8; 0.6; 0.4; 0.2; 0) 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy 
cech istotnych

(SOFM – Self-Organizing Feature 
Maps)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieci SOM oraz SOFM zostały opracowane przez 
Kohonena. 

Są to narzędzia pozwalające na odwzorowanie 
wielowymiarowych danych w obrazy o znacznie 
mniejszym wymiarze – zazwyczaj jedno- lub dwu- 
wymiarowe.

Proces redukcji wymiaru wektorów jest równoważny 
kompresji danych (kwantyzacja wektorów). 

Sieć Kohonena przechowuje informacje w ten 
sposób, że zachowany jest każdy topologiczny 
związek istniejący pomiędzy zbiorem danych 
uczących.

Idea SOM

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład mapowania kolorów opisanych przy pomocy 
trójwymiarowego wektora trzech podstawowych składowych 
RGB (czerwony, zielony, niebieski) na obszar dwu- wymiarowy.

Idea SOM - przykład

Sieć SOM była trenowana 
tak, by rozpoznać 8 
różnych kolorów (prawa 
strona). Kolory były 
prezentowane sieci w 
postaci wektorów 3D 
(składowe wektora to 
wartości RGB). Sieć 
nauczyła się tych kolorów, 
przedstawiając je na 
płaszczyźnie (2D).  

Kolory zostały pogrupowane (sklasteryzowane) w wyraźnie osobne 
grupy. Grupy o zbliżonych cechach znajdują się w bliskim 
sąsiedztwie. Jest to cecha map Kohonena

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Sieć 2D:

- Sieć składa sią z warstwy 

wejściowej i wyjściowej (nie ma 
warstwy ukrytej)

- Warstwa wyjściowa stanowi 

“matrycę” 2D złożoną z “węzłów”

- Każdy węzeł połączony jest z 

warstwą wejściową

Prosta sieć Kohonena 
WE – wektor 
dwuwymiarowy, 
WY- sieć 4 x 4 węzły 

Architektura sieci

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Jeżeli dane wejściowe złożone są z 
n wymiarowych wektorów X:

x

1

, x

2

, ... x

n

wówczas każdy węzeł ma 
przypisany wektor wag W o 
rozmiarze n (o tym samym 
rozmiarze jak wektor wejściowy):

w

1

, w

2

, ... w

n

Prosta sieć Kohonena 
WE – wektor 
dwuwymiarowy, 
WY- sieć 4 x 4 węzły 

Architektura sieci

Linie pomiędzy węzłami ilustrują 
jedynie sąsiedztwo, a nie oznaczają 
połączeń między nimi. Węzły nie są 
połączone między sobą w 
płaszczyźnie matrycy na której się 
znajdują.

Każdy węzeł ma topologicznie 
uwarunkowaną specyficzną 
pozycję (współrzędne x, y na 
płaszczyźnie siatki (matrycy).

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM posiada siatkę o 
wymiarach 40x40. 

Każdemu z węzłów siatki 
odpowiadają 3 wagi powiązane 
z elementami wektora 
wejściowego: czerwony, 
zielony i niebieski.

Każdy z węzłów jest 
reprezentowany przez 
prostokątną komórkę.
  

Architektura sieci

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM należą do sieci samouczących (nie znają wzorców).

Jeżeli wagi danego węzła odpowiadają wektorowi wejściowemu, 
odpowiadający obszar kratownicy podlega optymalizacji 
(ulepszeniu) tak, by jeszcze lepiej odzwierciedlać klasę, do której 
należy ten wektor wejściowy.

Uczenie sieci

Początkowo wagi mają wartości przypadkowe. Po kolejnych 
iteracjach SOM zazwyczaj osiąga stan stabilnych obszarów. 
Każdy z obszarów jest klasyfikatorem danej cechy. W ten sposób 
wyjście graficzne może być traktowane jako pewnego rodzaju 
mapę cech przestrzeni wektorów wejściowych. 

Bloki podobnych kolorów są 
reprezentowane przez indywidulne 
strefy. Jakikolwiek nowy, nie 
prezentowany wcześniej sieci wektor 
wejściowy pobudzi węzły w strefie o 
zbliżonych wagach.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

SOM mogą być stosowane do wizualizacji zależności 
pomiędzy danymi wielowymiarowymi. Przykład - Mapa 
biedy (bogactwa) świata.Polega na sklasyfikowaniu 
(pogrupowaniu w klastry) danych statystycznych 
opisujących różne parametry jakości życia – zdrowie, 
wyżywienie, dostęp do edukacji, itp. 

SOM utworzono przy pomocy sześciokątnej siatki. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

http://www.ai-junkie.com/a
nn/som

 

Kraje o zbliżonym poziomie życia są sklasyfikowane w odrębne 
klastry. Kraje o wyższym poziome znajdują się w lewym górnym 
rogu, a najbiedniejsze w prawym, dolnym rogu. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Po utworzeniu SOM łatwo przenieść otrzymaną 
klasyfikację na mapę geograficzną świata:

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Mapa Kohonena obrazująca 
zgrupowania 49 województw 
polskich  ze względu na 9 cech 
socjo-ekonometrycznych.
 Niektóre węzły mapy pozostały 
puste, inne wektory kodowe 
zdołały przyciągnąć po kilka 
punktów-województw 

Siatka składa się z obszarów heksagonalnych, w 
których środkach znajdują się wektory referencyjne 
odpowiadające wektorom kodowym umiejscowionym 
w R

9

.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Odległości między wektorami w

i

 

są obrazowane odcieniami 
szarości na mapie: obszary 
bliskie są jasne,
ciemny kolor oznacza duże 
odległości, a więc może 
oznaczać granice
klastrów z R

9

.

Na utworzonej mapie właściwe heksagony (j) 
zawierające węzły mapy (6 x 6) są otoczone 
dodatkowymi heksagonami pokazującymi 
kolorystycznie, jaka jest średnia odległość wektora 
kodowego (j) od sąsiadujących z nim wektorów 
kodowych.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Mając klucz do województw 
możemy próbować 
interpretować powstałe 
zgrupowania. Punkty 1 i 24 to 
województwa Warszawskie i 
Łódzkie. Punkty 18 i 47 to 
Kraków i Wrocław; punkt 32: 
Poznań; punkt 3  i 22 to 
Białystok i Lublin; punkt 10: 
Gdynia-Gdańsk.

Wszystkie te punkty to miasta uniwersyteckie z 
pewną tradycją. Tworzą one wyraźny klaster, 
oddzielony od pozostałych punktów zatoką pustych 
węzłów.
Pozostałym, widocznym na mapie klastrom, można 
przypisać również ciekawą interpretację.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Mapa na siatce 10 x 10  
otrzymana z tych samych 
danych. W obu mapach 
początkowe wagi (czyli 
prototypy danych) były 
inicjowane losowo. W 
rezultacie powstałe mapy 
są do pewnego stopnia 
"podobne" (są podobne 
topologicznie).

Położenie "geograficzne" 
punktów na mapie jest 
odmienne na obu mapach. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Punkty 43 i 25 są położone w przeciwległych 
narożnikach. Punkty 8, 15, 30, 38 z północno-
zachodniego narożnika mapy 6 x 6 pojawily się w 
przeciwległym narożniku drugiej mapy ulegając 
rozbiciu: tylko punkty (8, 30) znalazły się w narożniku 
południowo-zachodnim tej mapy

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Tabela klasyfikacji zwierząt - 16 zwierząt, 13 cech (wg 
Yuji Matsumoto, Motohide Umano and Masahiro 
Inuiguchi)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Zastosowanie SOM

Wizualizacja klasyfikacji zwierząt 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład 2D

Sieć SOM 2D.
Zadanie – Sieć ma nauczyć się odwzorowania 1000 punktów 
rozmieszczonych w prostokącie. Matryca 5 x 6 (30 węzłów)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład 2D, c.d.

Wynik uczenia

po 1 epoce

Po 100 epokach

WE: x=(0, 0)      
WY: a = 1 dla węzła 18   

18

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład 2D – realizacja MATLAB

%% Przykład SOM 2D
% Zadanie - klasyfikacja 1000 dwu-el. wektorów z obszaru 
prostokątnego

P = rands(2,1000);
plot(P(1,:),P(2,:),'+r')
% Sieć neuronowa zbudowana z matrycy 5 x 6 
net = newsom([0 1; 0 1],[5 6]);
plotsom(net.iw{1,1},net.layers{1}.distances)
net.trainParam.epochs = 1;
net = train(net,P);
plotsom(net.iw{1,1},net.layers{1}.distances)
% Test sieci SOM
p = [0.0;0.0];
a = sim(net,p)

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM - podsumowanie

Gdy sieć SOM została nauczona, mapa cech przedstawia 
statystyczne istotne cechy przestrzeni wejściowej. Po zadaniu 
wektora wejściowego x, mapa cech odpowiada neuronem 
zwycięzcą I(x) w przestrzeni wyjściowej (matrycy), a wektor 
odpowiada współrzędnym obrazu tego neuronu w przestrzeni 
wejść.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM - własności

1. Aproksymacja przestrzeni wejściowej

Mapa cech reprezentowana przez wektory wag {w

i

w przestrzeni wyjść stanowi dobrą aproksymację 
przestrzeni wejść. 

SOM można potraktować jako reprezentację licznego zbioru 
wektorów wejściowych{x} poprzez określenie mniej licznego 
zbioru prototypów {w

i

} które stanowią dobrą aproksymację 

oryginalnej przestrzeni wejść. 

Można to porównać do “kwantyzacji wektora”, polegającej na 
redukcji wymiaru (kompresji danych). 

Jakość aproksymacji można ocenić poprzez

€ 

xw

I(x)

2

x

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

SOM – własności (2)

2. Topologiczny porządek

Mapa cech utworzona przez SOM zachowuje 
porządek topologiczny w tym sensie, że położenie 
neuronu w warstwie wyjściowej odpowiada 
odpowiedniej własności wzorca wejściowego. 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Tyle na dzisiaj

Opracowane na podstawie:
Osowski
Bullinaria
Bartkowiak

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Kolejne slajdy 
- junk do wykorzystania

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych

Uczenie w samoorganizujących się mapach cech 
istotnych przebiega wg zasad rywalizacji. 

Prawa zwycięzcy przypadają też neuronom z 
sąsiedztwa S

m

.

Promień sąsiedztwa S

m

 powinien maleć w trakcie 

procesu uczenia.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych

Algorytm uczenia (Kohonen, 1990) dla planarnej 
warstwy neuronów z sześciokątnym sąsiedztwem.
Algorytm nie przewiduje połączeń lateralnych, a efekt 
„kapelusza meksykańskiego” uzyskuje się przez 
odpowiednią korektę wag wokół „zwycięzcy”:



x w

m

min x w

i

i

a promień sąsiedztwa S

m 

maleje wraz z uczeniem.

Reguła modyfikacji wag ma postać:



w

i

(t) 

(S

i

,tx(t) w

i

(t)

,

 S

m

(t)

Gdzie funkcja uczenia a  przybiera wartości z przedziału



0

(S

i

,t) 1

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych, przykład

Przykład:
Odwzorowanie pięciowymiarowych wektorów. Zbiór 
uczący zawiera 32 wektorów:

Prostokątna mapa cech składa się z 70 neuronów, 
każdy połączony pięcioma wagami ze składowymi x

1

,

 

x

2

, ,..., x

5

.

 

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych, przykład

Uczenie polegało na podawaniu przypadkowo 
wybranych wektorów x

A

,

 

..., x

6

.

 

Po 10 000 kroków wagi 
ustabilizowały się i sieć 
została wykalibrowana, tzn. 
w trakcie podawania 
kolejnych wektorów ten z 
neuronów, który na dany 
wektor zareagował najsilniej, 
został opisany jego 
symbolem. 32 neurony 
zostały oznakowane, a 38 
pozostało „martwych”.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Neuron typu INSTAR został zdefiniowany przez 
Grossberga w roku 1983. 

N

j

j

ij

i

x

w

s

1

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

 - stała uczenia, 
Dane wejściowe x podaje się zazwyczaj w postaci 
unormowanej tak, aby ||x|| = 1. 

W zależności od przyjętej funkcji aktywacji na wyjściu 
neuronu wytwarzany jest sygnał wyjściowy y

= f(s

i

). W 

instarze często funkcja aktywacji jest liniowa i wtedy y

i

 

=s

i

Uczenie instara odbywa się według reguły 
Grossberga:

)]

(

[

)

(

)

1

(

k

w

x

y

k

w

k

w

ij

j

i

ij

ij

2

2

2

2

1

N

j

j

x

x

x

x

x

Instar Grossberga



 (0,1)

Normalizacja składowych wektora x:

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wynik uczenia metodą Grossberga jest zależny od stałej 
uczenia h. 

Przy wyborze h = 1 wagi w

ij

 przyjmują wartości x

i

 już po 

pierwszej iteracji. Podanie następnego wektora 
wejściowego x powoduje dopasowanie wag do nowego 
wektora i pełne zapomnienie poprzednio nauczonej 
wartości. Wybór wartości h < 1 powoduje, że w wyniku 
uczenia wagi w

ij

 przyjmują wartości uśrednione 

wektorów uczących x

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Załóżmy, że i-ty instar został wytrenowany na danym 
znormalizowanym względem jedności wektorze 
wejściowym x

1

W tym przypadku wektor wag równy jest wektorowi 
uczącemu x

1

. Wektor wag spełnia relację: 

)]

(

[

k

w

x

y

w

ij

j

i

ij

Instar Grossberga

1

2

1

]

,

,

,

[

x

w

T

iN

i

i

w

w

w

wynika to z reguły Grossberga, wg 
której:

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

W trybie testowania, po podaniu wektora 
wejściowego x

2

 instar o liniowej funkcji aktywacji 

wytwarza sygnał: 

Ponieważ amplitudy wektorów wejściowych są 
unormowane, więc równanie przyjmuje postać: 

Jeżeli zachodzi warunek x

2

 = x

1

, odpowiedzią instara 

będzie n

i

 = 1.

W przypadku różnicy między wektorami wejściowymi, 
odpowiedź instara będzie proporcjonalna do cosinusa 
kąta między obydwoma wektorami wejściowymi. Dla 
wektorów ortogonalnych względem siebie n

i

 = 0

Instar Grossberga

)

cos(

2

,

1

2

1

2

1

2

x

x

x

x

x

w

T

T

i

i

s

y

)

cos(

2

,

1

i

s

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wytrenowany instar działa jak klasyfikator 
wektorowy, porównujący aktualny wektor podany na 
wejście z wektorem nauczonym. W przypadku 
największej zgodności tych wektorów odpowiedź 
instara jest najsilniejsza (najbliższa jedności). 

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Jeżeli instar wytrenowany został na grupie wektorów 
zbliżonych do siebie ze stałą h < 1, wówczas jego 
wagi przyjmują wartości uśrednione tych wektorów i 
w trybie odtworzeniowym będzie on odpowiadał 
najsilniej na wektory wejściowe zbliżone do grupy 
wektorów, na których był trenowany.

Uczenie instara może również odbywać się z 
nauczycielem. 

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Przykład:
Uczenie instara o 4 wejściach i skokowej funkcji 
aktywacji. Instar uczony jest z nauczycielem, a 
wektory uczące xt wynoszą:

0

1

3256

.

0

7400

.

0

1000

.

0

5800

.

0

7481

.

0

5

.

0

3482

.

0

2630

.

0

2

1

2

1

t

t

x

x

Wartość progową skokowej funkcji aktywacji przyjęto T 
= –0.95, co oznacza, że sygnał wyjściowy neuronu 
równa się 1, gdy n

i

    0.95, a więc jest bliski wartości 

1. Przy zerowych wartościach początkowych wag i 
stałej uczenia h = 0.4w trybie uczenia z nauczycielem 
wartość ustalona wag została osiągnięta po 10 cyklach 
uczenia. 

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Wynik uczenia:

7436

.

0

4970

.

0

3461

.

0

2614

.

0

w

Stanowi bliską replikę pierwszego wektora 
wejściowego x

1

. Przy wyborze stałej uczenia h = 0.75 

neuron został wytrenowany już po 4 cyklach uczenia. 
Wektor x

2

 w trybie uczenia z nauczycielem, wobec t

2

=0, 

nie ma żadnego wpływu na wynik uczenia.
W odtworzeniowym trybie  pracy podanie na wejście 
wektora x

generuje n

1

=0.9940, co odpowiada wartości 

sygnału wyjściowego równego 1. 
Podając na wejście wektor x

otrzymujemy n

2

=0.7961 < 

0.95 (wartość progowa T), co daje zerową wartość 
sygnału wyjściowego neuronu.

Instar Grossberga

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Samoorganizujące się mapy cech istotnych

W wykładach wykorzystano:
J. Żurada, M. Barski, W. Jędruch, Sztuczne sieci 
neuronowe, Wydawnictwo Naukowe PWN, Warszawa 
1996

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Budowa regularnych sieci neuronowych do ekstrakcji 
cech wzorowana jest na biologicznych wzorcach. 
Przykład: mapa retinotopowa

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Mapa retinotopowa odwzorowuje 
siatkówkę oka w korze mózgowej. Jest 
utworzona przez dwuwymiarowe 
warstwy neuronów gęsto połączonych 
lateralnymi synapsami zwrotnymi.

Charakter sprzężenia zależy od 
odległości

Bezpośrednie 
sąsiedztwo o 
promieniu 50-100 
mm to połączenia 
pobudzające. 
Dalej 200-500 mm – 
słabsze, pobudzenia 
hamujące

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Algorytm Kohonena

Dla każdego wektora wejściowego x wykonaj:
1. Rywalizacja. Dla każdego neuronu wyjściowego j oblicz 

wartość funkcji decyzyjnej, np. odległość euklidesową:

Znajdź neuron wygrywający J, który minimalizuje D po 
wszystkich neuronach wyjściowych.

2. Współdziałanie. Zidentyfikuj wszystkie neurony wyjściowe j 

z otoczenia neuronu J, określone przez sąsiedztwo R. Dla tych 
węzłów wykonaj adaptację wag dla wszystkich składowych 
rekordu wejściowego:

Adaptacja. Aktualizuj wagi:

3. Dopasuj, jeżeli trzeba, współczynnik uczenia i rozmiar 

sąsiedztwa

4. Zatrzymaj, jeżeli spełnione są warunki stopu.



D(w

j

,x

n

)

i

(w

ij

 x

ni

)

2



wij(t1)wij(t)

(xij  wij(t))

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Regułę Kohonena można zapisać następująco:

– oznacza krok uczenia

Postać funkcji aktywacji neuronu nie ma znaczenia dla 
reguły Kohonena. Zazwyczaj jest to funkcja 
sigmoidalna.
Istotną sprawą jest dobór początkowych wartości wag i 
stałej uczenia. 

m

i

k

i

k

i

k
m

k
m

k
m

k
m

k

k
m

k
m

,

ˆ

ˆ

ˆ

ˆ

ˆ

),

ˆ

(

ˆ

1

1

1

1

1

w

w

w

w

w

w

x

w

w

Klasyfikator Kohonena

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Rozkład prawdopodobieństwa obrazów w grupie nie jest 
jednak znany i w konkretnym kroku uczenia mamy do 
czynienia tylko z pojedynczą realizacją wektora x
Dlatego poprawki dokonuje się przy użyciu tylko części 
obserwowanej różnicy x - 

m

w

ˆ

Klasyfikator Kohonena

Poprawka wag wynosi:

)

ˆ

(

ˆ

m

m

w

x

w

Gdzie a jest stałą uczenia, 0.1 < a < 0.7.

background image

Podstawy Sztucznej Inteligencji

Jan Kusiak

Odwzorowywanie cech istotnych

Dla prawidłowego działania sieci odwzorowanie 
powinno zachowywać topologię, czyli relację 
sąsiedztwa: podobne obrazy wejściowe powinny 
aktywizować sąsiednie neurony i odwrotnie: z 
pobudzenia sąsiednich neuronów musi wynikać 
podobieństwo obrazów wywołujących to 
pobudzenie.

W przypadku jednowymiarowym można to 
formalnie zapisać następująco: jeżeli zbiór obrazów 
wejściowych

  

€ 

{x

i

:=1,2,K }

jest uporządkowany w sposób rosnący ze względu 
na pewną cechę oraz

  



{y

j

i

 max

j1,2,3,K n

y

j

(x

i

)}

to zachodzą relacje:  

  

€ 

j

1

<j

2

<j

3

<K


Document Outline