Spis treści 1. Wstęp Od neuronów biologicznych po sztuczne sieci neuronowe Budowa neuronu biologicznego... 4

Wielkość: px
Rozpocząć pokaz od strony:

Download "Spis treści 1. Wstęp Od neuronów biologicznych po sztuczne sieci neuronowe Budowa neuronu biologicznego... 4"

Transkrypt

1 Spis treści 1. Wstęp Od neuronów biologicznych po sztuczne sieci neuronowe Budowa neuronu biologicznego Sztuczny neuron Funkcje aktywacji Ogólny opis sieci neuronowej Algorytm wstecznej propagacji błędu Ogólny opis Funkcja celu Uczenie Algorytm Leabra Wstęp Uczenie Hebbowskie kwta Uczenie metodą korekcji błędów Leabra Rozpoznawanie linii Testy sieci oraz zbieranie wyników Opis Problem parzystości wielowymiarowej Wstęp Parzystość wielowymiarowa w sieciach Backprop XOR 2D XOR 3D XOR 4D XOR 5D Próba poprawy wyników... 37

2 6.3. Parzystość wielowymiarowa w sieciach Leabra XOR 2D XOR 3D XOR 4D XOR 5D Próba poprawy wyników Wnioski Problem rzeczywistych danych spam Opis zbioru danych Wyniki wstecznej propagacji Wyniki Leabry Wnioski Wnioski końcowe Literatura Dodatek Opis załączonych plików Program do generowania danych wejściowych dla problemu parzystości Program do analizy danych zebranych w trakcie uczenia

3 1. Wstęp Niniejsza praca poświęcona jest tematyce sztucznych sieci neuronowych. W szczególności skupia się na algorytmie Leabra, który jest używany w środowisku Emergent (następca PDP++), służącym do modelowania zachowania mózgu oraz procesów poznawczych. Chciałbym przedstawić główne mechanizmy rządzące algorytmem Leabra, sprawdzić jak zachowuje się w przypadku klasycznych problemów klasyfikacyjnych stawianych przed sieciami neuronowymi oraz porównać go z algorytmem wstecznej propagacji poprzez analizę wewnętrznych reprezentacji wytworzonych przez obie sieci dla tych samych zestawów danych. Na początku chciałbym przybliżyć ogólne podstawy funkcjonowania sztucznych neuronów i ich analogii do neuronów biologicznych, pokazać jak sztuczne neurony są łączone w sieci, po czym przybliżyć wspomniane algorytmy. Następnie przedstawić krótko zachowanie algorytmu w typowych dla niego problemach, a dalej sprawdzić jak zachowuje się w problemach klasyfikacji parzystości wielowymiarowej oraz identyfikacji maili ze spamem i porównać wyniki z algorytmem wstecznej propagacji. Wszystkie testy przeprowadzane zostały w środowisku Emergent (wersja 6.0.1), ze względu na implementację obu algorytmów i duże możliwości manipulowania parametrami sieci neuronowej. 3

4 2. Od neuronów biologicznych po sztuczne sieci neuronowe 2.1. Budowa neuronu biologicznego Komórka nerwowa, zwana w skrócie neuronem, stanowi podstawę układu nerwowego. Biorąc pod uwagę niewielkie rozmiary neuronów - od 4-150µm, mają one stosunkowo złożoną budowę. Poniżej można zobaczyć schematyczny rysunek pojedynczego neuronu: Rys. 1. Schemat budowy neuronu Z punktu widzenia algorytmu Leabra, najważniejsze dla nas jest to, co zachodzi wewnątrz neuronu oraz miejscu połączeń międzyneuronowych synapsach, dlatego warto pokrótce zapoznać się z jego budową i działaniem. W ciele neuronu (soma) (2) znajduje się jądro. Liczne i krótkie wypustki zwane dendrytami (1) służą do doprowadzania sygnałów wejściowych do neuronów. Pojedynczy, długi akson (3) rozgałęzia się na liczne kolaterale (4), które docierają do somy i dendrytów innych neuronów, tworząc kolejne synapsy. W dużym uproszczeniu rolą neuronu jest gromadzenie substancji chemicznej generowanej przez przychodzące sygnały zwanej neuromediatorem, która oddziałuje na synaptyczną błonę komórki prowadząc do zmiany potencjału elektrycznego. Zmiana jest proporcjonalna do ilości neuromediatora wydzielonego sumarycznie we wszystkich synapsach. Synapsy różnią się między sobą budową a co za tym idzie czułością, przez co różnie reagują na takie same bodźce. Gdy sumaryczny sygnał odebrany przez synapsy przekroczy pewną wartość krytyczną, zwaną progiem aktywacji, następuje wzbudzenie 4

5 neuronu, czyli gwałtowna emisja neuromediatora we wszystkich synapsach łączących się z aksonem danego neuronu generowany jest impuls nerwowy Sztuczny neuron Modele sztucznych neuronów powstały w wyniku inspiracji działaniem i budową neuronów biologicznych. Typowe sztuczne neurony posiadają wiele wejść będących analogią dendrytów oraz jedno wyjście reprezentujące biologiczny akson. Siłę danego połączenia określa się wagą, która zmienia się w trakcie procesu uczenia, pozwalając na wzmacnianie bądź hamowanie połączeń między określonymi neuronami. W dużym uproszczeniu sztuczny neuron zachowuje się jak procesor sumuje sygnały wejściowe i liczy wartość wyjścia używając pewnej funkcji aktywacji. Główną cechą odziedziczoną z neuronów biologicznych jest zdolność uczenia się. Wartość wyjścia i-tego neuronu przyjmującego sygnały od n-neuronów wejściowych można opisać równaniem: (1) reprezentuje wagę połączeń synaptycznych, sygnał przepływa od neuronu i do j, wartość dodatnia oznacza synapsę pobudzającą, ujemna hamującą, f() określa funkcję aktywacji, której dokładny opis znajduje się w rozdziale 2.3. Suma liczona jest od 0, ponieważ pierwsze połączenie oznacza bias reprezentujący próg aktywacji neuronu. Przyjmuje się, że jest to pojedynczy stały sygnał o wartości 1, dla którego zmieniając wagę połączenia ( ) mamy możliwość manipulowania aktywacją neuronu. Jest to szczególnie przydatne w przypadkach, gdy sumaryczny sygnał wejściowy jest bardzo duży, bądź bardzo mały i chcielibyśmy przesunąć go w obszar dużej zmienności funkcji aktywacji. Dla uproszczenia można wprowadzić sumaryczny sygnał wejściowy dany przez: (2) 5

