Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Podobne dokumenty
Lekcja 5: Sieć Kohonena i sieć ART

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

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

Metody sztucznej inteligencji Zadanie 1: Perceptron Rosenblatt a w wersji nieliniowej

Co to jest grupowanie

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

Uczenie sieci radialnych (RBF)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Zastosowania sieci neuronowych

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

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Optymalizacja ciągła

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

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

Sieci neuronowe w Statistica

SIECI RBF (RADIAL BASIS FUNCTIONS)

INTERPOLACJA I APROKSYMACJA FUNKCJI

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Uczenie sieci typu MLP

Monitorowanie i Diagnostyka w Systemach Sterowania

Podstawy Sztucznej Inteligencji (PSZT)

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

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

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

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

METODY INŻYNIERII WIEDZY

Redukcja wariancji w metodach Monte-Carlo

Obliczenia inteligentne Zadanie 4

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

SZTUCZNA INTELIGENCJA

1 Funkcje dwóch zmiennych podstawowe pojęcia

Elementy inteligencji obliczeniowej

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

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Definicja perceptronu wielowarstwowego

Sztuczne sieci neuronowe (SNN)

Algorytm grupowania danych typu kwantyzacji wektorów

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Definicja i własności wartości bezwzględnej.

Algorytm grupowania danych typu kwantyzacji wektorów

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

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Wykład 5. Metoda eliminacji Gaussa

Asocjacyjna reprezentacja danych i wnioskowanie

I EKSPLORACJA DANYCH

Sztuczna inteligencja

Metody numeryczne. Sformułowanie zagadnienia interpolacji

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

Sieci Kohonena Grupowanie

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody systemowe i decyzyjne w informatyce

Estymacja wektora stanu w prostym układzie elektroenergetycznym

PRÓBNY ARKUSZ MATURALNY Z MATEMATYKI

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Systemy uczące się Lab 4

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Temat: Sieci neuronowe oraz technologia CUDA

WZÓR OGÓLNY CIĄGU GEOMETRYCZNEGO

Programowanie Współbieżne. Algorytmy

Równanie Schrödingera

Zaawansowane metody numeryczne

Rozpoznawanie obrazów

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Lista nr 1 - Liczby zespolone

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Zad. 3: Układ równań liniowych

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

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

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

Matematyka stosowana i metody numeryczne

METODY INŻYNIERII WIEDZY

Próbny egzamin maturalny z matematyki Poziom rozszerzony

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

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

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Rozdział 2. Liczby zespolone

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

METODY INŻYNIERII WIEDZY

Metody Sztucznej Inteligencji II

wiedzy Sieci neuronowe

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

LUBELSKA PRÓBA PRZED MATURĄ poziom podstawowy MATEMATYKA LUTY Instrukcja dla zdającego. Czas pracy: 170 minut

Transkrypt:

Metody sztucznej inteligencji Zadanie 3: ( klasteryzacja samoorganizująca się mapa Kohonena, (2 aproksymacja sieć RBF dr inż Przemysław Klęsk Klasteryzacja za pomocą samoorganizującej się mapy Kohonena Dany jest zbiór punktów { x i }i=,,i gdzie x i =(x i,,x in R n Zadanie klasteryzacji polega na przybliżeniu danego zbioru punktów za pomocą mniejszej liczby K punktów (K << I W ten sposób można mówić o wykrywaniu skupień w zbiorze danych o pewnym rozkładzie czy też o wykrywaniu kształtów Punkty przybliżające zbiór oryginalny nazywa się prototypami lub centrami klastrów Patrzrysunkii2 9 8 7 6 5 4 3 2 2 4 6 8 Rysunek : Dany zbiór punktów (kolor zielony i początkowe ustawienie zbioru prototypów (niebieskie krzyże Poniżej omówiono mapę (sieć Kohonena oraz algorytm Kohonena z kilkoma modyfikacjami w stosunku do tego, co zostało powiedziane laboratoriach

9 8 7 6 5 4 3 2 2 4 6 8 Rysunek 2: Dany zbiór punktów (kolor zielony i końcowe ustawienie zbioru prototypów (niebieskie krzyże po wykonaniu się algorytmu Mapa (sieć Kohonena oraz algorytm Kohonena Należy rozpocząć od losowego zaincjalizowania K prototypów na obszarze dziedziny Oprócz sensu geometrycznego każdy z prototypów można rozumieć jako neuron w sieci Kohonena Oznaczmy wagi k-tego neuronu przez c k =(c k,c k2,,c kn Każdy z neuronów jest połączony z wszystkim wejściami x,,x n inajego wyjściu obliczana jest suma ważona wejść czyli iloczyn skalarny c k x T Jak wiadomo iloczyn skalarny jest miarą podobieństwa dwóch wektorów c k x T = c k x cos (c k, x ( Sieć Kohonena jest standardowo uczona w trybie on-line, tzn w każdej iteracji uczenia na wejście sieci podawany jest pewien jeden punkt x wylosowany ze zbioru uczącego { x i I w pierwszej kolejności należy w sieci wyłonić }i=,,i tzw zwycięzcę tj neuron leżący najbliżej podanego na wejście punktu Oznaczmy zwycięzcę jako c w(x,gdziew(x {,,K} zwraca nam indeks neuronu zwycięskiego (winner dla podannego punktu x Zwycięzca musi spełniać warunek c w(x = min c k x (2 k=,,k Aby wyłonić zwycięzcę nie posługując się wprost wzorem na odległość c k x a raczej iloczynami skalarnymi obliczonymi przez neurony, należy tak naprawdę obserwować wielkość : 2c k x T c k 2, (3 (sam iloczyn skalarny c k x T nie wystarcza jako że: c k x 2 =(c k x(c k x T = c k 2 2c k x T + x 2 (4 Jest to jeden ze szczegółów, który nie został pominięty na zajęciach 2

Innymi słowy wyrażenie c k x jest minimalne tam, gdzie wyrażenie 2c k x T c k 2 jest maksmylane Składnik x 2 można pominąć, gdyż jest on w danej iteracji taki sam dla wszystkich konkurujących neuronów Tak więc dopiero posługując się wyrażeniami wg wzoru (3 można mówić o ich równoważności z odległościami i wykrywać na ich podstawie zwycięzcę Wyłoniwszy zwycięzcę należy zmodyfikować jego wagi (jego położenie w dziedzinie wg wzoru: c w(x := c w(x + η(x c w(x, (5 gdzie η oznacza współczynnik uczenia (w eksperymentach sugeruję ustawiać η [, ] Jeżeli modyfikacji w danej iteracji podlegałby tylko sam zwycięzca, to mamy do czynienia z tzw wariantem WTA tego algorytmu (ang Winner Takes All W praktyce używa się zwykle jednak wariantu WTM (ang Winner Takes Most, co oznacza, że nie tylko sam zwycięzca, ale i jego neurony-sąsiedzi (w sensie bliskości w dziedzinie podlegają modyfikacji, tyle że w słabszym stopniu: c k := c k + η(x c k G(c k, c w(x k =,,K, (6 gdzie funkcja G jest gaussowską funkcją bliskości ( G(c k, c w(x = exp (c k c w(x, 2 + +(c kn c w(x,n 2 2σ 2 =exp ( c k c w(x 2 2σ 2 (7 (Uwaga: na zajęciach pomyłkowo podano jako argumenty dla funkcji G: c k i x Jest to błędne Bliskość nie ma być liczona pomiędzy wylosowanym z danych punktem x i każdym neuronem, lecz pomiędzy neuronem zwycięzcą i każdym neuronem Parametr σ steruje szerokością dzwonu gaussowskiego Im większe σ, tym większy zasięg sąsiedztwa Można ustawić σ na pewną stałą wartość, jednakże w praktyce lepsze efekty daje zmniejszanie σ w trakcie pracy algorytmu I tak niech j oznacza licznik głównej pętli uczącej (pętli on-line, j =,,j max Wówczas można zmniejszać parametr σ np w sposób potęgowy: σ j = σ max ( σmin σ max j jmax (8 Jeżeli chodzi o wybór przedziału [σ min,σ max ], to należy tu poeksperymentować uwzględniając rozpiętość dziedziny oraz przyjętą liczbę neuronów K, tzn biorąc tak naprawdę pod uwagę stosunek rozpiętości dziedziny do K 2 Ćwiczeniowe zbiory do eksperymentów Należy wykonać eksperymenty dla czterech zbiorów punktów (omówiono na zajęciach zaczęrpniętych losowo z takich kształtów geometrycznych: okrąg, 2 symbol karo, 3

3 spirala, 4 okrąg plus koło Proponuję zadawać zbiory o rozmiarze punktów i przybliżać je przez K = prototypów Mile widziana jest wizualizacja przesuwania się prototypów w trakcie działania algorytmu 2 Aproksymacja za pomocą sieci RBF W tym punkcie rozpatrujemy zadanie aproksymacji (podobnie jak to miało miejsce w zadaniu nr 2 dotyczącym MLP Dany jest więc zbiór par uczących: { (xi,y i } i=,,i,gdziex i =(x i,,x in R n, y i R ψ w x w x 2 ψ 2 w 2 y RBF w K x n ψ K Rysunek 3: Schemat sieci RBF Sieć RBF (ang Radial Basis Functions patrz rys 3 o jednej warstwie ukrytej można zapisać wzorem y RBF (x =w + K ( w k ψ k x (9 gdzie jako funkcję radialną przyjmuje się zwykle funkcję Gaussa: ψ k (x = exp ( (x c k 2 + +(x n c kn 2 ( W praktyce dla nastrojenia (nauczenia sieci RBF nie stosuje się algorytmów on-line, przy czym jest to oczywiście możliwe Ogólne kroki heurystycznego algorytmu strojenia sieci RBF są następujące: dobierz eksperymentalnie lub ustal z góry liczbę K liczbę neuronów, 2 wykonaj klasteryzację skończonego zbioru { x i (np algorytmem Kohonena uzyskująck prototypów (centrów dla przyszłych neu- }i=,,i ronów c,,c K, k= 2σ 2 k 4

3 dobierz szerokości σ,,σ K neuronów, biorąc pod uwagę odległość do najbliższych neuronów-sąsiadów, 4 mając już ustalone K, c,,c K,σ,,σ K, znajdź wagi w,,w K na podstawie kryterium najmniejszych kwadratów (czyli rozwiązując liniowy problem optymalizacji Elementy heurystyczne, którymi mogą różnić się poszczególne konkretne algorytmy, działające wg powyższego schematu, to sposób znajdowania parametrów c k i σ k W kroku trzecim dla każdego z neuronów znajdujemy odległość do najbliższego z pozostałych neuronów, tj: d k = min j=,,k j k c k c j, ( a następnie ustawiamy σ k = αd k, (2 gdzie α [, 3] jest parametrem dobieranym eksperymentalnie, wpływającym na to, jak bardzo neurony nachodzą na siebie Znając już centra i szerokości neuronów, można wyznaczyć wagi w,,w K rozwiązując liniowy problem optymalizacji, tj minimalizując błąd 2 E2 = i= Z warunku koniecznego istnienia ekstremum otrzymujemy K +równań: k =,,K k =,,K 2 E2 w = 2 E2 w k = ( 2 y RBF (x i y i (3 2 2 E2 w k =, (4 (y RBF (x i y i =; i= (y RBF (x i y i ψ k (x i =; i= Zapisujemy macierzowo układ równań ψ (x i ψ K (x i ψ (x i ψ(x 2 i ψ K (x i ψ (x i i= ψ K (x i ψ (x i ψ K (x i ψk 2 (x i }{{} A i jeżeli tylko det A, to rozwiązaniem jest w w w K } {{ } W = i= (5 y i y i ψ (x i y i ψ K (x i, } {{ } B (6 W = A B (7 Tym sposobem wszystkie parametry sieci RBF o postaci (9 zostały znalezione 5

2 Zbiory do przeprowadzenia aproksymacji Podobnie jak to miało miejsce w zadaniu nr 2, należy aproksymować zbiór punktów o wartościach y i zaczerpniętych z funkcji f(x,x 2 =cos(x x 2 cos(2x Różnicę natomiast stanowi sposób próbkowania samej dziedziny Punkty x i mają być wygenerowane wg takich dwóch schematów: szachownica 9 8 7 6 5 4 3 2 2 4 6 8 2 pas spiralny 8 6 4 2 2 4 6 8 5 5 Oba powyższe schematy należy wpisać (przeskalować w kwadrat [,π] [,π], a następnie dla tych punktów pobrać wartości y i z funkcji f 6