Sieci Kohonena. Sieci samouczące się. Teuvo Kohonen... Struktura sieci Kohonena. Typowe zastosowanie SOM

Podobne dokumenty
SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Lekcja 5: Sieć Kohonena i sieć ART

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Wprowadzenie. SOM jest skrótem od Self Organizing Maps, czyli Samoorganizujące się mapy.

Sieci Kohonena Grupowanie

Adrian Horzyk

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania

8. Neuron z ciągłą funkcją aktywacji.

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

SIECI RBF (RADIAL BASIS FUNCTIONS)

Sieci neuronowe w Statistica

Zastosowania sieci neuronowych

Hierarchiczna analiza skupień

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

SZTUCZNA INTELIGENCJA

Metody Sztucznej Inteligencji II

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Monitorowanie i Diagnostyka w Systemach Sterowania

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Co to jest grupowanie

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Sieć przesyłająca żetony CP (counter propagation)

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Systemy uczące się Lab 4

Uczenie sieci radialnych (RBF)

Agnieszka Nowak Brzezińska Wykład III

Obliczenia inteligentne Zadanie 4

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Agnieszka Nowak Brzezińska Wykład III

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Instrukcja realizacji ćwiczenia

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Projekt Sieci neuronowe

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Analiza składowych głównych. Wprowadzenie

Wstęp do Techniki Cyfrowej... Teoria automatów

Temat: Sieci neuronowe oraz technologia CUDA

Zastosowania sieci neuronowych

Podstawy sztucznej inteligencji

ALGORYTM RANDOM FOREST

Tworzenie prezentacji w MS PowerPoint

Systemy uczące się wykład 2

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Agnieszka Nowak Brzezińska

Zmienne zależne i niezależne

SPOTKANIE 2: Wprowadzenie cz. I

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Krzywa uniwersalna Sierpińskiego

Uczenie sieci typu MLP

6.4. Efekty specjalne

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Optymalizacja ciągła

Przykładowa analiza danych

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Aleksandra Zając. Raport. Blender. Pokemon: Eevee

Sztuczne sieci neuronowe (SNN)

Elementy modelowania matematycznego

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Dokumentacja Końcowa

Elementy statystyki wielowymiarowej

Inteligentne systemy przeciw atakom sieciowym

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

TEORETYCZNE PODSTAWY INFORMATYKI

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

Inteligentna analiza danych

W poszukiwaniu sensu w świecie widzialnym

Klasyfikacja przypadków w ND280

Wykład 4: Wnioskowanie statystyczne. Podstawowe informacje oraz implementacja przykładowego testu w programie STATISTICA

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Analiza korespondencji

Wprowadzenie do analizy korelacji i regresji

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe


Politechnika Lubelska

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Transkrypt:

Sieci Kohonena Teuvo Kohonen...... i jego historyczne dzieło Sieci Kohonena realizują pewne odwzorowania, stąd ich powszechnie używany symbol: SOM (Self Organizing Maps) X SOM Y Struktura sieci Kohonena Warstwa topologiczna Warstwa wejściowa Cechy charakterystyczne: sieć uczy się bez nauczyciela uporządkowane neurony wyjściowe jest konkurencja i wyłaniany jest neuron zwycięski ważną rolę odgrywa sąsiedztwo w wyniku uczenia powstaje mapa topologiczna aprioryczna interpretacja wartości wyjściowych jest niemożliwa, po uczeniu można ustalić, jakie znaczenie mają poszczególne rejony mapy topologicznej - ale wyłącznie na podstawie analizy konkretnych przykładów danych wejściowych Wszystkie te elementy zostaną teraz kolejno omówione Typowe zastosowanie SOM Sieci samouczące się Samouczenie tym się głównie różni od uczenia, że podczas samouczenia nie ma żadnego zewnętrznego źródła wiedzy (bazy danych uczących, nauczyciela itp.), dostarczającego gotowe widomości, które wystarczy tylko sobie przyswoić. Umysł samouczącego się człowieka, a także samoucząca się sieć neuronowa, musi najpierw sama odkryć wiedzę, którą następnie zapamięta. Ilustruje to rysunek, na którym informacje o nieznanej wcześniej interpretacji (pokazana jako fale wrażeń docierające do mózgu od strony ciała, czyli od dołu) powodują, że w mózgu zapalają się gwiazdy nowych idei: 1

Samouczenie dyskusja ogólna Input Input? Self-learning step 1? Self-learning step 2 After many selflearning steps Unsupervised learning Input A (opis na kilku najbliższych slajdach jest po angielsku, ale to nie powinno przeszkadzać) Class A Class B Exam Why and where unsupervised learning is necessary? Our next consideration will be concentrated on unsupervised learning (or self-learning) Self-learning process results: Content of the memory of selflearning spacecraft after discovery alien planet How it works? 2

Body shape Body shape 2013-06-12 Siła pobudzenia neuronu jest tym większa, im bliżej znajdują się wektor sygnałów wejściowych i wektor wag Bazą do procesu samouczenia sieci neuronowych były badania D.O. Hebba nad procesami samouczenia u zwierząt Jeżeli akson neuronu A bierze systematycznie udział w pobudzaniu neuronu B powodując jego aktywację, to wywołuje to zmianę metaboliczną w jednym x i lub obu neuronach, prowadzącą w do wzrostu skuteczności ij pobudzania neuronu B przez y neuron A. j Donald Olding Hebb (1904-1985) Let consider neuron weight changes when neuron reaction is positive Let consider neuron weight changes when neuron reaction is negative Point representing neuron weights Point representing neuron after self-learning step Point representing object Corresponding neuron weight Body mass Body mass Unknown object Unknown object 3