6 Wartość wyjściowa dla takiego sygnału: (3) Mimo swojej prymitywnej architektury, sztuczne neurony potrafiły realizować wiele zadań z dziedziny klasyfikacji i przewidywania Funkcje aktywacji W zależności od modelu, funkcje aktywacji mogą być bardzo proste bądź skomplikowane. Najprostsze są nieliniowe funkcje skokowe zwracające 0 bądź 1 w zależności od tego, czy sygnał wejściowy przekroczył próg aktywacji δ czy nie. { (4) Jak to zostało wspomniane wcześniej, progiem aktywacji jest miejsce, powyżej którego przyjmuje się, że neuron przechodzi w stan wzbudzony i generuje impuls wyjściowy. W przypadku modeli sieci neuronowych jest to kwestia umowna, ponieważ zwykle nie nakłada się takich ograniczeń, tylko propaguje aktualne wyjście z neuronu niezależnie od tego, jakie ono jest. Funkcja skokowa jest nieciągła, przez co nie można stosować różniczkowych metod uczenia. W przypadku liniowych funkcji aktywacji mamy ciągłość, różniczkowalność w ograniczonym zakresie (można wyliczyć pierwszą pochodną, która w zasadzie sprowadza się do wyznaczenia znaku kierunku zmiany wag): (5) Z reguły parametry charakteryzują się następującymi własnościami: 0 < α < 1, a β = 0. Dodatkowo zwykle stosuje się ograniczenie by wartości funkcji mieściły się w przedziale [-1, 1] bądź [0, 1]. 6

7 Znacznie częściej stosuje się funkcje ciągłe, gładkie, które można różniczkować oraz łatwo modelować ich charakterystykę funkcje sigmoidalne. Ich dodatkową zaletą jest asymptotyczna zbieżność do określonych wartości najczęściej [0, 1] lub [-1, 1], przez co nie trzeba nakładać dodatkowych ograniczeń na proces wyznaczania wartości aktywacji. Jest wiele rodzajów funkcji sigmoidalnych, które mają różną charakterystykę przebiegu czy zbiór wartości. Poniżej zaprezentowana typowa unipolarna funkcja sigmoidalna: ( ) (6) Parametrem α regulujemy kat nachylenia krzywej, natomiast zawarty w członie pozwala na dopasowanie funkcji do zbioru argumentów. bias funkcja sigmoidalna funkcja skokowa Rys. 2. Wykres funkcji aktywacji skokowej i sigmoidalnej Wybór funkcji aktywacji i jej parametrów ma duży wpływ na proces uczenia jak i samo zachowanie neuronów oraz całej sieci. Ostatnia z prezentowanych funkcji daje spore możliwości, ze względu na to, że największą dynamikę zmian ma w pobliżu 0 (w tym konkretnym przypadku, za przesuwanie funkcji względem tego punktu odpowiada bias), co pozwala na przyspieszenie procesu uczenia. Dodatkowo nie ma problemów z wyznaczaniem pochodnych wyższych rzędów, co mocno przydaje się przy wstecznej propagacji błędów w głąb sieci. 7

8 2.4. Ogólny opis sieci neuronowej Samotny, pojedynczy neuron nie jest w stanie zbyt wiele zrobić, dlatego używa się neuronów najczęściej pogrupowanych w połączonych ze sobą warstwach, które łączy się tworząc sieć. Są różne metody budowania sieci, warstw jednak w przypadku tematu niniejszej pracy wyróżniamy trzy grupy neuronów umieszczone w trzech warstwach. Warstwa wejściowa odpowiada za przekazywanie sygnału w głąb sieci, nie podlega uczeniu. Następnie umieszczona jest warstwa ukryta, której celem jest wytworzenie reprezentacji mającej uprościć nauczenie się problemu warstwie ukrytej. Ostatnia warstwa zwana wyjściową zawiera neurony, których zadaniem jest wygenerowanie finalnej odpowiedzi sieci bazując na reprezentacji otrzymanej z warstwy ukrytej. W przypadku uczenia nadzorowanego, po wyznaczeniu aktualnego sygnału wyjściowego sieci, do neuronów wyjściowych podłączany jest oczekiwany rezultat na dany bodziec, co pozwala na wyznaczenie błędu rozbieżności między wartością otrzymaną a oczekiwaną oraz dalszą jego propagację w głąb sieci. warstwa i w ij warstwa j w jk warstwa k Rys. 3. Schemat trzywarstwowej sieci jednokierunkowej W badanych w pracy sieciach, wszystkie połączenia międzyneuronowe są połączeniami dwukierunkowymi symetrycznymi (waga jest taka sama niezależnie od kierunku przesyłania informacji). 8

9 3. Algorytm wstecznej propagacji błędu 3.1. Ogólny opis Algorytm wstecznej propagacji jest jednym ze skuteczniejszych algorytmów uczenia sieci wielowarstwowych dzięki wykorzystaniu gradientowych metod uczenia. Schemat jego działania wygląda następująco po ustawieniu wektora danych wejściowych propagujemy sygnał przez sieć, wyznaczając aktywację kolejnych warstw. Po dotarciu do warstwy wyjściowej, porównujemy otrzymany rezultat z wartością oczekiwaną, po czym wyznaczamy wartość funkcji celu. Następnie stosując wsteczną propagację przesyłamy informacje o błędach do neuronów warstwy wyjściowej oraz kolejno do warstw ukrytych, po czym następuje proces aktualizacji wag. Ponieważ wagi aktualizowane są w zależności od wartości różniczki (bardzo małe wartości przez większość czasu, dynamiczne zmiany na krótkich odcinkach), jest to algorytm wolno zbieżny mija wiele epok, zanim wartość błędu osiągnie minimum Funkcja celu Funkcja celu (zwana także funkcją kosztu, funkcją błędu) ma za zadanie określić na ile poprawnie sieć dopasowała sygnały wyjściowe do wejściowych, czyli wyznaczyć jak dobrze poradziła sobie z problemem. W standardowym algorytmie wstecznej propagacji stosuje się średniokwadratową miarę błędu SSE 1, dla pojedynczego wektora uczącego zadaną w postaci: (7) gdzie k określa liczbę neuronów wyjściowych, t k wartość oczekiwaną na wyjściu k-tego neuronu, a jest wprowadzoną wcześniej aktualną wartością na wyjściu neuronu. W przypadku, gdy mamy więcej próbek (p) musimy posumować błędy otrzymane dla każdej próbki z osobna: (8) 1 Summed Squared Error 9

10 Mając określoną miarę błędu, możemy zdefiniować funkcję celu, która będzie podlegała minimalizacji. Stosując wyżej wprowadzony błąd SSE definiujemy ją następująco: (9) Czynnik ma na celu eliminację stałej o wartości 2, która pojawi się w wyniku różniczkowania powyższego równania Uczenie W przypadku uczenia nadzorowanego (z nauczycielem) gdy wiemy jaki rezultat chcemy osiągnąć na wyjściu sieci dla konkretnego wzorca, uczenie polega na minimalizacji funkcji błędu. Błąd E(w) jest funkcją, której jedynym modyfikowalnym parametrem są wagi połączeń międzyneuronowych. Ze względu na ciągłość i różniczkowalność funkcji możemy stosować iteracyjną metodę gradientową największego spadku. W tym celu należy wyznaczyć gradient: ( ) (10) Wagi połączeń musimy modyfikować w kierunku malejącego gradientu funkcji błędu, w związku z czym otrzymujemy: (11) η oznacza współczynnik uczenia, dla którego najczęściej stosuje się wartości z przedziału [0.001; 0.3]. Szukając minimum stosuje się różne kryteria końca procesu może to być np.: (12) co jest tożsame z ograniczeniem wielkości zmiany pomiędzy dwoma kolejnymi krokami: (13) 10

11 Powyższe warunki nie gwarantują znalezienia minimum globalnego, dlatego częściej stosuje się kryteria dotyczące samej wartości błędu: (14) z dodatkowym zaznaczeniem, by powyższy warunek był spełniony przez k-kolejnych epok (z reguły 5-10). Rozwijając funkcję błędu korzystając z wcześniej przedstawionych zależności otrzymujemy: ( ) ( ( ) ) (15) Korzystając z reguły łańcuchowej liczenia pochodnych dla warstwy wyjściowej mamy: ( ) (16) Równanie (16) prowadzi do reguły delty: ( ) (17) Dla warstwy ukrytej natomiast otrzymujemy: ( ) ( ) (18) Zastosowany w programie Emergent algorytm wstecznej propagacji implementuje jeszcze jeden dodatkowy czynnik tzw. bezwładność, uwzględniający wartość ostatniej zmiany wag, co pozwala na przyspieszenie uczenia na płaskich odcinkach gradientów funkcji celu, czy też w pobliżu minimum lokalnego gdzie wartości gradientów są bliskie zeru: ( ) (19) 11

12 4. Algorytm Leabra 4.1. Wstęp Algorytm Leabra (Local, Error-driven and Associative, Biologically Realistic Algorithm) w uproszczeniu jest algorytmem łączącym uczenie metodą Hebba oraz wsteczną propagację błędów (opisaną w poprzednim rozdziale) wzbogacone o mechanizmy hamujące Uczenie Hebbowskie Hebb w trakcie badań nad komórkami nerwowymi (1949r.), zauważył, że jeśli dwa neurony są pobudzane w tym samym czasie, następuje wzmocnienie wiązania pomiędzy nimi: (20) Ma to uzasadnienie biologiczne, zgodnie z odkrytym w 1966r. długotrwałym wzmocnieniu synaptycznym (LTP) 2 - stymulacje neuronu prądem o częstotliwości ~ 100Hz przez około 1 sekundy zwiększają sprawność synaptyczną o % i jest to efekt długotrwały. Analogicznie odkryto długotrwałe osłabienie synaptyczne (LTD) 3. Zaobserwowane w korze mózgowej LTP/LTD mają postać asocjacyjną (Hebbowską), zależną od aktywności pre- i postsynaptycznej neuronu. (21) Zgodnie z powyższą zależnością, wagi mogłyby rosnąć do nieskończoności, dlatego chcąc to ograniczyć, często stosuje się normalizacje. W najprostszym przypadku może to być [6]: ( ) (22) Erikki Oja zaproponował zmodyfikowaną wersję [2],[3], dzięki której wektor wag samoczynnie dąży do : ( ) (23) 2 Long-Term Potential 3 Long-Term Depression 12

13 W uczeniu Hebbowskim głównym rezultatem jest dobry, wewnętrzny model najważniejszych w statystycznym ujęciu cech struktury prezentowanego środowiska. Jest to uczenie oparte o samoorganizację i odbywa się bez nadzoru. Dzięki właściwości wzmacniania połączeń w dla wzajemnych pobudzeń, wykrywają się korelacje pomiędzy sygnałami. Hebbian PCA Analiza głównych składowych (PCA 4 ) jest statystyczną metodą analizy czynnikowej, która pozwala pomóc opisać jak neurony specjalizują się w wykrywaniu korelacji. PCA jest procedurą przekształcającą zbiór domniemanie liniowo zależnych parametrów w zbiór zmiennych liniowo niezależnych. Zmienne zbioru wyjściowego nazywane są głównymi składowymi. Ich liczba jest mniejsza bądź równa liczbie oryginalnych parametrów. Po transformacji parametry uszeregowane są względem malejącej wariancji. Poniżej można zobaczyć, jak pojedynczy liniowy neuron, przyjmujący sygnały od szeregu wejść, przy użyciu uczenia Hebbowskiego realizuje PCA, a dokładniej znajduje najsilniejszą główną składową. Zbiorem wejściowym składającym się z 25 neuronów będzie pojedynczy wektor opisujacy linię biegnącą po przekątnej kwadratu (5x5). Ponieważ neuron realizuje liniową funkcję aktywacji, jego wartością wyjściową jest ważona suma sygnałów wejściowych: (24) Wagi zmieniają się po każdym wektorze t używając prostej reguły Hebbowskiej: Sumując powyższe równanie po wszystkich wektorach uczących t: (25) (26) Gdy dodatkowo przyjmiemy, że stała uczenia równa jest, gdzie N jest liczbą wektorów uczących t, suma zmienia się w średnią: (27) 4 Principal Component Analysis 13

14 Następnie rozwijając powyższe równanie otrzymujemy: (28) jest elementem macierzy korelacji pomiędzy między wejściami i i k, gdzie korelacja zdefiniowana jest jako ich średnia aktywność względem czasu. Dla porównania, standardowa miara korelacji określona jest następująco: (29) Gdzie oznacza wartość średnią, a wariancję. Głównym rezultatem wynikającym z powyższych równań jest to, że najsilniej zmieniają się wagi dla najbardziej skorelowanych ze sobą wejść, poniżej kilka kolejnych epok uczenia powyższym algorytmem: Można zauważyć, jak skorelowane jednostki dominują w procesie uczenia, decydując o kierunku i wartości zmiany wag. Gdyby kontynuować proces uczenia, wagi dwóch pierwszych połączeń cały czas by się zwiększały, podczas gdy ostatniego utrzymywała by się na relatywnie niskim poziomie nie mając wpływu na osiągane rezultaty. W dotychczasowym rozważaniu był brany pod uwagę jedynie jeden neuron ukryty. W przypadku, gdybyśmy zastosowali kilka neuronów ukrytych o takich samych parametrach (funkcja aktywacji i metoda uczenia) osiągnęlibyśmy dla wszystkich taki sam 14

15 rezultat, ponieważ zwykle dominuje jedna składowa. Aby zmusić sieć do wykrywania także cech kolejnych rzędów potrzebne były zmiany. Jednym rozwiązaniem byłoby zmuszenie neuronów do używania kolejnych słabszych elementów macierzy korelacji [Sanger 1989, Oja 1989], co prowadziłoby do sekwencyjnej metody PCA - SPCA 5. Jednak metoda ta zakłada hierarchizację cech dominujących w strukturach wejściowych. Alternatywą jest postrzeganie heterarchii cech, dzielących się na odrębne kategorie na tym samym poziomie jest to także analogiczna metoda dostrzeżona przez porównanie reprezentacji wytworzonych przez różne algorytmy uczące (m.in. SPCA) oraz podstawowe reprezentacje kory wzrokowej. W ten sposób doprowadzono do powstania uczenia Hebbowskiego realizującego warunkowe PCA (CPCA 6 ), które wykonywane jest dla ograniczonego zbioru wejść. W tym celu wprowadzona została funkcja warunkująca, której zadaniem jest określenie, kiedy neuron powinien wykonać PCA. Ponieważ PCA wykonywane jest automatyczne, w zasadzie ogranicza się to do włączania/wyłączania aktywności neuronu. Hebbowskie CPCA Metoda uczenia CPCA dosłownie interpretuje pomysł warunkowania uczenia. Zakłada, że dla danego wektora uczącego, można interpretować wartość wagi wejściowe, jako warunkowe prawdopodobieństwo tego, że neuron z którego pochodzi sygnał był aktywny gdy neuron docelowy także był aktywny. ( ) ( ) (30) Reguła uczenia prowadząca do takich wag jest nazywana algorytmem CPCA. Prawdopodobieństwo warunkowe wynoszące 0.5 oznacza brak korelacji aktywność danego neuronu wejściowego nie wpływa na aktywność neuronu docelowego. Gdy jest większe od 0.5, mamy korelację dodatnią, czyli najprawdopodobniej gdy aktywny jest neuron docelowy, neuron wejściowy także będzie aktywny. W przypadku wartości mniejszej od 0.5 jest większa szansa, że dla aktywnego neuronu docelowego neuron wejściowy będzie nieaktywny. Należy zauważyć, że w ogólności, a korelacje zostają takie same niezaleznie od kierunku propagacji sygnału. 5 Sequential Principal Component Analysis 6 Conditional Principal Component Analysis 15

16 Poniższa reguła aktualizacji wag spełnia warunki prawdopodobieństwa warunkowego CPCA z poprzedniego równania: [ ] ( ) (31) Oznaczając ( ) prawdopodobieństwo aktywacji neuronu bodźcem dla wektora t, oraz analogiczne prawdopodobieństwo aktywacji neuronu. Wstawiając do równania (30) otrzymujemy: co prowadzi do: [ ( ) ( ) ], (32) ( ( ) ( ) ) (33) Aby z powyższego wyznaczyć wartość wagi, musimy przyjąć, że stan równowagi osiągnięty jest, gdy waga się nie zmienia, czyli : ( ) ( ) ( ) ( ) ( ) (34) Powyższa równość doprowadza do początkowego założenia CPCA - równanie (30) 4.3. kwta W przypadku, gdy mamy wiele neuronów istnieje duże prawdopodobieństwo, że będą uczyć się tych samych korelacji. Dlatego często dodaje się mechanizmy hamujące czy też wymuszające konkurencję a zarazem większą specjalizację neuronów. Jednym z takich mechanizmów jest kwta 7 w dosłownym tłumaczeniu k-zwycięzców bierze wszystko. Polega to na ograniczeniu liczby neuronów, którym pozwala się zmieniać wagi, do k neuronów najsilniej reagujących na dany bodziec. Powoduje to jeszcze lepsze 7 k-winners Takes All 16

17 dostosowanie się tych neuronów do bodźca. Czasem stosuje się dodatkowe mechanizmy, ponieważ mogą zdarzyć się sytuacje, że pewna grupa neuronów będzie ciągle przegrywać i nie będzie miała możliwości modyfikacji swoich wag. W tym celu stosuje się np. karanie za zbyt dużą liczbę zwycięstw - po której następuje określona liczba epok, w której neuron nie może aktualizować swoich wag. kwta powoduje zawężenie badanej przestrzeni rozwiązań. Emergent pozwala na określenie hamowania różnego typu możemy określać procentowo udział neuronów podlegających uczeniu, podać konkretną ich liczbę czy też w ramach warstwy podzielić neurony na grupy, w ramach której następuje inhibicja Uczenie metodą korekcji błędów W przeciwieństwie do uczenia Hebbowskiego - modelowego, gdzie głównym zadaniem jest odzwierciedlenie ogólnej struktury środowiska, potrzebna jest też metoda, która pozwala generować odpowiednie wyjście na zadany wzorzec, która daje kontrolę nad osiąganymi rezultatami. Wielowarstwowym uogólnieniem reguły delty jest wsteczna propagacja opisana w rozdziale 3, jednak jest to metoda nieodzwierciedlająca biologicznej natury tego procesu. Metoda zwana GeneRec 8 oddaje właśności LTP/D i w ogólności lepiej reprezentuje procesy zachodzące w korze mózgowej. GeneRec Generalized Recirculation; approximates Almeida-Pineda recurrent backprop. Symmetric, midpoint version of GeneRec is used, which is equivalent to the contrastive Hebbian Learning (CHL) [O Reilly Neural Computation] [( ) [ ] ( ) ] (35) Miara błędu entropii skrośnej 9 8 GeneRec Generalised Recurculation 9 CE Cross Entropy 17

18 Pochodna CE 4.5. Leabra Ponieważ nie mamy wpływu na rezultat uczenia metodą Hebba, z drugiej strony reguła delty dobra do nauki warstwy wyjściowej, nie do końca sprawdza się w warstwach ukrytych ze względu na konieczność wskazania celu, Leabra używa kombinacji metody Hebba, hamowania wewnątrz warstw oraz korekcji błędów. Jest to uczenie zorientowane zadaniowo. Uczenie Hebbowskie połączone z konkurencją opartą na hamowaniu ograniczają korekcję błędów tak, by tworzyły się sensowne wewnętrzne reprezentacje. Mechanizm uczący jest kombinacją metody Hebba (CPCA) i oraz korekcji błędów poprzez wersję CHL algorytmu GeneRec w postaci: (36) Co po podstawieniu odpowiednich równań daje: [ ( ) ( )] (37) 18

19 Połączenie obu algorytmów można podsumować przez sześć podstawowych zasad, które doprowadziły do jego sformułowania: 1) Realizm biologiczny 2) Rozproszona reprezentacje wiele aktywnych neuronów 3) Hamowanie współzawodnictwem (kwta) powoduje ograniczenie aktywnych neuronów a zarazem lepszą ich specjalizację 4) Dwukierunkowa propagacja sygnału 5) Uczenie propagacją błędów (GeneRec) wpływa na reprezentację przekazując różnicę między spodziewanym wynikiem i aktualnie otrzymanym (człon błędu ) 6) Uczenie Hebbowskie kształtuje własne reprezentacje w nawiązaniu do korelacji pomiędzy danymi wejściowymi, wyszukuje wspólne cechy 4.6. Rozpoznawanie linii Przykładowy projekt 04 self_org.proj z pakietu symulacji Emergenta pokazuje wpływ członu Hebbowskiego - CPCA oraz kwta w algorytmie Leabra. Jest to uczenie bez nauczyciela, gdzie warstwie wejściowej przedstawiane są linie pionowe, poziome oraz ich kombinacje, a warstwa ukryta tworzy swoją ich reprezentację. Sieć składająca się z 25 neuronów wejściowych oraz 20 neuronów ukrytych była początkowo uczona zestawem danych zawierającym kombinację 2 linii poziomych bądź pionowych, a następnie przetestowana zbiorem składającym się z linii pojedynczych: 19

