METODY I ZASTOSOWANIA SZTUCZNEJ INTELIGENCJI LABORATORIUM r 01 Temat: PERCEPTRON dr iż. Robert Tomkowski pok. 118 bud. C robert.tomkowski@tu.koszali.pl tel. 94 3178 251
Metody i zastosowaia sztuczej iteligecji Laboratorium r 01 Perceptro SPIS TREŚCI 1. WPROWADZENIE... 3 2. MODEL NEURONU... 3 Stroa 2 3. PERCEPTRON... 4 3.1. UCZENIE PERCEPTRONU... 5 3.2. ALGORYTM... 5 3.3. PRZYKŁAD W MATLABIE... 8 3.4. ZADANIE DOMOWE... 8
1. Wprowadzeie Politechika Koszalińska Wydział Mechaiczy Katedra mechaiki Precyzyjej Za podstawowy elemet systemu erwowego uważay jest euro. Neuro jest złożoą komórką, której ciało (soma) jest otoczoa przez dwa rodzaje wypustek: dedryty wprowadzające iformacje do eurou (są silie rozgałęzioe i mogą staowić awet 90 % powierzchi eurou) oraz aksoy wyprowadzające iformacje z eurou (euroy posiadają zazwyczaj jede akso). Jede euro przekazuje iformację w postaci pobudzając ie euroy poprzez złącza erwowe zwae syapsami (są to miejsca komuikacji eurou z iym euroem lub komórką efektorową, czyli mięśiową lub gruczołową). Pobudzeie eurou poprzez syapsy może mieć charakter wzmocieia lub osłabieia. Neuro sumuje wszystkie sygały, zarówo te pobudzające jak i hamujące i jeżeli ich suma algebraicza przekroczy pewą wartość progową to sygał wychodzący z eurou zostaje przesłay poprzez akso do iego eurou. Na rysuku 1 przedstawioo złożoą budowę eurou. Stroa 3 Rys. 1. Budowa szczegółowa eurou, połączeia i syapsa (źródło: http://pl.wikipedia.org/wiki/neuro) 2. Model eurou Za początek sztuczej iteligecji uważa się określeie modelu pojedyczego eurou, czyli jego matematyczego opisu. Działaie eurou zilustrowae a rysuku 2, może zostać opisae wzorem 1. dla y = f(s), gdzie s = b + 1, gdy s > 0 f(s) = 0, gdy s 0 w 0 = θ, x 0 = 1 i=1 w i x i (1) gdzie: x i,, x w i,, w y b f liczba wejść w euroie sygały wejściowe wagi syaptycze sygał wyjściowy (wartość wyjściowa eurou) wartość progowa fukcja aktywacji
Metody i zastosowaia sztuczej iteligecji Laboratorium r 01 Perceptro Model te moża rówież zapisać w postaci (2). 1, gdy i=1 y = w ix i > θ 0, gdy i=1 w i x i θ Poiższy rysuek (rys. 2) przedstawia model eurou. (2) Stroa 4 Rys. 2. Model eurou Moża wyróżić kilka fukcji aktywacji eurou, ależą do ich: 1, gdy s > 0 Progowa uipolara f(s) = 0, gdy s 0 1, gdy s > 0 Progowa bipolara f(s) = 1, gdy s 0 1 Sigmoidala uipolara f(s) = dla β > 0 1 + e βs Tages hiperboliczy f(s) = tgh αs 1 e αs = 2 1 + e αs dla α > 0 3. Perceptro Model eurou został opisay przez McCullocha i Pittsa w 1943 roku i był puktem wyjścia do tworzeia sieci euroowych. Na przełomie lat 50 i 60 dwudziestego wieku Roseblatt, korzystając z wcześiej opisaego modelu eurou zapropoował ajprostszą sieć jedokierukową zwaą perceptroem. Jako fukcję aktywacji w perceptroie przyjęto fukcję bipolarą. Podstawowym zadaiem perceptrou jest klasyfikacja wektora X do jedej z dwóch klas ozaczoych jako L 1 i L 2. Perceptro dokouje klasyfikacji wektora X do klasy L 1, jeżeli sygał wyjściowy y = 1 oraz do klasy L 2 jeżeli y = 1. Przykład
Politechika Koszalińska Wydział Mechaiczy Katedra mechaiki Precyzyjej W przypadku dwóch wejść x1 i x2 perceptro dzieli płaszczyzę a dwie części. Podział te wyzacza prosta o rówaiu: w 1 x 1 + w 2 x 2 + b = 0 Stroa 5 x 2 = w 1 w 2 x 1 b w 2 3.1. Uczeie perceptrou Załóżmy, że ie są zae wagi wi, i=1,2, oraz biast b. Co możemy zrobić? Niezae wagi wyzaczymy w procesie uczeia. Jest to tzw. uczeie adzorowae, lub iaczej z auczycielem. Uczeie tego typu polega a podaiu a wejście perceptrou sygałów x(t)=[x1(t), x2(t), ], t=1,2,, dla których zamy prawidłowe wartości sygałów wyj. ywzor(t), t=1,2,, zwaych sygałami wzorcowymi. Zbiór próbek wejściowych wraz z odpowiadającymi im wartościami sygałów wzorcowych azywamy ciągiem uczącym. 3.2. Algorytm Klasyfikacja z wykorzystaiem perceptrou przebiega w astępujący sposób: 1. wybieramy w sposób losowy wagi początkowe w i bias b, 2. a wejścia eurou podajemy wektor uczący X, 3. obliczamy wartość wyjściową perceptrou y zgodie ze wzorem: y = f b + w i x i i=1 4. porówujemy wartość wyjściową y z wartością wzorcową y wzor 5. dokoujemy modyfikacji wag według zależości: y(x) y wzor (X), to w i = w i + y wzor (X) x i
Metody i zastosowaia sztuczej iteligecji Laboratorium r 01 Perceptro y(x) = y wzor (X), to w i = w i wagi pozostają bez zmia 6. wracamy do puktu 2. Algorytmy powtarza się tak długo, aż błąd a wyjściu będzie miejszy od założoej toleracji. Stroa 6 start Losowy dobór wag perceptrou t=1 Podaj wektor x(t) a wejście perceptrou oraz wczytaj wzorcową wartość ywzor(t) Oblicz wartość wyjściową y(t) NIE y(t)=ywzor(t) TAK Zmodyfikuj wagi: wi(t)=wi(t) +ywzor(t)xi(t) Pozostaw wagi bez zmia t=t+1 NIE TAK Cała epoka? Oblicz błąd dla całej epoki Błąd miejszy od założoej toleracji? NIE TAK stop
Politechika Koszalińska Wydział Mechaiczy Katedra mechaiki Precyzyjej Przykład uczeia perceptrou Stroa 7 itd.
Metody i zastosowaia sztuczej iteligecji Laboratorium r 01 Perceptro 3.3. Przykład w Matlabie Dwa klastry daych ależące do dwóch klas, zdefiiowao w przestrzei dwuwymiarowej. Klasy są separowale liiowo. Dokoać klasyfikacji daych z zastosowaiem perceptrou. Stroa 8 Rozwiązaie: close all, clear all, clc, format compact % liczba próbek dla każdej z klas = 30; % defiiowaie wejść i wyjść offset = 5; % przesuiecie w drugiej klasie x = [rad(2,) rad(2,)+offset]; % wejścia y = [zeros(1,) oes(1,)]; % wyjścia % arysuj wejścia sieci a wykresie dwuwymiarowym korzystając % z fukcji PLOTPV (wektory wejść i wyjść perceptrou) figure(1) plotpv(x,y); % utwórz sieć jedokierukową et = perceptro; % utworzeie perceptrou z domyślymi ustawieiami et = trai(et, x, y); % uczeie sieci z auczycielem view(et) % widok struktury perceptrou % arysuj odpowiedź sieci figure(1) plotpc(et.iw{1}, et.b{1}); 3.4. Zadaie domowe Napisać fukcję implemetującą działaie perceptrou. Fukcja za argumet powia przyjmować wektor dwóch daych wejściowych, wektor wag, wartość progową i wagę zerową w 0,. Wygeerować dae w przestrzei R 2 przyajmiej dwoma metodami. Wyświetlić wygeerowae dae. Narysować prostą separującą. Przykład wprowadzaia daych: x = [1 2 3 4 5]; w = [1,2,3,4,5]; b = 5; w0= 1; odp = my_perc(x,w,b,w0) Wszystkie etapy przedstawić w formie sprawozdaia (kod wykresy i opisy poszczególych etapów). Wykresy moża zapisywać w Matlabie poprzez fukcję save lub export setup w meu File oka wykresu.