In real neural networks exist many neurons and the weight migration process is massive one Different objects are located in different regions in neuron weight space Similar objects are located in compact region Grupom danych wejściowych tworzących zwartą klasę przyporządkowane zostają grupy neuronów identyfikujących tę grupę i wydzielających ją jako oddzielne pojęcie Dodatkowo samoorganizacja prowadzi do tego, że neurony obstawiające podobne obiekty wejściowe ulokowane są w warstwie topologicznej sieci jako neurony sąsiednie Kilka ciekawych obserwacji. 4

Oznaczenia obszarów w przestrzeni danych oraz danych na temat uczenia i jego wyników Obszary 2 1 w przestrzeni danych wejściowych 3 4 8 6 4 2 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów w obszarach Dalej Początek Intensywność samouczenia ma wpływ na siłę śladu pamięciowego 25 20 15 10 5 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów 3 2 4 1 Dalej Początek Dominujący wpływ pierwszych połączeń 40 30 20 10 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek Wrodzona niezdolność do pewnej umiejętności 40 30 20 10 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek 2 3 1 4 Pusto! 1 2 4 Zapominanie nie utrwalanych umiejętności początek, 20 15 10 5 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek Zapominanie nie utrwalanych umiejętności - koniec 50 40 30 20 10 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek 3 2 4 1 2 3 1 4 5

Body shape Plese observe these comments! Body shape 2013-06-12 20 15 10 5 0 Zapominanie nie utrwalanych umiejętności początek i koniec Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek 50 40 30 20 10 0 Liczba pokazów podczas uczenia 1 2 3 4 Liczba neuronów Dalej Początek Let assume our network should after learning recognize four types objects Body form After learning network can recognize new objects belonging to the learned classes I know this object! Body form We can recognize different women and different fishes and different birds But what is this? Mermaid! And this? Angel! W wagach połączeń pomiędzy warstwą wejściową a topologiczną zawarte są wzorce (prototypy) sygnałów, na które są specjalnie uwrażliwione poszczególne neurony. Na skutek wpływu sąsiedztwa neurony warstwy topologicznej formują klastry reprezentujące pewne klasy podobieństwa dające się wykryć w zbiorach danych wejściowych. 6

Wyidealizowany przykład mapy Kohonena i U-mapy Rzeczywista przynależność obiektów Przynależność obiektów odtworzona przez sieć Macierz U odległości między wagami sąsiadów Inny wyidealizowany przykład mapy Kohonena i U-mapy Klasyfikacja zbioru irysów Oto reprezentacja obiektów po uczeniu Uczenie i stosowanie sieci Kohonena (animacja) Zwycięzca! Po nauczeniu sieci daje ona odpowiedź na wejściowy sygnał w postaci rozkładu pobudzeń neuronów warstwy topologicznej Zwycięzca Oto sieć Kohonena Gdy pojawi się nowy obiekt... Otrzymuje ona informacje o obserwowanych Oto obiektach dostrzeżony obiekt...to sieć sprawdzi, do którego prototypu jest on podobny 7

Interpretacja tej odpowiedzi musi być jednak dopasowana do znanych przypadków Przykładowa mapa z częściowym opisem Znanych przypadków może być niewiele! Przykład mapy topologicznej, powstałej po uczeniu sieci Kohonena przykładami danych należących do trzech różnych klas Zastosowania sieci Kohonena Tu znajduje się neuron rozpoznający obiekty klasy blue Ten przykład jest wyidealizowany z kilku względów. Rzeczywiste mapy Kohonena nie są aż tak klarowne ale są nadal użyteczne. Predykcja zachowania Senatu USA podczas głosowania nad różnymi ustawami Sieć Kohonena dąży do tego, by stworzyć optymalną mapę obrazującą stosunki zachodzące w przestrzeni danych wejściowych 8

Odwzorowanie pola widzenia na powierzchni kory wzrokowej Prosty przykład obrazowania zjawisk w wielowymiarowej przestrzeni: dekodowanie barw w systemie RGB Sygnalizacja rozpoznanego koloru R G B Koncepcyjnie struktura sieci jest bardzo prosta: Mapa topologiczna w tym przypadku grupuje neurony wrażliwe na różne kolory Ten neuron jest tak wyuczony, że zostaje zwycięzcą zawsze, gdy na wejściu pojawia kombinacja sygnałów, której odpowiada kolor żółty. Dlatego jego miejsce przy prezentacji własności mapy Kohonena będzie zaznaczane żółtym kolorem. R G B Identyfikacja, gdzie jest reprezentowany jaki kolor może być wykonana za pomocą próbnika (z prawej) Rozkład wrażliwości neuronów warstwy wyjściowej przed i po uczeniu z wykorzystaniem próbek 16 podstawowych barw RGB 9