20 Oraz wynik testowania zbiorem linii pojedynczych: 20

21 Na powyższych rysunkach na dole jest warstwa wejściowa, powyżej warstwa ukryta. Widać wyraźnie, że mimo uczenia sieci zbiorem składającym się z kombinacji linii, sieć wyspecjalizowała neurony w rozpoznawaniu poszczególnych linii. Ponieważ wsteczna propagacja jest uczeniem z nauczycielem, nie jesteśmy w stanie przeprowadzić analogicznego testu. Gdyby jednak chcieć wymusić na sieci określone reakcje w zależności od rodzaju prezentowanych linii na pewno nie byłyby one tak jednoznaczne jak w przypadku uczenia Hebbowskiego z hamowaniem kwta. 21

22 5. Testy sieci oraz zbieranie wyników 5.1. Opis Wszystkie eksperymenty zostały przeprowadzone w programie Emergent w wersji bit na komputerze z procesorem Intel Core i5 M520, 8GB pamięci RAM w systemie operacyjnym Microsoft Windows 7. Część testów została powtórzona na tym samym komputerze i systemie Linux Fedora 17 Desktop Edition oraz Ubuntu 12.04, jednak otrzymane wyniki oraz szybkość nie różniły się od wcześniej otrzymanych. Domyślnie program Emergent w trakcie uczenia nie zapisuje żadnych informacji, co więcej, nie wszystkie parametry podlegają monitorowaniu. W celu przeprowadzenia badań i zebrania danych zostały wprowadzone poniżej opisane zmiany. Do standardowo monitorowanych przez program danych, które trafiają do tabel TrialOutputData oraz EpochOutputData zostało dodane rejestrowanie aktywności warstwy ukrytej, we wstecznej propagacji znajdujące się w parametrze act a w Leabrze w act_m. Dane te trafiają do tabeli TrialOutputData, która jest aktualizowana po prezentacji każdego wektora uczącego. Rejestrowane są parametry takie jak prezentowany wektor, numer epoki, błąd sieci dla danego wektora i inne. EpochOutputData jest aktualizowana po każdej epoce, czyli po prezentacji wszystkich wektorów należących do zbioru uczącego. Zawiera informacje o średnim błędzie SSE, liczbie źle sklasyfikowanych wektorów, średniej liczbie cykli (faz plus/minus dla Leabry) dla wektora oraz całkowitym czasie, jaki potrzebny był na przetworzenie epoki. Po każdej epoce tabela TrialOutputData jest resetowana i wypełniana od nowa. Aby uniknąć ręcznego zapisywania danych z tabeli konieczna była zmiana w programach uczących. Dodany został program o nazwie SaveTrialOutputData, który wykonywany jest na końcu każdej epoki. Jego parametrami są katalog docelowy, do którego zapisywane będą dane, monitorowana sieć oraz interwał, z jakim zapisywane będą dane. W przypadku wstecznej propagacji było to co kilka-kilkadziesiąt epok ze względu na małą zmienność i wolną zbieżność algorytmu, dla Leabry zwykle dane zapisywane były co epokę. 22

