Podstawy Sztucznej Inteligencji
Jan Kusiak
Sieci samoorganizujące
się
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
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.
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
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.
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
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.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Gdy cos y
2
> cos y
1
(y
2
< 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
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
Podstawy Sztucznej Inteligencji
Jan Kusiak
Uczenie rywalizacyjne
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.
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.
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
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)+η(k) x(k)−wc(k)
[
]
Współczynnik uczenia η(k) jest na ogół malejącą
funkcją numeru iteracji k
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
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
x max
i1,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=wTx= w x cos(ϕ)
x
w
φ
Gdy φ = 0, cos(φ ) = 1 = max
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
x max
i1,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)
€
wk = wk1,wk2,K ,wkJ
[
]T
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
(t1) 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 :
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
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
=wTx= w 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.
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ę.
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
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.
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
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.
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
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.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Po ok. 100 iteracjach, współrzędne wag wskazują
grupy danych wejściowych
Przykład WTA2, c.d.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Sieć Kohonena (1988) klasyfikuje wektory wejściowe na
p 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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Załóżmy, że w danym kroku znormalizowany wektor
wejściowy daje największy iloczyn skalarny z
wektorem .
m
w
x ˆ
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
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
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
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.
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.
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.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Przebieg procesu uczenia
można prześledzić w tabeli:
Przykład K1, c.d.
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.
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,c) x(k)−wi(k)
[
], i ∈ Nc(k)
Funkcja G oznacza tu wpływ sąsiedztwa.
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)
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.
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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Sieci Kohonena
(samoorganizujące się)
(Self Organizing Maps – SOM)
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
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.
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(x) w 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.
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
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
i 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
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 x jest
klasyfikowany do jednej z m 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
Podstawy Sztucznej Inteligencji
Jan Kusiak
SOM – architektura
Jeden wektor wag o długości n skojarzony z każdym z
neuronów wyjściowych
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?
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,k −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,
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
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;
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
)
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
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
j
związanych z
każdym z węzłów warstwy wyjściowej:
€
d2 =
il,k −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.
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
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?
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,k −ij,k
(
)
2
k=1
n
∑
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≤t ≤4
η(t) =0.5η(1); 5≤t ≤8
η(t) =0.5η(5); 9≤t ≤12
M
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,k −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
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.............
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)
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
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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Odwzorowywanie cech
istotnych
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).
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ć
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.
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.
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
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.
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”?
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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Odwzorowywanie cech istotnych
Przykład odwzorowania cech obrazu wejściowego x w
prostokąt matrycy neuronów
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.
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.
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
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
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
∑
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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Sąsiedztwo BMU
Różny promień sąsiedztwa
Podstawy Sztucznej Inteligencji
Jan Kusiak
Sąsiedztwo BMU
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
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
λ
⎛
⎝
⎜
⎞
⎠
⎟
t =1,2,3K
W praktyce BMU zmienia
pozycję w kolejnych
prezentacjach sygnałów
wejściowych
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
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
λ
⎛
⎝
⎜
⎞
⎠
⎟
t =1,2,3K
L
0
– wartość początkowa, zazwyczaj 0.1 (maleje do
zera)
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)
⎛
⎝
⎜
⎞
⎠
⎟
t =1,2,3K
d – odległość węzła od BMU, σ – promień sąsiedztwa
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.
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)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Samoorganizujące się mapy
cech istotnych
(SOFM – Self-Organizing Feature
Maps)
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
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
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
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).
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
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.
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.
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.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Zastosowanie SOM
Po utworzeniu SOM łatwo przenieść otrzymaną
klasyfikację na mapę geograficzną świata:
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
.
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.
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ę.
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.
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
Podstawy Sztucznej Inteligencji
Jan Kusiak
Zastosowanie SOM
Tabela klasyfikacji zwierząt - 16 zwierząt, 13 cech (wg
Yuji Matsumoto, Motohide Umano and Masahiro
Inuiguchi)
Podstawy Sztucznej Inteligencji
Jan Kusiak
Zastosowanie SOM
Wizualizacja klasyfikacji zwierząt
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)
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
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)
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 w
odpowiada współrzędnym obrazu tego neuronu w przestrzeni
wejść.
.
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
€
D = x−w
I(x)
2
x
∑
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.
Podstawy Sztucznej Inteligencji
Jan Kusiak
Tyle na dzisiaj
Opracowane na podstawie:
Osowski
Bullinaria
Bartkowiak
Podstawy Sztucznej Inteligencji
Jan Kusiak
Kolejne slajdy
- junk do wykorzystania
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.
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
,t) x(t) w
i
(t)
,
i S
m
(t)
Gdzie funkcja uczenia a przybiera wartości z przedziału
0
(S
i
,t) 1
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
.
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”.
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
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
i
= 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:
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
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:
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
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
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
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 xi t 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.4, w trybie uczenia z nauczycielem
wartość ustalona wag została osiągnięta po 10 cyklach
uczenia.
Instar Grossberga
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
1
generuje n
1
=0.9940, co odpowiada wartości
sygnału wyjściowego równego 1.
Podając na wejście wektor x
2
otrzymujemy n
2
=0.7961 <
0.95 (wartość progowa T), co daje zerową wartość
sygnału wyjściowego neuronu.
Instar Grossberga
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
Podstawy Sztucznej Inteligencji
Jan Kusiak
Odwzorowywanie cech istotnych
Budowa regularnych sieci neuronowych do ekstrakcji
cech wzorowana jest na biologicznych wzorcach.
Przykład: mapa retinotopowa
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
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(t1)wij(t)
(xij wij(t))
Podstawy Sztucznej Inteligencji
Jan Kusiak
Regułę Kohonena można zapisać następująco:
k – 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
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.
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
:i =1,2,K }
jest uporządkowany w sposób rosnący ze względu
na pewną cechę oraz
{y
j
i
max
j1,2,3,K n
y
j
(x
i
)}
to zachodzą relacje:
€
j
1
<j
2
<j
3
<K