Rozkład wrażliwości neuronów przed i po uczeniu w bardziej złożonym zadaniu, w którym na wejście sieci podawano próbki barwne z całego sześcianu barw Wartości sygnałów wyjściowych w warstwie topologicznej często przedstawia się z użyciem kodu sztucznych kolorów, obrazujących stopień pobudzenia neuronów W warunkach laboratoryjnych łatwo można doprowadzić do tego, że sieć Kohonena będzie dobrze różnicowała poszczególne sytuacje występujące w wielowymiarowej przestrzeni danych Nie jest to jednak takie proste przy analizie rzeczywistego wielowymiarowego zbioru danych Przypadek korzystniejszy: zbiory danych mających te same właściwości zostały lepiej odseparowane i zlokalizowane Przypadek mniej korzystny: zbiory danych mających te same właściwości zostały gorzej odseparowane i zlokalizowane Szczególnie cenne jest mapowanie Kohonena w przypadku wielowymiarowych procesów dynamicznych, których zmienność można śledzić obserwując zmiany obrazu uzyskiwanego w warstwie topologicznej Porównanie sieci Kohonena z typową siecią MLP 10

W praktyce sieci Kohonena mogą na przykład rozpoznawać różne obiekty Analogiczne zadanie może realizować sieć uczona z nauczycielem, ale jest ona kłopotliwsza w użyciu. Przykład praktyczny: analiza ryzyka związanego z inwestowaniem w wybranych 52 krajach świata. Każdy kraj opisany został jest przez 23 zmienne charakteryzujące jego rozwój gospodarczy, sytuację na rynkach finansowych oraz sytuację polityczną. Dokładny opis badań znaleźć można w artykule Global Investing: The Game of Risk opublikowanym na łamach The Wall Street Journal 26 czerwca 1997 roku Składający się z 52 elementów zbiór obiektów podzielono na dwie części: zbiór uczący (50 elementów) i zbiór testowy (2 elementy). Do zbioru testowego w sposób arbitralny zaliczono Polskę oraz Rosję Mapa topologiczna Warstwa topologiczna składa się z 64 neuronów. Na wejścia podawano 23 zmienne opisujące każdy kraj Każdy kraj reprezentowany jest przez jeden neuron, który zostaje zwycięzcą gdy na wejście podawane są dane dotyczące danego kraju. Jeden neuron może reprezentować kilka krajów jeśli są podobne Sprawdzenie dla Polski i Rosji Rozmieszczenie neuronów zwycięskich dla Polski i Rosji (blisko siebie) wskazuje, że w 1997 roku poziom ryzyka związany z inwestowaniem w obu krajach był zbliżony. Polska Rosja Sytuacja w Polsce była zbliżona do sytuacji w Nigerii. Natomiast kraje należącej do tej samej grupy co Rosja to Egipt, Maroko oraz Zimbabwe. 11

Sprawdzenie dla Polski i Rosji Teraz trochę szczegółów Polska Rosja Warstwa Kohonena zawiera zwykle bardzo dużo neuronów Model neuronu stosowanego w sieci Kohonena jest specyficzny na wejściu obliczana jest odległość między wektorem wejściowym a wektorem wag, a na sygnał na wyjściu jest tym większy im ta odległość jest mniejsza. x1 w1 x2 xn w2 wn D I S T q 1/SQR y q n i 1 x i wi 2 y f ( q) 1 q wartość 2. wagi neuronu wartość 2. składowej sygnału Proces samouczenia polega na tym, że wektor wag W neuronu wybranego do uczenia jest przyciągany do wektora sygnału wejściowego X, który jest przyczyna uczenia W = W + (X-W) Przemieszczenie wektora wag na skutek uczenia punkt, który reprezentuje wektor wag W neuronu przed uczeniem położenie wektora wag W neuronu po uczeniu punkt, który reprezentuje sygnał wejściowy X wartość 1. składowej sygnału wartość 1. wagi neuronu W trakcie pokazywania elementów zbioru uczącego każdorazowo wyłaniany jest neuron zwycięski. Najczęściej właśnie ten zwycięzca jest uczony. 12

Na skutek uczenia zwycięzcy neuron który lubił określone sygnały wejściowe (bo przy ich pojawianiu się dawał silny pozytywny sygnał wyjściowy, który czynił go zwycięzcą), po każdym kroku procesu uczenia będzie lubił te sygnały coraz bardziej. Taki neuron po wytrenowaniu będzie więc rozpoznawał pewną klasę sygnałów. Ponieważ tylko on będzie rozpoznawał tę klasę, będzie więc mógł służyć jako swoisty detektor wszelkich sygnałów podobnych do tych, jakie w trakcie uczenia powodowały, że był on zwycięzcą. Przykład: Samouczenie sieci Kohonena przy użyciu sylwetek liter Sytuacja po 200 epokach uczenia Przykładowe sygnały wejściowe Przykładowe zestawy wag wybranych neuronów przed uczeniem Przykładowe sygnały wejściowe Przykładowe zestawy wag wybranych neuronów Przykładowe sygnały wejściowe Sytuacja po 700 epokach uczenia Przykładowe zestawy wag wybranych neuronów Gdyby zlikwidować konkurencję, czyli pozwolić na to, by po pokazaniu każdego sygnału wejściowego uczyły się wszystkie neurony pozytywnie reagujące na dany sygnał wejściowy wiele neuronów utożsamiało by się z tymi samymi wzorcami i mielibyśmy do czynienia z nadreprezentacją w sieci pewnych danych przy bardzo prawdopodobnych brakach jakiejkolwiek reprezentacji innych danych. 13