23 Poniżej skrypt programu: // SaveTrialOutputData // args: global script parameters (arguments) trial_mon_data = TrialOutputData (DataTable) network = XOR_5D (Network) // vars: global (non-parameter) variables fname = data\tod_0001.dat (String) epoch = 0001 (String) // data\\ folder = data\ (String) save_interval = 1 (int) is_active = true (bool) // init_code: code to initialize the program epoch=network->epoch fname="tod"->cat(epoch)->cat(".dat") // prog_code: main code to run program if (is_active) epoch=tamisc::leadingzeros(network.epoch, 4) fname=folder+"tod_"+epoch+".dat" if ((network->epoch % save_interval) == 0) trial_mon_data->savedata(fname,,, ) Wynikowe pliki automatycznie były numerowane aktualną liczbą epok. 23

24 6. Problem parzystości wielowymiarowej 6.1. Wstęp Problem wielowymiarowej parzystości nie jest liniowy, przez co stwarza spore problemy w trakcie uczenia. W ramach projektu badana była parzystość n-wymiarowa ( ) zrezygnowano z analizy wyższych wymiarów ze względu na słabe wyniki we wspomnianym przedziale. W programie Emergent zostały stworzone dwa projekty o takiej samej strukturze warstw, liczbie neuronów jeden dla sieci z algorytmem wstecznej propagacji, drugi dla sieci Leabra. Przyjęto następującą strukturę sieci: 5 neuronów wejściowych w warstwie wejściowej 25 neuronów ukrytych w jednej warstwie ukrytej 2 neurony wyjściowe w warstwie wyjściowej Wektor wejściowy był 5-bitowy dla wszystkich wymiarów. Obie sieci były uczone takimi samymi danymi wejściowymi. W przypadku badania parzystości o niższej liczbie wymiarów pierwsze pozycje wektora były zerowane. Poniżej przykład jeden z przykładowych wektorów dla trzech wymiarów: Rys. 4. Graficzna prezentacja zbioru danych dla problemu XOR w 3 wymiarach Jest to minimalny wektor dla problemu trójwymiarowego XOR. Dla każdego wymiaru było przygotowanych kilka zbiorów danych wejściowych z różną liczbą wektorów. Poniżej przykład dla XOR dwuwymiarowego, który składa się z 40 wektorów. Na każdy z 24

25 czterech możliwych punktów problemu przypada 10 wektorów, które zostały losowo rozmieszczone w ich pobliżu. 1 XOR 2D Class 1 Class Rys. 5. Rozmieszczenie danych dwuwymiarowego problemu XOR na płaszczyźnie Aby wykluczyć możliwość wpływu struktury wektora wejściowego przez wypełnienie zerami nieużywanych pozycji, analizowane były także projekty o sieciach konstruowanych pod konkretne problemy. Wszystkie miały taką samą ilość neuronów ukrytych oraz wyjściowych (odpowiednio 25 i 2) i różniły się liczbą neuronów wejściowych w zależności od ilości wymiarów analizowanego problemu. Jednak różnic w wynikach nie było, dlatego w finalnej wersji zastosowano projekt bardziej uniwersalny. Obie sieci były uczone takimi samymi zbiorami danych, były to odpowiednio wersje dokładne, gdzie punkty wypadały w rogach wielowymiarowych kwadratów i zawierały następujące liczby wektorów dla poszczególnych wymiarów: Liczba wymiarów Liczba wektorów dokładnych Liczba wektorów rozmytych

26 W przypadku wstecznej propagacji kryterium zatrzymania uczenia było osiągnięcie średniego błędu SSE na poziome nieprzekraczającym 0.1 przez co najmniej 10 kolejnych epok. Dla sieci Leabra nie było możliwości warunkowania średniej wartości błędu, można było jedynie określić ilość błędnie sklasyfikowanych wektorów (aby wektor można było uznać za poprawnie sklasyfikowany błąd SSE musiał być równy 0) Parzystość wielowymiarowa w sieciach Backprop XOR 2D Pierwszym badanym przypadkiem jest parzystość dwuwymiarowa, w przypadku której praktycznie zawsze można osiągnąć sukces. Do nauczenia tego problemu teoretycznie jak i praktycznie wystarczy 1 neuron ukryty oraz 1 neuron wyjściowy, więc w przypadku sieci zbudowanej z 25 neuronów ukrytych i 2 wejściowych tym bardziej nie ma problemu z uczeniem. Poniżej umieszczony jest wykres błędu (SSE) dla uczenia sieci o wspomnianej strukturze: Rys. 6. Wykres błędu SSE dla problemu XOR 2D w sieci wstecznej propagacji Oś pionowa oznacza aktualną wartość błędu w danej epoce, której numer charakteryzuje oś pozioma. Jest to konwencja stosowana dla wszystkich tego typu wykresów. Oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 1300: 26

27 Rys. 7. MDS aktywacji warstwy ukrytej w epoce 1300 Poniżej zsumowane i znormalizowane aktywacje neuronów warstwy ukrytej względem klas. Dane zostały wygenerowane na podstawie aktywacji pochodzącej od wszystkich neuronów danej klasy a następnie znormalizowane do 1. Wyniki dla każdej klasy normalizowane były osobno. Rys. 8. Sumaryczna znormalizowana aktywacja neuronów warstwy ukrytej w podziale na klasy Intensywność koloru odwzorowuje wartość aktywacji biały oznacza brak wzbudzenia, czarny najsilniejsze wzbudzenie. Każdy kwadrat reprezentuje pojedynczy neuron, neurony pogrupowane są w warstwy, patrząc od dołu są to kolejno warstwa wejściowa, ukryta i wyjściowa. Taka konwencja stosowana jest we wszystkich rysunkach tego typu. 27

28 XOR 3D W porównaniu do XOR2D, ten problem można powiedzieć, że jest optymalny do testowania sieci ze względu na to, że nie jest już taki prosty, ale z drugiej strony nie jest też nadmiernie skomplikowany jak wyższe wymiary parzystości. Poniżej wykresy uczenia sieci, w której było 6 neuronów ukrytych, zbiorem podstawowym XOR3D składającym się z 8 wektorów: Rys. 9. Wykres błędu SSE, sieć BP, problem XOR 3D Oraz poniżej MDS aktywacji neuronów warstwy ukrytej z epoki 14725: Rys. 10. MDS aktywacji neuronów warstwy ukrytej, sieć BP, problem XOR 3D, epoka

29 Oraz aktywność neuronów: Rys. 11. Aktywność neuronów dla poszczególnych wektorów uczących w epoce Rys. 12. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka Poniżej analogiczne wykresy dla sieci o standardowej strukturze opisanej w rozdziale 6.1, uczonej lekko rozmytym problemem XOR 3D składającym się z 80 punktów. Rys. 13. Wykres błędu SSE, sieć BP, problem XOR 3D 29

30 Rys. 14. MDS aktywacji warstwy ukrytej, sieć BP, problem XOR 3D, epoka 1500 Zwiększenie liczby wektorów uczących pozytywnie wpłynęło na zmniejszenie liczby epok potrzebnych do nauczenia problemu. Jednak wzrost liczby neuronów ukrytych a zarazem brak mechanizmów współzawodnictwa wpływa negatywnie na zbieżność procesu uczenia widać wyraźnie sporą liczbę skoków na wykresie błędów. Rys. 15. Średnia aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 1650 Przy takiej liczbie neuronów ukrytych Emergent wielokrotnie nie potrafił znaleźć rozwiązania bądź z niego wypadał poniżej kilka przykładów wykresy błędów SSE: 30

31 Poniższy przykład jest dla takiej samej sieci tyle, że do parametrów został dodany czynnik bezwładności o wartości XOR 4D Każdy kolejny wymiar stawał się coraz bardziej czasochłonny i trudny. Poniżej wykres funkcji błędu udanego uczenia sieci zbiorem 48 wektorów opisujących problem XOR 4D (rozmyty wokół punktów): 31

