• Nie Znaleziono Wyników

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Semestr letni 2010 Laboratorium nr 3 WSTĘP DO SZTUCZNYCH SIECI NEURONOWYCH Prowadzący: ……………………

N/A
N/A
Protected

Academic year: 2021

Share "Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Semestr letni 2010 Laboratorium nr 3 WSTĘP DO SZTUCZNYCH SIECI NEURONOWYCH Prowadzący: ……………………"

Copied!
4
0
0

Pełen tekst

(1)

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i

Telekomunikacji

Instytut Sterowania i Systemów Informatycznych

ELEMENTY SZTUCZNEJ INTELIGENCJI Semestr letni 2010

Laboratorium nr 3

WSTĘP DO SZTUCZNYCH SIECI NEURONOWYCH

Prowadzący: ………..

Cele ćwiczeń:

1. Poznanie podstaw budowy sztucznych sieci neuronowych 2. Typy sieci neuronowych

3. Implementacja modelu perceptronu prostego w programie Matlab Zadania:

1. Zapoznać się z budową pojedynczego sztucznego neuronu. Wymienić jego najważniejsze elementy i określić za jakie zadania one odpowiadają. Czy w jakikolwiek sposób jest on podobny do modelu biologicznego?

2. Wymienić popularne funkcje aktywacji.

3. Wyjaśnić pojęcie potencjału membranowego.

4. Zapoznać się z działaniem perceptronu prostego przy użyciu dema Simple Neuron and Transfer Functions (polecenie >>run nnd2n1).

5. Co to jest bias i jak wpływa jego wartość na otrzymane wartości wyjściowe neuronu?

6. Uruchomić demo >>run nnd2n2 i wywnioskować, jak zmienia się wartość wyjściowa pod wpływem zmiany wektora wejściowego.

7. Na podstawie poniższego schematu omówić najprostszą metodę uczenia neuronu.

(2)

8. Wyjaśnić pojęcie separowalności liniowej.

9. Perceptron tworzymy za pomocą funkcji newp(PR,S), która zwraca obiekt opisujący tworzoną sieć. Parametr PR jest macierzą i określa liczbę wejść neuronu, dla każdego z wejść tworzymy w macierzy PR jeden wiersz składający się z dwóch wartości a mianowicie minimalnej oraz maksymalnej wartości sygnału, jaki może pojawić się się na danym wejściu.

Parametr S jest liczbą i określa liczbę neuronów w tworzonej sieci.

Przykład:

net=newp([-2 2;-1 1],1); - stworzono sieć składającą się z jednego neuronu i dwóch wejść i zapamiętano jej strukturę w zmiennej net

Sprawdzenie struktury sieci za pomocą właściwości inputweights i biases Przykład:

iw=net.inputweights{1,1}

ib=net.biases{1}

Przypisywanie wartości wag i biasów : IW{1,1}, b{1}

Przykład:

net.IW{1,1}=[-1 1] – przypisanie wartości wag net.b{1}=[1] – przypisanie wartości biasow

Uczenie on-line perceptronu za pomocą funkcji adapt(net,p,t) gdzie parametr net opisuje uczoną sieć, p to tablica z wektorami uczącymi a t to oczekiwane wartości wyjść neuronu dla danych wzorców uczących. Uczenie tą metodą gwarantuje nauczenie perceptronu w skończonej liczbie iteracji.

Przykład:

p={[2; 2] [1; -2] [-1; 1]};

t={0 1 1};

net=adapt(net,p,t);

(3)

Uczenie off-line perceptronu za pomocą funkcji train(net,p,t) gdzie parametr net opisuje uczoną sieć, p to macierz z danymi uczącymi a t to oczekiwane wartości wyjść neuronu dla danych wzorców uczących. Uczenie tą metodą nie gwarantuje nauczenia perceptronu w skończonej liczbie iteracji.

Przykład:

p=[2 1 -1; 2 -2 1];

t=[0 1 1];

net=train(net,p,t);

Symulacja perceptronu za pomocą funkcji sim(net,p), gdzie net opisuje strukturę symulowanej sieci a p dane wejściowe.

Przykład:

Symulacja perceptronu z dwoma wejściami za pomocą dwóch wzorców testowych.

p={[1;1] [1;-1]};

a=sim(net.p);