Obraz samouczenia w sieci, w której nie wprowadzono zasady konkurencji Obraz samouczenia w sieci, w której wprowadzono zasady konkurencji Czyste samouczenie stosowane w sieci Kohonena prowadzi do tego, że poszczególne neurony utożsamiają się (poprzez swoje wagi) z centrami skupień wykrywanymi przez sieć wśród wejściowych sygnałów Takie położenia zajmą wektory wag trzech neuronów Dodatkowy element, Kohonena jakim jest występujące w tej sieci sąsiedztwo Pojawiają powoduje, się że bliskie siebie dalsze (w przestrzeni dane. sygnałów wejściowych) Nikt nie wie, co skupienia Pojawia (klastry) one danych Sieć wykrywa, się są sygnalizowane znaczą, dana przez bo to jest że wśród danych neurony, które wejściowa uczenie leżą blisko bez istnieją grupy siebie (w sensie nauczyciela! przyjętej definicji sąsiedztwa). Z tego powodu proces samouczenia zachodzący w sieci Kohonena nazywany bywa często procesem samoorganizacji, a sama sieć bywa oznaczana Przestrzeń sygnałów ogólnie znanym wejściowych akronimem oraz wag SOM (Self-Organizing Map) Neurony sieci Kohonena lokują się (w sensie położenia wektorów ich wag) w centralnych punktach skupisk danych wejściowych Podczas samouczenia położenie wektora wag neuronu może ulegać częstym zmianom, ale w ostatecznym efekcie tego myszkowania neuron lokuje się w samym środku grupy reprezentowanych danych wejściowych. Nawet przy stosunkowo równomiernym rozłożeniu punktów w przestrzeni sygnałów wejściowych w wyniku działania czynnika konkurencji neurony sieci Kohonena tak się ustawiają, żeby reprezentować pewne wydzielone podzbiory sygnałów wejściowych, dla których stają się detektorami. 14

Sieć dąży do tego, żeby uzyskać jak najlepsze pokrycie zbioru użytych do uczenia sygnałów wejściowych nawet wtedy, gdy dane się nie grupują Na zachowanie sieci Kohonena bardzo silny wpływ ma pojęcie sąsiedztwa, zdefiniowane na zbiorze neuronów wyjściowych. Uczeniu w sieci Kohonena podlega zwycięski neuron (niebieski) oraz jego sąsiedzi Sąsiedztwo jest pojęciem umownym, więc w tej samej sieci można zdefiniować zarówno bliższych, jak i dalszych sąsiadów Można też rozważać sąsiedztwo o zróżnicowanym zasięgu Pokazywane przedtem przykłady sąsiedztwa odwoływały się do dwuwymiarowej struktury sieci, możliwe jednak jest także zdefiniowanie sąsiedztwa jednowymiarowego 15

Funkcja sąsiedztwa bywa często opisywana w postaci Meksykańskiego kapelusza Jeszcze inne rodzaje sąsiedztwa Zwycięski jest ten neuron, którego wektor wag jest najbliższy w stosunku do aktualnego wektora wejściowego. Natomiast sąsiedzi mogą mieć wektory wag bardzo odległe od sygnału wejściowego, który jednak wymusi ich uczenie! Ważnym pojęciem jest zasięg sąsiedztwa, który się zwykle zmniejsza w trakcie uczenia Zawężanie sąsiedztwa w sieci Kohonena w trakcie uczenia W miarę postępu procesu uczenia zakres sąsiedztwa jest systematycznie zawężany. Towarzyszy temu także zmniejszanie wartości współczynnika uczenia. 16

Inny przykład definicji sąsiedztwa i problem z brzegiem sieci Zasięg sąsiedztwa w sieci Kohonena bywa różnie definiowany w literaturze zawsze jednak można go zacieśniać zgodnie z regułą Proces samouczenia i samoorganizacji w sieci Kohonena Dzięki uwzględnieniu sąsiedztwa proces samouczenia w sieci Kohonena prowadzi do skoordynowanego ustalania wartości wag poszczególnych neuronów, co jest określane mianem samoorganizacja. Prześledźmy teraz, jak do tego dochodzi Położenie wektora wag neuronu 1 Uproszczony schemat przebiegu samoorganizacji - początek Linia wskazuje, że neurony sąsiadują Uproszczony schemat przebiegu samoorganizacji pierwszy krok Zbiór danych wejściowych Aktualna dana wejściowa 17