32 Rys. 16. Wykres błędu SSE, sieć BP, problem XOR 4D Poniżej grafiki prezentująca MDS a następnie aktywację poszczególnych warstw dla powyższego zbioru danych w epoce 7150, dla której wartość błędu SSE wyniosła 0.052: Rys. 17. MDS aktywności warstwy ukrytej, sieć BP, problem XOR 4D, epoka

33 Rys. 18. Sumaryczna wartość aktywacji neuronów warstwy ukrytej w podziale na klasy, epoka 7150 Na wykresie MDS widać separację klas, jednak można zauważyć po lewej stronie u dołu jak dwie grupy wektorów należących do różnych klas prawie się przecinają, skutkuje to tym, że sieć próbując się uczyć często błędnie klasyfikuje wektory należące do tej właśnie grupy. Na Rys. 18 widać wyraźną dominację dwóch neuronów warstwy ukrytej dla obu klas. Prawdopodobnie dominującą rolę w klasyfikacji odegrały dwa neurony słabiej aktywujące się dla każdej z klas z osobna, widoczne przy prawej krawędzi rysunku. W przypadku XOR 4D, podobnie jak we wcześniejszym wiele prób nauczenia sieci kończyło się wypadaniem z rozwiązań. Dane dokumentujące te przypadki można znaleźć w zbiorach dołączonych do pracy XOR 5D Problem z pięcioma wymiarami sprawiał już całkiem sporo problemów, co można zaobserwować na poniższym wykresie wartości funkcji błędu: 33

34 Rys. 19. Wykres wartości błędów SSE Poniżej MDS aktywacji warstwy ukrytej gdzie znowu widać separację, ale widać też na środku po lewej stronie miejsce sprawiające problemy. Na następnej grafice pokazującej aktywację neuronów poszczególnych warstw zaznaczone są 2 wzorce, które zostały nieprawidłowo sklasyfikowane. Należą one właśnie do tego miejsca. 34

35 Rys. 20. MDS wartości aktywacji neuronów warstwy ukrytej, sieć BP, problem XOR5D, epoka

36 Rys. 21. Wykres wartości aktywacji neuronów wszystkich warstw w zależności od wektora uczącego, epoka

37 Rys. 22. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, sieć BP, problem XOR 5D, epoka Można zauważyć, że przy 5 wymiarach problem ten angażuje wiele neuronów ukrytych i mimo upływu wielu epok wciąż nie udało się osiągnąć stuprocentowej skuteczności. Powyższy przykład jest jedną z niewielu udanych prób nauczenia sieci danymi XOR 5D. W przypadku, gdy jako dane wejściowe stosowany był zbiór dokładny, składający się z 32 wzorców wyniki były jeszcze gorsze i ani razu nie udało się osiągnąć (i utrzymać) zakładanego pułapu błędu. Z Rys. 22 wynika, że dla obu klas dominowały te same neurony warstwy ukrytej, więc rozróżnianie przynależności do klas zależało od słabiej bądź rzadziej aktywnych neuronów Próba poprawy wyników W celu spróbowania poprawienia otrzymanych rezultatów chodzi o liczbę epok potrzebnych do nauczenia jak i sam fakt znalezienia rozwiązania w przypadku wstecznej propagacji modyfikowano głównie współczynnik uczenia. Domyślnie przyjmuje wartość 0.2, w przypadku zmniejszenia tej wartości do poziomu 0.1 czy pogorszyła się jedynie szybkość, z jaką sieć znajdywała rozwiązanie, zmian jakościowych nie było. Dodanie członu z czynnikiem bezwładności także nie wpłynęło pozytywnie na proces uczenia. 37

38 6.3. Parzystość wielowymiarowa w sieciach Leabra W przypadku uczenia sieci Leabra, trzeba zwrócić uwagę na inne kryterium kończenia uczenia. Dla wstecznej propagacji jest to osiągnięcie pewnego progu błędu SSE i utrzymanie go przez określoną liczbę epok. W Leabrze tym kryterium jest parametr cnt_err określający liczbę wektorów, dla których błąd wynosi 0.00, czyli jest to dużo bardziej restrykcyjne kryterium XOR 2D Wyniki uczenia sieci problemem dwuwymiarowym wykres błędu oraz MDS aktywności warstwy ukrytej dla epoki 130: Rys. 23. Aktywacje neuronów poszczególnych warstw w epoce 130 Jak widać, problem dwuwymiarowy raczej nie stwarzał problemów i sieć bardzo szybko uczyła się go uczyła. Niepokojące jest, że mimo znalezienia rozwiązania sieć potrafiła gwałtownie z niego wypaść o czym świadczą ostre piki na wykresie błędów. 38

39 Rys. 24. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 130 Poniżej przykłady uczenia większym zestawem danych (MDS dla wyników epoki 91): I jeszcze jeden rezultat dla takiego samego zestawu (MDS dla wyników epoki 261): W przypadku wczesnych wersji Emergenta z serii 5.0 były problemy nawet z XOR 2D, przykładowy wykres błędów: 39

40 Jak widać z powyższych testów zwiększenie liczby wektorów uczących w przeciwieństwie do wstecznej propagacji skutkuje pogorszeniem i wydłużeniem procesu uczenia XOR 3D Wyniki uczenia zbiorem opisującym problem trójwymiarowy wykres błędów oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 220: Rys. 25. Wartość aktywacji neuronów na poszczególne wzorce, epoka

41 Rys. 26. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 220 Powtórny test dla współczynnika uczenia zmniejszonego o połowę, do wykres błędów oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 349: Rys. 27. Wartość aktywacji neuronów, epoka

42 Rys. 28. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 349 Kolejny rezultat, dla współczynnika uczenia i rozszerzonego zbioru uczącego wykres błędów oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 875: Rys. 29. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 875 Można zauważyć, że zwiększenie liczby neuronów ukrytych spowodowało większe skoki wartości błędów, jednak patrząc na aktywność neuronów wytworzone reprezentacje 42

43 są bardziej wyraziste. Jest to także zapewne efekt dłuższego procesu uczenia większy zbiór wydłużył ten czas ponad dwukrotnie XOR 4D Wyniki uczenia zbiorem czterowymiarowym zbiorem danych poniżej wykres błędu, MDS wartości aktywacji neuronów warstwy ukrytej w epoce 2100: Rys. 30. Aktywność neuronów względem poszczególnych wzorców uczących, epoka

44 Rys. 31. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 2100 Inny przypadek wykres błędu oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 2990: Rys. 32. Wizualizacja aktywności neuronów w zależności od wektora uczącego, epoka

45 Rys. 33. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka XOR 5D Poniżej wyniki jednej z nielicznych prawie udanych prób uczenia tego problemu. Kryterium końca zostało jednak zmienione na to, by w ciągu 5 kolejnych epok liczba wektorów, dla których sieć generowała niezerowy błąd była równa 0. Widać dużą zmienność wartości funkcji błędów. Warto zauważyć, że między epokami sieć wielokrotnie osiągała bezbłędny poziom. Rys. 34. Wykres błędu SSE, sieć Leabra, problem XOR 5D 45

46 Rys. 35. MDS aktywności neuronów warstwy ukrytej, sieć Leabra, problem XOR 5D, epoka

47 Rys. 36. Aktywność neuronów dla poszczególnych wektorów uczących, sieć Leabra, problem XOR 5D, epoka 3470 Rys. 37. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka 3470 Oraz drugi przypadek gdzie uczono większym zestawem danych poniżej wykres błędu oraz MDS wartości aktywacji neuronów warstwy ukrytej w epoce 669: 47

48 Rys. 38. Sumaryczna aktywność neuronów warstwy ukrytej w podziale na klasy, epoka Próba poprawy wyników W celu poprawy rezultatów modyfikowana była cała gama parametrów sieci, neuronów jak i parametrów uczących. Podstawowymi parametrami mającymi wpływ na proces uczenia były współczynnik uczenia jak i kwta. Współczynnik uczenia, domyślnie dla Leabry wynoszący 0.01 ustawiano na wartości od do 0.2. Stosowano także mechanizmy Emergenta pozwalające na zmniejszenie wartości współczynnika uczenia co określoną liczbę epok (lrate schedule), gdzie próbowano zmieniać wartości logarytmicznie od 0.1 do co 25 bądź 50 epok, albo z 0.2 do w takich samych interwałach. W celu poprawy stabilizacji w trakcie normalnego procesu uczenia, po osiągnięcia błędu na poziomie 0, próbowano także ręcznie zmniejszyć współczynnik uczenia np bądź 1000-krotnie tak, by sieć nie wypadała ze znalezionego rozwiązania. Jednak nie przyniosło to spodziewanych efektów, a stabilizacja była pozorna i chwilowa. 48