Zadania do samodzielnego wykonania

Zbadać czy poniższe zadania klasyfikacji wzorców możliwe są do realizacji przy użyciu perceptronu, jeżeli zadanie jest możliwe do realizacji wyznaczyć wektor wag w, dla których neuron będzie klasyfikował elementy dwóch zbiorów A i B:

A={a1,a2,a3}, B={b1,b2} gdzie a1={-0.5,-0.5) a2=(0.5,-1) a3=(-1,1), b1=(1,2) b2=(-0.5,2.5) A={a1,a2}, B={b1,b2} gdzie a1={-0.5,-0.5) a2=(0.5,0.5), b1=(0.3,-0.5) b2=(0,1)

A={a1,a2}, B={b1,b2,b3} gdzie a1={-0.5,-0.5) a2=(-0.5,0.5) b1=(0.3,-0.5), b2=(-0.1,1), b3=(-0.9,0) A={a1,a2}, B={b1,b2} gdzie a1={-1,-1) a2=(5,2), b1=(0,3) b2=(2,-2)

Dokonać uczenia perceptronu dla problemów z zadania 1 za pomocą funkcji adapt oraz train, porównać wyniki.

Dane są dwa zbiory A={a1,a2,a3}, B={b1,b2} gdzie a1={-0.5,-0.5) a2=(-0.5,0.5) a3=(-80,100), b1=(0.3,-0.5) b2=(-0.1,1), przeprowadzić na ich podstawie uczenie perceptronu. Jakie wnioski nasuwają się po analizie procesu uczenia.

Zbadać czy poniższe zadanie klasyfikacji możliwe są do realizacji przy użyciu sieci dwóch perceptronów, jeżeli zadanie jest możliwe do realizacji wyznaczyć wagi w, dla których sieć będzie klasyfikował elementy czterech zbiorów A,B,C,D. A={a1,a2,a3}, B={b1,b2}, C={c1,c2,c3}, D={d1,d2}, gdzie a1={1,12) a2=(7,18) a3=(8,16), b1=(8,6) b2=(10,8), c1={3,5) c2=(0,2) c3=(-3,8), d1=(-5,-15) d2=(-15,-13).

(4)

Wyznaczyć 10 wzorców uczących liniowo separowalnych, podzielić je na 4 klasy oraz:

Utworzyć perceptron składający się z 2 neuronów i nauczyć go klasyfikować dane wzorce do poszczególnych klas.

Zbadać zdolności uogólniające perceptronu poprzez podawanie sygnałów zbliżonych do sygnałów uczących i obserwację odpowiedzi sieci na te sygnały.

Literatura:

1. Korbicz J., Obuchowicz A., Uciński D., „Sztuczne sieci neuronowe. Podstawy i zastosowanie”, Warszawa 1994.

Cytaty

Powiązane dokumenty

Przygotuj system ekspertowy w oparciu o wnioskowanie wstecz do zadania diagnostyki uszkodzenia zasilania elektrycznego dla mieszkania (szczegóły problemu

Parametry algorytmu: liczebność populacji, współczynnik modyfikacji, pułapka ewolucyjna, współczynnik degeneracji, liczba epok oraz współrzędne punktu alokacji

Dokonać operacji odwrotnej (plik ZAD1B.m), otrzymaną liczbę w zapisie dwójkowym przekonwertować na liczbę dziesiętną?. Czy otrzymana w ten sposób liczba jest

Do klasy Osoba oraz Adres musisz dodać właściwości przy pomocy, których będzie można uzyskać dostęp do pól klasy. Zabezpiecz program tak, aby nie można było utworzyć

Twoim zadaniem jest zaimplementowanie i przetestowanie hierarchii składającej się z następujących klas: Osoba, Student, Wykładowca oraz Stypendysta. Poszczególne

Twoim zadanie jest utworzenie programu, który wczytywałby dany zestaw, analizował go, a następnie generował raport w postaci pliku tekstowego, który

Serializacja (ang. Serialization) jest procesem konwersji stanu obiektu do postaci, która może być zachowana na dysku lub przesłana przez sieć komputerową.. Proces

Zapoznaj się ze wstępem teoretycznym dotyczącym technologii Active Server Pages dla platformy .Net (prowadzący zajęcia udostępni w tym celu materiały Microsoft IT Academy)..