Uproszczony schemat przebiegu samoorganizacji finał Oto konstelacja punktów reprezentujących początkowe wagi neuronów wartość 2. wagi neuronu sąsiad Zaczynamy uczenie sąsiadów! sąsiad wartość 2. składowej sygnału punkt, który reprezentuje właściwości zwycięskiego neuronu sąsiad Zaczynamy uczenie! położenie zwycięskiego neuronu po uczeniu punkt, który reprezentuje sygnał wejściowy sąsiad wartość 1. składowej sygnału wartość 1. wagi neuronu Ten sam proces uczenia można będzie lepiej prześledzić, gdy połączy się położenia sąsiadów wartość 2. wagi neuronu sąsiad sąsiad Ten sam proces uczenia można będzie lepiej prześledzić, gdy połączy się położenia sąsiadów wartość 2. wagi neuronu sąsiad Procesowi uczenia towarzyszy w tej sieci zmiana wyglądu siatki prezentującej sąsiedztwa Procesowi uczenia towarzyszy w tej sieci zmiana wyglądu siatki prezentującej sąsiedztwa sąsiad wartość 1. wagi neuronu wartość 1. wagi neuronu Warto odnotować marginalny fakt, że niekiedy długości wektorów wag wszystkich neuronów w sieci Kohonena są normalizowane, to znaczy skalowane w taki sposób, że mają jednakową długość. Gdyby tak nie było neurony mające wektory wag o większej długości miały by większą szansę na to, by zostać zwycięzcami. Efekt braku normalizacji (animacja) zwycięzca! zwycięzca??! 18

W związku z normalizacją zmiany, jakim podlegają wektory wag neuronów w sieci Kohonena polegają w istocie na ich obracaniu bez zmiany długości. Przy normalizacji długości zarówno wektorów wejściowych, jak i wektorów wyjściowych w obu warstwach sieci neuronowej mamy do czynienia w istocie z obracaniem wektorów, a nie z ich przemieszczaniem W efekcie proces uczenia w sieci wygląda tak: Sąsiad Przyjrzyjmy się, jak to by mogło wyglądać: Pojawia się sygnał wejściowy Ten neuron zostaje zwycięzcą, bo jego wektor wag ma podobny kierunek jak wektor wejściowy Zwycięzca Sygnał wejściowy Sąsiad Oto początkowy stan sieci, w której każdy neuron ma losowo ustawiony kierunek wektora wag. Neuron zwycięski oraz jego sąsiedzi podlegają uczeniu, więc ich wektory zostają odpowiednio obrócone W podobny sposób można także zilustrować cały dłużej trwający proces uczenia sieci Ale wygodniej się to jednak ogląda na płaskiej mapie! 19

W(i,2) 2013-06-12 Przykład ruchu zwycięzcy i kilku neuronów sąsiednich w większej sieci Proces samoorganizacji prowadzi do tego, że chaotyczny początkowo układ wag neuronów po procesie uczenia staje się regularny i odwzorowuje właściwości rozważanych danych Trening sieci na danych tworzących skupiska Efekt samouczenia w sieci Kohonena polega na tym, że poszczególne neurony lokują się w centrach skupisk danych wejściowych, a sąsiednie neurony obstawiają blisko leżące skupiska Przykładowa sieć klasyfikująca Przemieszczanie wektorów wag oraz linii łączących sąsiednie neurony pozwala obserwować w sieci Kohonena ładne procesy samoorganizacji 0.24 0.23 0.22 0.21 0.2 0.19 0.18 0.17 0.16 0.15 0.15 0.16 0.17 0.18 0.19 0.2 0.21 W(i,1) 20

Załóżmy, że sieć ma jakoś sklasyfikować (bez nauczyciela!) napływające dane wejściowe Rozważmy kilka interesujących przykładów (pochodzących z własnych badań autora) Każdy taki punkt reprezentuje jedną daną wejściową Gdyby te dane tworzyły wyraźne skupiska, wówczas zadanie sieci byłoby łatwiejsze (trzeba by było tylko wykryć centra skupisk). Skoro jednak dane wypełniają przestrzeń wejściową w miarę równomiernie sieć będzie musiała także równomiernie obłożyć neuronami cały obszar wejściowy. Początkowy rozkład położeń wektorów wag neuronów oraz linii sygnalizujących ich sąsiedztwo jest przypadkowy Po pokazaniu pierwszej serii około 10 danych sieć zaczyna rozprowadzać neurony po zbiorze danych wejściowych Te neurony zostały wyciągnięte z chaosu i wyraźnie do czegoś zmierzają! Po kolejnych 100 pokazach w sieci zaczyna zarysowywać się pewien porządek Porządek ten jest coraz bardziej wyraźny w miarę jak sieć ma okazję poznać więcej danych 21

W miarę postępu procesu uczenia coraz więcej neuronów odnajduje podobszary w przestrzeni wejść, które chce rozpoznawać. W dodatku sąsiednie neurony chcą rozpoznawać obiekty z sąsiednich rejonów przestrzeni wejść! Warto to prześledzić dokładniej: Liczby wzorców reprezentowanych przez poszczególne neurony mapy Rozpoznaje sygnały z tego rejonu Rozpoznaje sygnały z tego rejonu Ten neuron A ten jego sąsiad Wniosek: podobne sygnały rozpoznawane są przez neurony, które w sieci Kohonena są sąsiadami! 0 0 29 26 55 0 31 11 0 0 0 0 46 15 37 65 220 10 31 15 78 0 0 10 38 0 23 5 69 0 0 62 0 0 0 0 0 0 2 0 0 21 0 95 0 0 0 0 0 0 92 0 5 0 116 0 0 0 0 0 0 0 129 3 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 130 0 63 0 197 0 77 0 0 0 77 0 0 0 0 11 4 0 6 0 Wizualizacja mapy SOM o wymiarach 10 10 służącej do grupowania wzorców zaobserwowanych w przebiegu notowań indeksu WIG 200-240 160-200 120-160 80-120 40-80 0-40 Naprzemiennie zacieniowane i odseparowane obszary obrazują zidentyfikowane skupienia wzorców. W efekcie procesu uczenia obserwujemy postępujące uporządkowanie neuronów zgodne ze strukturą sąsiedztwa (pokazuję tu historyczny rysunek Kohonena!) Dla przyspieszenia dalszego wykładu procesy uczenia kolejnych przykładowych sieci Kohonena prezentowane będą w formie zbiorczych ekranów Tutaj przedstawione są dane, prezentowane sieci w trakcie procesu samouczenia Kolejność prezentacji etapów procesu uczenia jest zgodna z kolejnością np. obrazków w komiksach: 0 1 2 3 4 X 5 6 7 8 22