49 Następnym modyfikowanym parametrem była wartość kwta części hamującej. Domyślnie wynosi ona 25%, co oznacza, że jedynie 25% neuronów warstwy ukrytej osiągającej najlepsze wyniki podlega dalszemu uczeniu. Ponieważ w części problemów problemem była nadmierna aktywacja (gdzie całe grupy neuronów reagowały maksymalnym pobudzeniem na różne grupy sygnałów), poprzez zmniejszenie kwta próbowano wpłynąć na aktywację. Sprawdzone były wartości 10% oraz sztywne ograniczenie do 2,3 i 5 neuronów. Mimo, że aktywność neuronów warstwy ukrytej zmalała, nie wpłynęło to na poprawę wyników. Dlatego, w kolejnym kroku zmniejszono udział części Hebbowskiej (parametr k_hebb) odpowiedzialnej za samoorganizację z do , a nawet do jednak to także nie poprawiło rezultatów. Ostatnimi z modyfikowanych parametrów były te, modelujące kształt funkcji aktywacji. Poprzez zmianę w_gain została ona rozciągnięta i wygładzona, dzięki czemu powinna lepiej reagować w szerszym zakresie danych wejściowych. Wykres (Rys. 41) zmiany kształtu funkcji znajduje się w rozdziale 7.3. Mimo zastosowania zmian wielu parametrów nie udało się rozwiązać kluczowych problemów dotykających sieci Leabra w przypadku problemu parzystości Wnioski Z przedstawionych wyżej wyników nie można powiedzieć, by którakolwiek implementacja dobrze radziła sobie z problemem parzystości wielowymiarowej. W badanych przy innych okolicznościach projektach, wsteczna propagacja po wielu cyklach uczących z reguły osiągała zadowalające rezultaty. Tutaj oba algorytmy cechowały się dużą zmiennością. Na pewno można zauważyć znaczne przyspieszenie procesu uczenia w algorytmie Leabra, jednak jego niestabilność w obecnej implementacji nie pozwala jednoznacznie potwierdzić skuteczności. Duże wahania błędu pomiędzy kolejnymi epokami, wypadanie daleko poza rozwiązanie nawet przy ograniczeniu współczynnika uczenia do poziomu 1e-6 raczej zniechęcają do używania. Nie sposób jednak nie zauważyć wpływu wszystkich zastosowanych do konstrukcji algorytmu elementów, które kilkusetkrotnie przyspieszają proces uczenia, a otrzymane w ich wyniku reprezentacje dzięki stosowaniu inhibicji są bardzo spójne. Dodatkowo w warstwie ukrytej możemy zaobserwować wyraźne aktywacje, których brak w przypadku wstecznej propagacji gdzie większość neuronów jest aktywna a ich aktywności nieznacznie się od siebie różnią. Potrzeba wielu tysięcy epok by to zmienić. 49

50 Zastanawiający jest fakt, że dla problemów parzystości Emergent bardzo źle zachowuje się w przypadku przeuczenia sieci. Gdybyśmy zatrzymali się przy z góry ustalonym kryterium można by próbować opisywać ten stan, jednak po przeuczeniu nawet wsteczna propagacja cechuje się dużymi skokami i nieuzasadnionym wypadaniem z rozwiązania, by wpaść w odległe minimum lokalne, z którego nie potrafi wybrnąć. Analogicznie w przypadku Leabry z reguły wartości błędu stopniowo maleją, by po osiągnięciu i trwaniu w minimum przez kilka epok gwałtownie z niego wypaść. Dlatego spore wątpliwości budzi implementacja algorytmu wstecznej propagacji oraz CHL, które w dużej mierze odpowiadają za zmierzanie w kierunku malejącego błędu. Nie ma żadnych zastrzeżeń do implementacji części uczenia Hebbowskiego jak i hamowania kwta, co oddaje przykład reprezentacji wytworzonej po uczeniu zbiorem linii. Co do wstecznej propagacji, należy zauważyć, że brak mechanizmu konkurencji (np. kwta) powodował, że neurony wyjściowe dostawały bardzo dużo sygnałów z warstwy ukrytej. Mogło to utrudniać znajdywanie odpowiedniego kierunku poszukiwania rozwiązania. W przypadkach, gdy liczba neuronów ukrytych została odgórnie ograniczona do np. 6 wykres błędu był o wiele bardziej spójny i nie zawierał nagłych skoków. Algorytm Leabry, czy też pomijając część Hebbowską CHL wydaje się być obiecującym ze względu na szybkość osiągania wyników. Plusem jest także analogia do neuronów biologicznych, jednak spowodowane tym skomplikowanie procesu uczenia jak i samej budowy neuronów, może być powodem, dla którego trudno osiągnąć zadowalającą zbieżność. 50

51 7.1. Opis zbioru danych 7. Problem rzeczywistych danych spam Spam jest zbiorem 4601 wektorów, zebranym i opracowanym przez Hewlett- Packard Labs, które opisują e oznaczone jako spam bądź nie spam. Dane opisane są poprzez 57 parametrów opisujących występowanie określonych słów bądź znaków w mailu wektorów opisuje maile nie będące spamem, a pozostałe 1813 będące. Docelowym przeznaczeniem była konstrukcja filtrów antyspamowych. W celu zastosowania danych w programie Emergent zostały one poddane procesowi normalizacji względem kolumn, tak, by wartości przedstawiane neuronom wejściowym należały do przedziału [0,1] Wyniki wstecznej propagacji Do badania została skonstruowana sieć o 19x3 = 57 neuronów wejściowych, 6x6 = 36 neuronów ukrytych oraz 2 neurony wyjściowe. Żadne pozostałe parametry nie były modyfikowane współczynnik uczenia pozostawiono na wartości 0.2. Rys. 39. Wykres błędu uczenia sieci BP problemem Spam 51

52 Oraz seria wykresów aktywacji neuronów warstwy ukrytej po transformacji MDS w epokach 0, 1, 5 i 100 (są to dane zebrane po epoce, czyli w przypadku epoki 0 nastąpił jeden pełen cykl uczący). Oraz finalny dla epoki 999: 52

53 Rys. 40. MDS aktywacji neuronów warstwy ukrytej dla problemu Spam w sieci BP, epoka 999 Wyraźnie widać stopniowo postępującą coraz wyraźniejszą separację klas. Dla ostatniego wykresu błąd SSE wynosił Jak można zaobserwować, wsteczna propagacja od samego początku bardzo sprawnie radziła sobie z problemem, by osiągnąć całkiem zadowalający wynik końcowy dla tak złożonego problemu Wyniki Leabry Do badania Leabry została zbudowana analogiczna sieć jak we wstecznej propagacji, o takiej samej liczbie neuronów i ich rozmieszczeniu. Jednak w tym przypadku ze względu na niezadowalające wyniki modyfikowanych było kilka parametrów. W celu poprawy zbieżności modyfikowane były parametry dotyczące kwta wartość została zmniejszona z 25% do 10% oraz sprawdzono także dla wartości 2 oraz 5 neuronów. Wartość współczynnika uczenia zredukowano z 0.01 do Poniżej wykresy błędów SSE: 53

54 W pierwszym przypadku (co zdarzało się dość często przy ponownych próbach) sieć całkowicie wypadła z rozwiązania, w drugim natomiast nie potrafiła spaść poniżej wartości 0.35, co w porównaniu z wsteczną propagacją nie jest zbyt zadowalającym rezultatem. Próbowano także zmniejszyć wpływ części Hebbowskiej z do oraz , jednak to także nie przyniosło żadnych rezultatów. Ostatnim z modyfikowanych parametrów były kształt funkcji aktywacji jak i parametry połączeń neuronów. Zmieniając parametr gain w LeabraUnitSpec ze 100 na 4 (co powoduje wygładzenie funkcji aktywacji), oraz wt sig gain w LeabraConSpec z 6 na 3 i stosując wcześniej opisane metody odnośnie kwta, wpływu części Hebbowskiej udało się nieznacznie poprawić wyniki Leabry. Rys. 41. Wygładzona funkcja aktywacji po zmianie parametrów Poniżej rezultaty uczenia dla tak ustawionej sieci na początek wykres błędów: 54

55 MDSy aktywacji neuronów warstwy ukrytej po 0 i 1 epoce: Oraz analogiczny wykres dla epoki 999, której SSE wynosiło 0.229: 55

56 Rys. 42. MDS wartości aktywacji neuronów warstwy ukrytej dla problemu Spam w sieci Leabra, epoka 999 Trudno mówić tu o diametralnej poprawie, jednak pozwoliło to nieco ustabilizować proces uczenia i z wartościami błędów SSE osiągnąć poziom o ponad 0.1 niższy niż poprzednio Wnioski W powyższych rezultatach nie został ujęty czas uczenia, ograniczone zostało to tylko do liczby epok, natomiast czas trwania jednej epoki w przypadku tego problemu nie był jednoznaczny dla obu algorytmów. Uczenie 1000 epok wsteczną propagacją trwało niecałą godzinę, natomiast w przypadku Leabry i takiej samej konfiguracji sprzętowosystemowej zajęło to ponad dobę (około 28h). Co więcej, mimo znacznie większego nakładu obliczeniowego wyniki Leabry nie były wcale zadowalające, wręcz przeciwnie. Sieć wstecznej propagacji osiągała zdecydowanie lepsze rezultaty po kilku epokach niż Leabra po całym cyklu. Ponadto algorytm cechował się wypadaniem z dobrego kierunku poszukiwania rozwiązania podobnie, jak to miało miejsce w przypadku problemów parzystości. 56

57 8. Wnioski końcowe Z wcześniej przedstawionych badań można zaobserwować, że skuteczność Leabry w przypadku realnych problemów klasyfikacyjno-obliczeniowych jest niewielka. O tyle, o ile w przypadku parzystości wielowymiarowej Leabra bardzo szybko znajdywała rozwiązanie, martwiące było nagłe i nieuzasadnione wypadanie z niego by ostatecznie osiągnąć całkowicie błędny stan. Leabra lepiej radziła sobie na małych zbiorach danych, gdy liczba wektorów uczących była niewielka, niż gdy prezentowano wiele bardzo podobnych wektorów należących do danej klasy. Jest to zachowanie całkiem przeciwne od rezultatów osiąganych przez wsteczną propagację, gdzie duży zbiór uczący znacznie poprawiał szybkość znajdywania rozwiązania. Jak pokazał problem spamu, dodatkowo w przypadku dużych zbiorów danych czas uczenia był wielokrotnie dłuższy niż to samo zadanie w sieci wstecznej propagacji. W związku z tym, można stwierdzić, że Leabra w dobry sposób modeluje wybrane zagadnienia z dziedziny psychologii, neurologii czy neuropsychologii, których nie sposób byłoby przedstawić wsteczną propagacją, jednak w obecnym stanie nie nadaje się do rozwiązywania rzeczywistych problemów klasyfikacyjnych. 57