Korzystając z tej formy prezentacji można np. pokazać, że proces samouczenia daje lepsze wyniki w dużej sieci Kohonena, ale wymaga ona dużej ilości danych uczących Natomiast mała sieć potrafi się bardzo szybko uczyć, dając jednak w efekcie znacznie gorsze wyniki Ale konieczna była bardzo duża liczba pokazów Sieć bardzo dobrze pokryła przestrzeń sygnałów Jeśli w pewnych rejonach pojawia się więcej sygnałów wejściowych, to w sieci więcej neuronów decyduje się obstawiać te regiony Można wykazać (ale wymaga to używania sieci zawierających szczególnie dużo elementów), że jeśli w zbiorze sygnałów wejściowych dane z pewnego podobszaru pojawiają się częściej, niż z innych to sieć Kohonena przydzieli pilnowania do tego obszaru znacząco więcej neuronów, co pozwala na subtelniejsze rozpoznawanie często się pojawiających (a więc domyślnie ważniejszych) zestawów danych. Po lewej pokazano częstość pojawiania się punktów zbioru uczącego a po prawej topologię rozkładu wag wytrenowanej sieci To szczególnie dobrze widać gdy obszar zwiększonego prawdopodobieństwa jest niewielki 23

W szczególności w przypadku, kiedy dane uczące pochodzą wyłącznie z pewnej części przestrzeni sygnałów wejściowych, to sieć nie marnuje wcale neuronów na obstawianie obszarów w których dane się nie pojawiają! Trójkątny zarys mapy obrazującej pojawianie się danych uczących oznacza, że pewne dane wejściowe nie pojawiają się w procesie uczenia, chociaż są teoretycznie możliwe. Sieć wykorzystuje ten fakt! W podobny sposób można także obsłużyć bardziej złożone przypadki Ten efekt szczególnie ładnie można zademonstrować w przypadku sieci zawierającej duże ilości neuronów Przy małej liczbie neuronów udaje się to znacznie gorzej... a czasem nie udaje się wcale Tu niestety część danych wejściowych została zignorowana! 24

Podobnie i w tym przypadku nie udało się dobrze pokryć neuronami skomplikowanej przestrzeni wejściowej. Niekiedy nawet w prostych przypadkach równomiernie wypełnionej przestrzeni sygnałów sieci Kohonena nie dają dobrych rezultatów. Jest to wynikiem faktu, że proces samouczenia jest spontaniczny, więc może się zacząć w dwóch (lub w większej liczbie punktów sieci) w sposób prowadzący do nieuchronnego konfliktu przy próbie samoorganizacji całej sieci. Przykład samouczenia prowadzącego do konfliktu samoorganizacji. Inny przykład konfliktu samouczenia. Efekt ten jest ładny wizualnie ale wysoce niepożądany w praktyce. Podobne zjawiska opisywali też inni autorzy Jak oceniać jakość odwzorowania zbudowanego w trakcie samouczenia przez sieć Kohonena? 25

Częstość wygrywania konkurencji przez poszczególne neurony (tzw. sample hit plot ) Przykład takich map dla rzeczywistych danych Mapa odległości wektorów wag (tzw. U-matrix) Przykład U-matrix wyraźnie wyznaczającej granicę Mapa odległości wektorów wag pokazuje granice istotnych obszarów Obraz U-matrix zależy od metryki zastosowanej do pomiaru odległości między wektorami wag. 26

Kluczowa cecha Odwzorowanie zmiennej objaśnianej (kluczowej cechy ) 2013-06-12 Inny przykład granic klas zbudowanych na bazie U-matrix Przykład kolorowania mapy Kohonena na podstawie U-matrix Mapa MSOM Y Przykład mapy MSOM 46.8 Odwzorowanie cech wzorca (zm. objaśniających xj ) X Idea mapy MSOM z wyróżnioną zmienną kluczową 39.2 32.9 29.7 26.7 24.6 23.8 23.1 22.4 21.6 20.8 20.1 19.5 18.7 17.7 16.2 14.7 13.6 11.6 7.6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 6.5-7.5 5.5-6.5 4.5-5.5 3.5-4.5 2.5-3.5 1.5-2.5 0.5-1.5-0.5-0.5 Liczby wzorców ze zbioru uczącego (reprezentowane poszczególnymi kolorami) przyporządkowanych do poszczególnych neuronów mapy MSOM po zakończeniu procesu uczenia. Przestrzeń cech xj Oś pionowa wyraża wartość nieruchomości (w tys. USD) w problemie wyceny mieszkań. We wszystkich wyżej podawanych przykładach wymiar przestrzeni sygnałów i wymiar struktury sieci były zgodne Można jednak pokazać przykład sieci, w której wymiar przestrzeni wejściowej jest inny niż wymiar topologii sieci 27

W sieci takiej jednowymiarowa struktura sieci w toku uczenia stara się odwzorować dwuwymiarową przestrzeń sygnałów Przekształcenie to pozwala zachować pewne proste intuicje dotyczące zachowania sygnałów Sieć bowiem nie wypełnia dostępnego jej obszaru w sposób przypadkowy! Opisane zjawisko też zostało wykryte przez samego Kohonena W rozważanym przykładzie sieć neuronowa jest narzędziem transformującym zbiór danych z przestrzeni o większej wymiarowości do przestrzeni o małej liczbie wymiarów, gdzie łatwiej je interpretować 28

Możliwe jest także rozpięcie np. dwuwymiarowej sieci na trójwymiarowej przestrzeni sygnałów Bywa tak, że w wyniku samouczenia sieć Kohonena wykryje rzeczywistą (tu jednowymiarową) naturę danych i wpisze się sensownie w dane, które są pozornie trójwymiarowe, a w istocie jednowymiarowe. Niekiedy obszar pokrywany przez sieć Kohonena może być dosyć skomplikowany w kształcie Mimo to proces samouczenia przebiega tam w sposób analogiczny do opisanego wcześniej Niektóre efekty uzyskane za pomocą sieci Kohonena dla pokrycia danych 3D budzą mieszane uczucia... To jest autentyczny rysunek z pracy naukowej: Surface Reconstruction from Unorganized Points Using Kohonen's Self-Organizing Map, Yizhou Yu, Computer Science Division, University of California at Berkeley 29

Wniosek: Sieć Kohonena może służyć do tego, żeby przy jej pomocy rzutować wielowymiarowe zbiory danych do przestrzeni o małej wymiarowości. Modyfikacje Przykładowe trudne zadania grupowania danych Modyfikacja klasycznego algorytmu przewidująca możliwość rozerwania sieci Dalej idące grupowanie danych Połączenie grupowania z agregacją wyników z wielu podsieci 30

Efekt logicznego grupowania neuronów w sieci Kohonena nauczonej rozpoznawania prostych figur Przykłady zastosowań Użycie sieci do klasyfikacji okazów paleontologicznej fauny Sieć wykryła sensowne grupy szkieletów zwierząt (rostrów) Podobne podejście można zastosować także do bardziej złożonych obrazów Grupowaniu w sieci Kohonena mogą podlegać kraje świata 31

1 5 9 13 17 21 25 29 33 37 0.7-0.2-1.3 <-3.7 2.0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Mediana w artości nieruchomości 1 4 7 10 13 16 19 22 25 28 7.6 17.7 2013-06-12 21.6 26.7 Po nauczeniu sieci wartości odpowiedzi neuronów wyznaczane po podaniu określonego sygnału na wejście mogą być traktowane jako miary podobieństwa danego sygnału do poszczególnych wyuczonych wzorców, rozmieszczonych w warstwie wyjściowej sieci Po procesie uczenia w sieci Kohonena można uzyskać obraz ilustrujący identyfikacje wejściowych sygnałów. Wynik ma wtedy charakter binarny. Można jednak także otrzymać rozkład wartości odpowiedzi neuronów warstwy radialnej, co ilustruje zróżnicowany stopień podobieństwa wejściowego sygnału do różnych wzorców zapamiętanych przez sieć Przykład analogowego działania sieci po podaniu wzorcowego obiektu sygnalizowanego przez neuron w lewym górnym rogu Przykładowy rozkład wartości sygnałów wyjściowych neuronów w nauczonej sieci Ten neuron wykrył obiekt należący do jego klasy Wzorzec testowy 3 46.8# 39.2 32.9 29.7 26.7 24.6 23.8 23.1 22.4 21.6 20.8 20.1 19.5 18.7 17.7 16.2 14.7 13.6 11.6 7.6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # 27 28 29 30 10 9 8 7 9-10 6 8-9 5 7-8 4 6-7 3 5-6 2 4-5 1 3-4 0 2-3 1-2 0-1 Inny przykładowy rozkład Widok rozkładu odpowiedzi sieci do rozpoznawania figur po pokazaniu pięciokąta 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 Stopa zwrotu 4-4.5 3.5-4 3-3.5 2.5-3 2-2.5 1.5-2 1-1.5 0.5-1 0-0.5 >4.7 3.8 2.6 2.0 1.6 1.2 0.9 0.7 0.4 0.2 0.0-0.2-0.4-0.7-0.9-1.3-1.7-2.2-3.2 <-3.7 4-4.5 3.5-4 3-3.5 2.5-3 2-2.5 1.5-2 1-1.5 0.5-1 0-0.5 32