Spis treści 1. Wstęp Od neuronów biologicznych po sztuczne sieci neuronowe Budowa neuronu biologicznego... 4

Spis treści 1. Wstęp Od neuronów biologicznych po sztuczne sieci neuronowe Budowa neuronu biologicznego... 4 Spis treści 1. Wstęp... 3 2. Od neuronów biologicznych po sztuczne sieci neuronowe... 4 2.1. Budowa neuronu biologicznego... 4 2.2. Sztuczny neuron... 5 2.3. Funkcje aktywacji... 6 2.4. Ogólny opis sieci

Bardziej szczegółowo

Wewnętrzne reprezentacje sieci neuronowych

Wewnętrzne reprezentacje sieci neuronowych Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Katedra Informatyki Stosowanej Dariusz Górski nr albumu: 177779 Praca magisterska na kierunku Fizyka Techniczna, specjalność

Bardziej szczegółowo

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia

Bardziej szczegółowo

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ Celem ćwiczenia jest zapoznanie się ze sposobem działania sieci neuronowych typu MLP (multi-layer perceptron) uczonych nadzorowaną (z nauczycielem,

Bardziej szczegółowo

Metody Sztucznej Inteligencji II

Metody Sztucznej Inteligencji II 17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału

Bardziej szczegółowo

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja różnych rodzajów sztucznych sieci neuronowych. Biologiczny model neuronu Mózg człowieka składa się z około 10 11 komórek nerwowych,

Bardziej szczegółowo

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

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3 Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3 Andrzej Rutkowski, Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-11-05 Projekt

Bardziej szczegółowo

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

8. Neuron z ciągłą funkcją aktywacji. 8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i

Bardziej szczegółowo

Wstęp do sztucznych sieci neuronowych

Wstęp do sztucznych sieci neuronowych Wstęp do sztucznych sieci neuronowych Michał Garbowski Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 15 grudnia 2011 Plan wykładu I 1 Wprowadzenie Inspiracja biologiczna

Bardziej szczegółowo

Temat: Sieci neuronowe oraz technologia CUDA

Temat: Sieci neuronowe oraz technologia CUDA Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład 5 Sztuczne sieci neuronowe (SSN) 8 grudnia 2011 Plan wykładu 1 Biologiczne wzorce sztucznej sieci neuronowej 2 3 4 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką,

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Uczenie maszynowe Sztuczne sieci neuronowe Plan na dziś Uczenie maszynowe Problem aproksymacji funkcji Sieci neuronowe PSZT, zima 2013, wykład 12

Bardziej szczegółowo

Analiza składowych głównych. Wprowadzenie

Analiza składowych głównych. Wprowadzenie Wprowadzenie jest techniką redukcji wymiaru. Składowe główne zostały po raz pierwszy zaproponowane przez Pearsona(1901), a następnie rozwinięte przez Hotellinga (1933). jest zaliczana do systemów uczących

Bardziej szczegółowo

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe Trening jednokierunkowych sieci neuronowych wykład 2. dr inż. PawełŻwan Katedra Systemów Multimedialnych Politechnika Gdańska

Bardziej szczegółowo

Inteligentne systemy przeciw atakom sieciowym

Inteligentne systemy przeciw atakom sieciowym Inteligentne systemy przeciw atakom sieciowym wykład Sztuczne sieci neuronowe (SSN) Joanna Kołodziejczyk 2016 Joanna Kołodziejczyk Inteligentne systemy przeciw atakom sieciowym 2016 1 / 36 Biologiczne

Bardziej szczegółowo

Uczenie sieci typu MLP

Uczenie sieci typu MLP Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik

Bardziej szczegółowo

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe JOANNA GRABSKA-CHRZĄSTOWSKA Wykłady w dużej mierze przygotowane w oparciu o materiały i pomysły PROF. RYSZARDA TADEUSIEWICZA BUDOWA RZECZYWISTEGO NEURONU

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych aproksymacja LABORKA Piotr Ciskowski zadanie 1. aproksymacja funkcji odległość punktów źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.4, str. 137 Naucz sieć taką

Bardziej szczegółowo

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE SIECI NEURONOWE Przedmiotem laboratorium jest stworzenie algorytmu rozpoznawania zwierząt z zastosowaniem sieci neuronowych w oparciu o 5 kryteriów: ile zwierzę ma nóg, czy żyje w wodzie, czy umie latać,

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych klasyfikacja LABORKA Piotr Ciskowski zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 Przykład

Bardziej szczegółowo

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

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Sieci Hopfielda Najprostsze modele sieci z rekurencją sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Modele bardziej złoŝone: RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie

Bardziej szczegółowo

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

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.

Bardziej szczegółowo

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

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Widzenie komputerowe

Widzenie komputerowe Widzenie komputerowe Uczenie maszynowe na przykładzie sieci neuronowych (3) źródła informacji: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT 1996 Zdolność uogólniania sieci neuronowej R oznaczenie

Bardziej szczegółowo

wiedzy Sieci neuronowe

wiedzy Sieci neuronowe Metody detekcji uszkodzeń oparte na wiedzy Sieci neuronowe Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski Wykład 7 Wprowadzenie Okres kształtowania się teorii sztucznych sieci

Bardziej szczegółowo

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

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 Uczenie się pojedynczego neuronu W0 X0=1 W1 x1 W2 s f y x2 Wp xp p x i w i=x w+wo i=0 Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z=0 Wówczas: W 1 x 1 + w 2 x 2 + = 0 Algorytm

Bardziej szczegółowo

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

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda Sieci neuropodobne 1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN Agenda Trochę neurobiologii System nerwowy w organizmach żywych tworzą trzy

Bardziej szczegółowo

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

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Temat: Sztuczne Sieci Neuronowe Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Sztuczne sieci neuronowe

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline. Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka Adaline. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 211-1-18 1 Pomysł Przykłady Zastosowanie 2

Bardziej szczegółowo

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA AMFETAMINY Waldemar S. Krawczyk Centralne Laboratorium Kryminalistyczne Komendy Głównej Policji, Warszawa (praca obroniona na Wydziale Chemii Uniwersytetu

Bardziej szczegółowo

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

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010 Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010 Sieci neuronowe jednokierunkowa wielowarstwowa sieć neuronowa sieci Kohonena

Bardziej szczegółowo

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 sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych

Bardziej szczegółowo

Elementy inteligencji obliczeniowej

Elementy inteligencji obliczeniowej Elementy inteligencji obliczeniowej Paweł Liskowski Institute of Computing Science, Poznań University of Technology 9 October 2018 1 / 19 Perceptron Perceptron (Rosenblatt, 1957) to najprostsza forma sztucznego

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING NEURONOWE MAPY SAMOORGANIZUJĄCE SIĘ Self-Organizing Maps SOM Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki,

Bardziej szczegółowo

Analiza Danych Sprawozdanie regresja Marek Lewandowski Inf 59817

Analiza Danych Sprawozdanie regresja Marek Lewandowski Inf 59817 Analiza Danych Sprawozdanie regresja Marek Lewandowski Inf 59817 Zadanie 1: wiek 7 8 9 1 11 11,5 12 13 14 14 15 16 17 18 18,5 19 wzrost 12 122 125 131 135 14 142 145 15 1 154 159 162 164 168 17 Wykres

Bardziej szczegółowo

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 6 Model matematyczny elementu naprawialnego Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia:

Bardziej szczegółowo

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

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek Sztuczne sieci neuronowe Ćwiczenia Piotr Fulmański, Marta Grzanek Piotr Fulmański 1 Wydział Matematyki i Informatyki, Marta Grzanek 2 Uniwersytet Łódzki Banacha 22, 90-232, Łódź Polska e-mail 1: fulmanp@math.uni.lodz.pl,

Bardziej szczegółowo

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 sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

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

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice) WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO Stanisław Kowalik (Poland, Gliwice) 1. Wprowadzenie Wstrząsy podziemne i tąpania występujące w kopalniach

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. dla sieci skierowanych Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-25 1 Motywacja

Bardziej szczegółowo

Sieci obliczeniowe poprawny dobór i modelowanie

Sieci obliczeniowe poprawny dobór i modelowanie Sieci obliczeniowe poprawny dobór i modelowanie 1. Wstęp. Jednym z pierwszych, a zarazem najważniejszym krokiem podczas tworzenia symulacji CFD jest poprawne określenie rozdzielczości, wymiarów oraz ilości

Bardziej szczegółowo

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

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych. Wstęp do teorii sztucznej inteligencji Wykład III Modele sieci neuronowych. 1 Perceptron model najprostzszy przypomnienie Schemat neuronu opracowany przez McCullocha i Pittsa w 1943 roku. Przykład funkcji

Bardziej szczegółowo

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl dwojcik@swps.edu.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Sztuczna inteligencja

Sztuczna inteligencja Sztuczna inteligencja Wykład 7. Architektury sztucznych sieci neuronowych. Metody uczenia sieci. źródła informacji: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, WNT 1996 Podstawowe architektury

Bardziej szczegółowo

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

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów. Wstęp do teorii sztucznej inteligencji Wykład II Uczenie sztucznych neuronów. 1 - powtórzyć o klasyfikacji: Sieci liniowe I nieliniowe Sieci rekurencyjne Uczenie z nauczycielem lub bez Jednowarstwowe I

Bardziej szczegółowo

Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2

Bardziej szczegółowo

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

Sieć przesyłająca żetony CP (counter propagation) Sieci neuropodobne IX, specyficzne architektury 1 Sieć przesyłająca żetony CP (counter propagation) warstwa Kohonena: wektory wejściowe są unormowane jednostki mają unormowane wektory wag jednostki są

Bardziej szczegółowo

1. Logika, funkcje logiczne, preceptron.

1. Logika, funkcje logiczne, preceptron. Sieci neuronowe 1. Logika, funkcje logiczne, preceptron. 1. (Logika) Udowodnij prawa de Morgana, prawo pochłaniania p (p q), prawo wyłączonego środka p p oraz prawo sprzeczności (p p). 2. Wyraź funkcję

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

KADD Metoda najmniejszych kwadratów funkcje nieliniowe Metoda najmn. kwadr. - funkcje nieliniowe Metoda najmniejszych kwadratów Funkcje nieliniowe Procedura z redukcją kroku iteracji Przykłady zastosowań Dopasowanie funkcji wykładniczej Dopasowanie funkcji

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie

Bardziej szczegółowo

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Sztuczne sieci neuronowe Sztuczne sieci neuronowe Wprowadzenie Trochę historii Podstawy działania Funkcja aktywacji Typy sieci 2 Wprowadzenie Zainteresowanie

Bardziej szczegółowo

ALGORYTMY SZTUCZNEJ INTELIGENCJI

ALGORYTMY SZTUCZNEJ INTELIGENCJI ALGORYTMY SZTUCZNEJ INTELIGENCJI Sieci neuronowe 06.12.2014 Krzysztof Salamon 1 Wstęp Sprawozdanie to dotyczy ćwiczeń z zakresu sieci neuronowych realizowanym na przedmiocie: Algorytmy Sztucznej Inteligencji.

Bardziej szczegółowo

Sieci neuronowe w Statistica

Sieci neuronowe w Statistica http://usnet.us.edu.pl/uslugi-sieciowe/oprogramowanie-w-usk-usnet/oprogramowaniestatystyczne/ Sieci neuronowe w Statistica Agnieszka Nowak - Brzezińska Podstawowym elementem składowym sztucznej sieci neuronowej

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH PROPORCJONALNOŚĆ PROSTA Proporcjonalnością prostą nazywamy zależność między dwoma wielkościami zmiennymi x i y, określoną wzorem: y = a x Gdzie a jest

Bardziej szczegółowo

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. FUNKCJA LINIOWA. gdzie ; ół,. 1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta

Bardziej szczegółowo

I EKSPLORACJA DANYCH

I EKSPLORACJA DANYCH I EKSPLORACJA DANYCH Zadania eksploracji danych: przewidywanie Przewidywanie jest podobne do klasyfikacji i szacowania, z wyjątkiem faktu, że w przewidywaniu wynik dotyczy przyszłości. Typowe zadania przewidywania

Bardziej szczegółowo

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU) SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU) 1. Opis problemu - ocena końcowa projektu Projekt jako nowe, nietypowe przedsięwzięcie wymaga właściwego zarządzania. Podjęcie się realizacji

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji n-wymiarowych Forma kwadratowa w n wymiarach Procedury minimalizacji Minimalizacja wzdłuż prostej w n-wymiarowej przestrzeni Metody minimalizacji wzdłuż osi współrzędnych wzdłuż kierunków