Sieci Kohonena mogą się uczyć nieprzerwanie w trakcie normalnej eksploatacji, więc dopasowują się do zmian statystyki prezentacji danych Przykładowe dane do grupowania (informacje na temat samochodów) Model Pojemn. Moc (KM) Przys. 0-100 Elast. 60-100 Pręd. max Drog. ham. Poz. hałasu Zużycie paliwa Opel Vectra 2.5 170 9.2 8.4 230 38.6 60 10.2 Peugeot 206 1.4 75 13.2 13.1 170 41.7 60 7.3 Peugeot 406 2 135 10.1 9.6 208 42.4 59 10 Renault Clio 1.4 75 12.8 11.9 170 39.8 62 6.4 Itd. Te dane wprowadza się na wejścia wszystkich neuronów sieci Tej informacji sieć nie otrzymuje! Wyniki grupowania danych samochodów Mapa Kohonena dla większej liczby samochodów Grupowanie banków dane wejściowe Te dane są różne dla różnych banków ale co z tego wynika? 33

Mapa cech przedsiębiorstw uzyskana z pomocą sieci Kohonena Grupowanie banków wynik działania sieci Kohonena Wykorzystanie sieci Kohonena do analizy akustycznej mowy patologicznie zdeformowanej Wizualizacja mapy Kohonena jako metoda grupowania obiektów (przykład klasyfikacji miast) Sieć Kohonena może także pracować jako detektor dzielący dane na typowe i nietypowe. Pozwala to budować lepsze modele na podstawie niejednorodnych danych. Dzięki temu dostajemy znacznie Sieć lepszy Kohonena model może wykryć, że wśród tych danych są punkty nietypowe, oraz wskaże, które to są, w wyniku czego można je będzie wyeliminować z modelu. Ta linia źle aproksymuje przedstawiony zbiór danych, bo usiłuje się dopasować do wszystkich danych, podczas gdy są to w istocie dwa rozłączne zbiory danych. Analogiczna sytuacja w nieco trudniejszym zadaniu. Nauczona sieć Kohonena potrafi wykryć nietypowe dane, ponieważ dla tych danych żaden neuron nie zostaje zwycięzcą Dzięki temu dostajemy Sieć Kohonena może wykryć, że wśród znacznie tych lepszy danych model są punkty nietypowe, oraz wskaże, które to są, w wyniku czego można je będzie wyeliminować z modelu. Ta linia źle aproksymuje przedstawiony zbiór danych, bo usiłuje się dopasować do wszystkich danych, podczas gdy są to w istocie dwa rozłączne zbiory danych. 34

Organizacja zbioru danych uczących oraz testowych dla sieci Kohonena Niekiedy przed grupowaniem w sieci Kohonena dane powinny być uporządkowane i wygładzone, bo to sprzyja lepszemu działaniu sieci. Oryginalne dane do grupowania 3D test data clustered using k-means clustering with k = 4 16 15 14 13 12 11 10 9 8 7 3D Test Data Clustered Using Kmeans Clustering with K=4 5 4 3 10 15 2 Unsmeared Z 20 25 Unsmeared X f Technika wygładzania wykładniczego (dla danych dwuwymiarowych) x, x f f 1 2 1, n n 1 X 1 X1 e X 2 X 2 X 1 e X 2 f s s 2 X 2 X 2 e X 1 X1 X 1 e X 1 1 X 1 = n X1 n 1 1 X 2 = n X 2 n 1 2 1 = 1 2 2 2 x1 x2... x n pplying esult of Exponential Applying Smearing Technique to 3D test to 3D data Test after Data k-means After clustering Kmeans Clustering with k =4 ith K=4 25 Dane wygładzone Proces uczenia sieci Kohonena prowadzi do tego, że ze stanu w którym większość neuronów nie ma żadnego sensownego zadania, a bardzo nieliczne na zasadzie zbiegu okoliczności wykazują jakieś przypadkowe powinowactwo do niektórych danych (a) przechodzimy do sytuacji, w której każdy neuron ma przypisaną jakiś jemu właściwy obiekt, który rozpoznaje i sygnalizuje (b). red Y 20 15 15 20 25 30 17 16 15 14 13 12 11 10 9 Smeared Z Smeared X Effect of applying the smearing technique to 3D test data after clustering with k-means clustering with k=4 35

Jakość wyniku procesu samouczenia sieci można ocenić na podstawie tego, jak często poszczególne neurony sieci zostają zwycięzcami (pokazuje to wielkość niebieskich pól) Mapa topologiczna o podobnej strukturze, jak mapy tworzone przez sieci Kohonena powstaje w korze mózgowej człowieka w obszarze czucia somatycznego oraz sterowania Mała sieć, która dobrze zagospodarowała neurony Duża sieć, która słabo zagospodarowała neurony Obszary rejestrujące doznania czucia Obszary sterujące ruchem Podobnie jak w sieci Kohonena w obszarach otaczających bruzdę Rolanda na powierzchni kory mózgowej wytwarza się mapa topologiczna sygnałów z całego ciała. Obszary z których pochodzi więcej sygnałów zajmują więcej miejsca (angażują więcej neuronów), nawet jeśli anatomicznie są małe. Takie proporcje ma ciało człowieka, jeśli brać pod uwagę wielkość struktur nerwowych związanych ze sterowaniem poszczególnymi częściami ciała Sieć Kohonena jako model kory słuchowej Tu powstaje częstotliwościowa mapa dźwięku Tu także powstaje częstotliwościowa mapa dźwięku Koniec skrótowego wykładu o sieciach neuronowych 36