Bardziej szczegółowo

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI

Bardziej szczegółowo

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Funkcja liniowa - podsumowanie

Funkcja liniowa - podsumowanie Funkcja liniowa - podsumowanie 1. Funkcja - wprowadzenie Założenie wyjściowe: Rozpatrywana będzie funkcja opisana w dwuwymiarowym układzie współrzędnych X. Oś X nazywana jest osią odciętych (oś zmiennych

Bardziej szczegółowo

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

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe. Naśladując w komputerze ludzki mózg staramy się połączyć zalety komputera (dostępność i szybkość działania) z zaletami mózgu (zdolność do uczenia się) informatyka + 2 Badacze zbudowali wiele systemów technicznych,

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

Uczenie sieci neuronowych i bayesowskich

Uczenie sieci neuronowych i bayesowskich Wstęp do metod sztucznej inteligencji www.mat.uni.torun.pl/~piersaj 2009-01-22 Co to jest neuron? Komputer, a mózg komputer mózg Jednostki obliczeniowe 1-4 CPU 10 11 neuronów Pojemność 10 9 b RAM, 10 10

Bardziej szczegółowo

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

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Metody Sztucznej Inteligencji 2 Projekt Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Autorzy: Robert Wojciechowski Michał Denkiewicz Mateusz Gągol Wstęp Celem projektu

Bardziej szczegółowo

Optymalizacja systemów

Optymalizacja systemów Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji

Bardziej szczegółowo

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych Pochodna i różniczka unkcji oraz jej zastosowanie do rachunku błędów pomiarowych Krzyszto Rębilas DEFINICJA POCHODNEJ Pochodna unkcji () w punkcie określona jest jako granica: lim 0 Oznaczamy ją symbolami:

Bardziej szczegółowo

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

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak 2 Rozdział 1 Sztuczne sieci neuronowe. 3 Sztuczna sieć neuronowa jest zbiorem prostych elementów pracujących równolegle, których zasada działania inspirowana jest biologicznym systemem nerwowym. Sztuczną

Bardziej szczegółowo

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

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014 Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner rok akademicki 2013/2014 Sieci neuronowe Sieci neuronowe W XIX wieku sformułowano teorię opisującą podstawowe

Bardziej szczegółowo

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 sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-10 Projekt pn. Wzmocnienie

Bardziej szczegółowo

Rozpoznawanie obrazów

Rozpoznawanie obrazów Rozpoznawanie obrazów Laboratorium Python Zadanie nr 1 Regresja liniowa autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba, J. Kaczmar Cel zadania Celem zadania jest implementacja liniowego zadania

Bardziej szczegółowo

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

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH** Górnictwo i Geoinżynieria Rok 31 Zeszyt 3 2007 Dorota Pawluś* PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH** 1. Wstęp Eksploatacja górnicza złóż ma niekorzystny wpływ na powierzchnię

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje

Bardziej szczegółowo

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE INSTYTUT TECHNOLOGII MECHANICZNEJ Metody Sztucznej Inteligencji Sztuczne Sieci Neuronowe Wstęp Sieci neuronowe są sztucznymi strukturami, których

Bardziej szczegółowo

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0,

W celu obliczenia charakterystyki częstotliwościowej zastosujemy wzór 1. charakterystyka amplitudowa 0, Bierne obwody RC. Filtr dolnoprzepustowy. Filtr dolnoprzepustowy jest układem przenoszącym sygnały o małej częstotliwości bez zmian, a powodującym tłumienie i opóźnienie fazy sygnałów o większych częstotliwościach.

Bardziej szczegółowo

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia

Bardziej szczegółowo

Instrukcja realizacji ćwiczenia

Instrukcja realizacji ćwiczenia SIEĆ KOHONENA ROZPOZNAWANIE OBRAZÓW Cel ćwiczenia: zapoznanie się ze sposobem reprezentacji wiedzy w sieciach Kohonena i mechanizmami sąsiedztwa i sumienia neuronów. Zadanie do analizy: analizujemy sieć

Bardziej szczegółowo

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Pochodna i różniczka unkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Krzyszto Rębilas DEFINICJA POCHODNEJ Pochodna unkcji () w punkcie określona jest jako granica: lim 0 Oznaczamy ją

Bardziej szczegółowo

1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera

1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera 1 Moduł Konwertera Moduł Konwertera zapewnia obsługę fizycznego urządzenia Konwertera US- B-RS485. Jest elementem pośredniczącym w transmisji danych i jego obecność jest konieczna, jeżeli w Systemie mają

Bardziej szczegółowo

Publiczna Szkoła Podstawowa nr 14 w Opolu. Edukacyjna Wartość Dodana

Publiczna Szkoła Podstawowa nr 14 w Opolu. Edukacyjna Wartość Dodana Publiczna Szkoła Podstawowa nr 14 w Opolu Edukacyjna Wartość Dodana rok szkolny 2014/2015 Edukacyjna Wartość Dodana (EWD) jest miarą efektywności nauczania dla szkoły i uczniów, którzy do danej placówki

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metody kierunków poparwy (metoda Newtona-Raphsona, metoda gradientów sprzężonych) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.03.2019 1

Bardziej szczegółowo

Studenckie Koło Naukowe Rynków Kapitałowych Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence).

Studenckie Koło Naukowe Rynków Kapitałowych Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence). Zbieżność i rozbieżność średnich kroczących - MACD (Moving Average Convergence Divergence). MACD (zbieżność i rozbieżność średnich kroczących) - jest jednym z najczęściej używanych wskaźników. Jego popularność

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

Dopasowywanie modelu do danych

Dopasowywanie modelu do danych Tematyka wykładu dopasowanie modelu trendu do danych; wybrane rodzaje modeli trendu i ich właściwości; dopasowanie modeli do danych za pomocą narzędzi wykresów liniowych (wykresów rozrzutu) programu STATISTICA;

Bardziej szczegółowo

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD X: Sztuczny neuron Koneksjonizm: wprowadzenie 1943: Warren McCulloch, Walter Pitts: ogólna teoria przetwarzania informacji oparta na sieciach binarnych

Bardziej szczegółowo

Deep Learning na przykładzie Deep Belief Networks

Deep Learning na przykładzie Deep Belief Networks Deep Learning na przykładzie Deep Belief Networks Jan Karwowski Zakład Sztucznej Inteligencji i Metod Obliczeniowych Wydział Matematyki i Nauk Informacyjnych PW 20 V 2014 Jan Karwowski (MiNI) Deep Learning

Bardziej szczegółowo