LVQ grzyby

Politechnika Rzeszowska

Wydział Elektrotechniki i Informatyki

Katedra Informatyki i Automatyki

Sztuczna Inteligencja

Temat:

Zrealizować sieć neuronową LVQ

uczącą się rozpoznawania grzybów

Wykonała: Renata Urban
II EF-DI, P14

Rzeszów, 31.05.2011 r.

SPIS TREŚCI:

  1. Opis problemu.

  2. Opis sieci neuronowej i algorytmu uczenia:

    1. Czym jest sieć neuronowa?

    2. Budowa sieci neuronowej i jej działanie.

    3. Uczenie sieci neuronowej.

    4. Uczenie nadzorowane.

    5. Algorytm LVQ.

    6. Klasyfikacja.

  3. Eksperymenty:

    1. Przygotowanie danych.

    2. Wstępne eksperymenty mające na celu zawężenie kroków i zakresu pętli. Statystyczne zestawienie wyników.

    3. Skrypt (ostateczna wersja).

    4. Ważniejsze funkcje użyte w skrypcie.

    5. Wykresy zależności parametrów.

    6. Prezentacja najlepszych oraz najgorszych wyników w formie tabeli.

  4. Podsumowanie.

  5. Wnioski.

  6. Możliwości rozwoju projektu.

  7. Spis rysunków, wykresów i tabel.

  1. Opis problemu:

Temat projektu dotyczy sieci neuronowej LVQ uczącej się rozpoznawać grzyby, które zostały opisane pod względem cech fizycznych (22 atrybuty) oraz sklasyfikowane do 2 grup: trujących (48.2%),oznaczonych „1”, bądź jadalnych (51.8%), oznaczonych „2”. Klasa grzybów trujących zawiera w sobie klasę grzybów o nieznanej przydatności do spożycia. Do tej pory nie istnieje żadna prosta reguła określająca przydatność grzybów do spożycia.

Liczba wystąpień: 8124
Liczba atrybutów: 22

Tabela 1. Ilość danych i atrybutów

W 8124 wystąpieniach znajdowały się brakujące wartości atrybutów w ilości 2480 oznaczone  "?", które należało usunąć.

Informacje o atrybutach:

1. Kapelusz-kształt: dzwonu = b, c = stożkowaty, wypukły = x, mieszkanie = f, guzowatej = k, zatopione = s 
2. Kapelusz -powierzchnia: włókniste = f, g = rowki, łuszcząca = y, gładkie = s 
3. Kapelusz -kolor: brązowy = n, płowy = b, c = cynamon, czarny = g, r = zielony, różowy = p,

u = fioletowy, czerwony = e, w = biały, żółty =y 
4. Siniaki: siniaki = t, nie = f 
5. Zapach: migdałowy = a, anyżu = l, kreozot = c, podejrzany = y, f= brzydki, stęchły = m, żadna =n, p = ostry, pikantny = s 
6. Blaszka - połączenie: szeregowy = a, w dół = d, wolne = f, n = karbem 
7. Blaszka - odległość: blisko = c, zatłoczone = w, odległe = d 
8. Blaszka - rozmiar: b = szerokie, wąskie= n  
9. Blaszka -kolor: czarny k = brązowy = n, b = płowy, czekolada = h, szary = g, r = zielony, pomarańczowy = o, p = różowy, fioletowy = u, czerwony = e, w = biały, żółty = y 
10. Łodyga- kształt: powiększający = e, zwężający = t 
11. Łodyga-korzeń: bulwiaste = b, klub = c, u = cup, równe= e, ryzomorfami = z, zakorzenione = r , brak =? 
12. Łodyga powierzchniowo wyżej pierścienia: włókniste = f, łuszcząca = y, k = jedwabiste, gładkie=s 
13. Łodyga- poniżej powierzchni pierścienia: włókniste = f, łuszcząca= y, jedwabista= k, gładkie=s 
14. Łodyga-kolor powyżej pierścienia: brązowy = n, b = płowy, cynamon = c, g = szary, pomarańczowy = o, p = różowy, czerwony = e, biały =w , y = żółty 
15. Łodyga-kolor poniżej pierścienia: brązowy = n, b = płowy, cynamon = c, g = szary, pomarańczowy = o, p = różowy, czerwony= e, w = biały, żółty =y 
16. Welon typ: p = częściowe, powszechne =u 
17. Welon - kolor: brązowy= n , pomarańczowy = o, w = biały, żółty =y 
18. Pierścień numer: brak = n, jeden = o, dwa = t
19. Pierścień - typ: pajęczynowy = c, e = zanikającej, pochodni = f, l = duże, żaden = n, zawieszki= p, s = poszycie, strefa = z 
20. Zarodnik - kolor: czarny k = brązowy = n, płowy = b, h = czekoladowy, zielony = r,

o= pomarańczowy, fioletowy u = w = biały, żółty= y 
21. Liczba mieszkańców: obfite = a, c = klastra, liczne= n, rozproszone= s, kilka = v, pojedynczo = y 
22. Siedlisko: g= trawy, liści = l, m = łąki, ścieżki= p, u = miejskich, odpadów= w, lasy = d

  1. Opis sieci neuronowej i algorytmu uczenia:

a) Czym jest sieć neuronowa?

Sztuczna sieć neuronowa (SSN) – jest zbiorem połączonych ze sobą jednostek obliczeniowych wejściowo-wyjściowych, zwanych neuronami, które przetwarzają dane, komunikują się i pracują równolegle. Z każdym połączeniem skojarzona jest waga, może ona zostać zmieniona w trakcie uczenia.

Jej działanie symuluje zachowanie ludzkiego mózgu. Każdy neuron w mózgu jest połączony z około 10 tys. innych a podczas jego pracy wszystkie neurony działają jednocześnie. Natomiast komputer składa się z osobnych obwodów logicznych, gdzie każdy łączy się tylko z sąsiadem, czyli działają one kolejno.

Rysunek 1. Budowa SSN

Elektroniczne obwody są dokładniejsze i szybsze w przetwarzaniu numerycznym, mimo to jednak w wielu zadaniach, takich jak rozpoznawanie obrazów czy mowy, ludzki mózg okazuje się być o wiele bardziej skuteczny niż jakikolwiek istniejący system komputerowy. Jest tak, ponieważ w procesie przetwarzania uczestniczą biologiczne neurony, wolniejsze o wiele rzędów wielkości od swych optycznych czy elektronicznych odpowiedników.

b) Budowa sieci neuronowej:

Zamieszczony obok rysunek neuronu (komórki nerwowej), specjalizuje się w przesyłaniu i modyfikowaniu impulsów elektrycznych. Nasz mózg zbudowany jest z takich właśnie komórek. Z informatycznego punktu widzenia neuron stanowi układ przetwarzający dane, który posiada wiele wejść inaczej dendrytów oraz jedno wyjście, zwane neurytem lub też aksonem. Prawdziwa komórka nerwowa nie wszystkie sygnały traktuje w ten sam sposób. Akson ma liczne rozgałęzienia, aby impuls nerwowy dochodził wielokrotnie do drugiej komórki, dzięki czemu może być sprawdzana jego wartość. Komórka nerwowa może być pobudzona tylko poprzez bodziec o odpowiedniej wartości, który działa jednocześnie na wiele synaps.

Rysunek 2. Neuron

Sieć jednowarstwowa, to sieć, która składa się z warstwy wejściowej i warstwy wyjściowej. Jeżeli w sieci występuje więcej warstw, to nazywamy je warstwami ukrytymi, gdyż nie widzimy bezpośrednio rezultatów ich działania (wyniki dostajemy tylko na warstwie wyjściowej). Ilość neuronów w poszczególnych warstwach może się różnić i zależy od konkretnego zastosowania sieci. Neurony w jednej warstwie nie posiadają połączeń między sobą, zaś neurony dwóch sąsiednich warstw są połączone "każdy z każdym". Sygnał przechodzi kolejno: warstwa wejściowa, ukrytą, wyjściowej.

Sygnały podawane warstwie wejściowej muszą być numeryczne i zazwyczaj wymaga się, by zawierały się w przedziale (-1, +1), (0, +1), dlatego konieczne jest odpowiednie "zakodowanie" danych wejściowych tak, by mogły one być przetworzone przez sieć neuronową. Przygotowywanie danych i projektowanie warstwy wejściowej jest zadaniem dość czasochłonnym i wymagającym pewnej wprawy i doświadczenia.

Neurony każdej kolejnej warstwy oprócz wejściowej, działają w następujący sposób:

- zbierają wartości sygnałów dochodzących do nich z każdego z neuronów z warstwy poprzedniej,

-mnożą każdy z tych sygnałów przez odpowiednią wagę,

- sumują otrzymane wartości,

- uzyskana wartość staje się sygnałem tego neuronu i jest przekazywana do wszystkich neuronów z następnej warstwy,

-  suma ta jest następnie przeliczana na jakiś skończony przedział, np.  (-1, +1), , gdzie:

-xi ( i=1..N ) reprezentuje sygnały wejściowe,

-Wj odpowiednie współczynniki wag,

-Wio próg aktywacji (najczęściej 0, co oznacza, że jeśli wartość > 0 odpowiedź „1”, jeśli < 0 odpowiedź „-1”, związane z dodatkowym wejściem neuronu tzw. biasem)

c) Uczenie sieci neuronowej: 

Sieci neuronowe posiadają zdolność uczenia się, czyli samodzielnego dostosowywania współczynników wagowych. Inaczej mówiąc, uczenie sieci to wymuszenie na niej określonego reagowania na podane sygnały wejściowe. Uczenie jest potrzebne w wypadku braku informacji o powiązaniu wejścia z wyjściem lub jej niekompletności, co uniemożliwia szczegółowe zaprojektowanie sieci "z góry". Uczenie może być realizowane etapowo, lub poprzez jednorazowy zapis. Jednorazowy zapis ma miejsce wtedy, gdy wagi dostrajane są w wyniku jednej sesji treningowej, podczas której korzysta się z całego zbioru wzorców par wejście/wyjście.

d) Uczenie nadzorowane:

Zakłada ono nadzór człowieka przy opracowywaniu funkcji przetwarzania danych. Nadzór taki polega na stworzeniu danych uczących, dzielących się na: wektor wejściowy oraz wektor wyjściowy. System ma za zadanie nauczyć się przewidywania odpowiedzi na podstawie danych uczących.

Uczenie nadzorowane podzielić można na dwa typy:

- uczenie regresyjne, to prognozowanie wartości zmiennej wejściowej i jej wpływu na zmienne wyjściowe. W tym przypadku na wyjściu sieci wymagana jest pojedyncza zmienna numeryczna.

-uczenie klasyfikacyjne, to rodzaj algorytmu statystycznego zajmującego się przydzielaniem obserwacji do klas, czyli jej zadaniem jest podanie reguły decyzyjnej przypisującej obserwacji przynależność do klasy.

e) Sieć LVQ:

Sieć neuronowa typu LVQ (Learning Vector Quantization) stanowi wariant sieci klasyfikującej, opartej na zasadzie współzawodnictwa między neuronami. Warstwa ukryta (najbardziej znacząca tzw. Warstwa Kohonena) dokonuje klasyfikacji prezentowanych w sieci wektorów wejściowych, zaś warstwa wyjściowa składa sie z tylu neuronów, ile klas podlega klasyfikacji. Warstwie każdej z grup przypisuje się jedną klasę wektorów wejściowych. Istotą działania jest podobieństwo. Podobne wektory powinny pobudzać te same neurony.

Sieć LVQ cechuje prosta topologia: każdy z neuronów warstwy jest połączony ze wszystkimi składowymi wektora wejściowego poprzez wagi, co zostało pokazane na rysunku obok. We współzawodnictwie wygrywa ten neuron, którego wektor wag jest najbliższy wektorowi wejściowemu.

Rysunek 3. Topologia sieci LVQ

Istnieje kilka wariantów algorytmu LVQ. Podstawowa wersja, LVQ1, jest bardzo podobna do

algorytmu uczącego Kohonena, gdzie wyszukiwany jest wektor najbliższy danego przypadku uczącego i odpowiednio modyfikowane jest jego położenie. O ile jednak algorytm Kohonena przesuwa wektor w stronę przypadku uczącego, to LVQ1 sprawdza zgodność klas wektora i przypadku. Jeśli są zgodne, wektor wzorcowy przesuwany jest w stronę przypadku uczącego a w przeciwnym przypadku odsuwany jest od niego. Bardziej wyszukane są algorytmy LVQ2.1 i LVQ3, uwzględniają one więcej informacji. Wyszukują dwa wektory najbliższe danemu przypadkowi uczącemu. Jeżeli jeden z wektorów ma klasę zgodną z

przypadkiem, a drugi niezgodna, to zgodny wektor, czyli zwycięski, przesuwany jest do przypadku, a niezgodny odsuwany.

Reguła zmiany wag:

- zgodność klasy wektora wzorcowego i przypadku uczącego,

- niezgodność, gdzie:

x jest przypadkiem uczącym, nt jest współczynnikiem uczenia.

f) Klasyfikacja:

Celem klasyfikacji jest przydzielenie rozpatrywanego przypadku do jednej ze zdefiniowanych wcześniej klas. Często sklasyfikowane obiekty muszą zostać "zmapowane" (przetransformowane) za pomocą funkcji na inną przestrzeń tak, aby dwie klasy były liniowo separowalne, co pozwala uniknąć skomplikowanej postaci granicy klas.

W projekcie mamy do czynienia z reprezentacją dwustanową:

Jeśli wartość wyjściowa neuronu jest powyżej progu akceptacji, to przyjmuje się, jako odpowiedź sieci klasę przypisaną do wartości 1,0. Jeśli wartość wyjściowa neuronu jest poniżej poziomu odrzucenia to, jako sygnał wyjściowy sieci wybierana jest klasa odpowiadająca wartości -1,0. Jeśli natomiast wartość wyjściowa jest pomiędzy dwoma wymienionymi wartościami progowymi to klasa jest nieokreślona (sieć odpowiada "nie wiem").

  1. Eksperymenty:

    1. Przygotowanie danych:

Dane znajdujące się na stronie, podanej przez prowadzącego, zapisane były za pomocą liter, określających informacje o atrybutach. Należało odpowiednio zamienić litery na liczby. Kolejno z Excela dokonałam importu danych do pliku tekstowego, zamieniając średniki na spacje, zaś przecinki na kropki.

Tak przygotowane dane poddałam normalizacji za pomocą funkcji „mapminmax()”. Normalizacja min-max jest najczęściej stosowanym sposobem na ujednolicenie danych wejściowych.

  1. Wstępne eksperymenty mające na celu zawężenie kroków w pętlach. Statystyczne zestawienie wyników:

Biorąc pod uwagę statystyczne zależności skuteczności uczenia od parametrów, przedstawione w tabelach poniżej, zawężam zakres i krok pętli użytych w skrypcie:

for S1=[1:1:150]

for liczba_epok=[2000:2000:20000]

for wsp_uczenia=[0.01:0.01:0.4]

Uwagi:

W poniższych tabelach ilość wystąpień została zliczona dla skuteczności uczenia przekraczającącej 98% .

zmieniamy parametr wartość parametru ilość wystąpień
liczba_epok 2000 7
  4000 11
6000 10
8000 12
10000 14
12000 17
14000 10
16000 10
18000 10
20000 18
22000 12

Tabela 2. Ilość wystąpień wyników ze skutecznością uczenia sieci powyżej 98% zależnej od liczby epok

zmieniamy parametr wartość parametru ilość wystąpień
wsp_uczenia 0,01 30
  0,06 31
0,11 24
0,16 14
0,21 12
0,26 10
0,31 2
0,36 2
0,41 1
0,46 3
0,51 0
0,56 1
0,61 0
0,66 0
0,71 0
0,76 0
0,81 0
0,86 0

Tabela 3. Ilość wystąpień wyników ze skutecznością uczenia sieci powyżej 98% zależnej od współczynnika uczenia

zmieniamy parametr wartość parametru ilość wystąpień
S1 5 0
  10 0
15 9
20 19
25 27
30 19
31 32
36 23
41 18

Tabela 4. Ilość wystąpień wyników ze skutecznością uczenia sieci powyżej 98% zależnej od S1

Czas poświęcony na wstępne eksperymenty wyniósł ok. 5 godzin.

  1. Skrypt (ostateczna wersja):

clear all; % wyczyszczenie przestrzeni

nntwarn off; % wyłączenie ostrzeżeń o przestarzałych funkcjach

load dane_grzyby.txt; % wczytanie pliku z danymi uczącymi

P = dane_grzyby(:, 1:22); % wczytanie macierzy wektorów we, poniżej wy

T = dane_grzyby(:,end)

P=P'; % odwrócenie macierzy (Wektory interpretowane są jako kolumny)

T=T';

Pn = mapminmax(P); % normalizacja danych

S1 = 1; % liczba neuronów w pierwszej warstwie

liczba_epok =2000; % ilość (przejść) po których skrypt się zakończy

wsp_uczenia = .01; % wskaźnik uczenia sieci, wartości należące do (0,1>

nr=1;

for S1=[1:1:150]

for liczba_epok=[2000:2000:20000]

for wsp_uczenia=[0.01:0.01:0.4]

Tc = ind2vec(T); % przekształcanie wektora indeksowego w % macierz wektorów zero-jedynkowych,

% Tc - macierz docelowa

TP = [2000 liczba_epok wsp_uczenia]; % parametry treningowe

[w1, w2]= initlvq(Pn, S1, Tc); % inicjalizacja sieci(W1,W2-wagi matrycy % na konkurencyjnej i liniowej warstwie)

[w1, w2] = trainlvq(w1, w2, Pn, Tc, TP); % trening sieci

a = simulvq(Pn, w1, w2); % symulacja sieci

a = vec2ind(a); % przekształcanie macierzy wektorów zero- % jedynkowych w wektor indeksowy

%[T' a' (T-a)' (abs(T-a)>0.5)']

skutecznosc_uczenia=(1-sum(abs(T-a)>0.5)/length(Pn))*100

tab_w(nr,1)=S1;

tab_w(nr,2)=wsp_uczenia;

tab_w(nr,3)=liczba_epok;

tab_w(nr,4)=skutecznosc_uczenia;

nr = nr+1;

end

end

end

tablica=[tab_w];

save kilkudniowa_petla tablica

  1. Ważniejsze funkcje użyte w skrypcie:

- ind2vec - funkcja zwracająca macierz zawierająca dokładnie jedną jedynkę w każdej kolumnie. Pozostałe współrzędne każdego wektora są zawsze zerowe, konwertuje wskaźniki na wektory np.:

ind = [1 3 2 3] vec = (1,1) 1

(3,2) 1

(2,3) 1

(3,4) 1

- vec2ind - funkcja zwracająca indeksy współrzędnych wektorów kolumnowych, które mają jednostkową wartość. Pozostałe współrzędne każdego wektora są zawsze zerowe, np.:

vec =

1 0 0 0 ind =[1 3 2 3]

0 0 1 0

0 1 0 1

- initlvq(Pn, S1, Tc) – przyjmuje dane wejściowe i zwraca ustawienia inicjalizacji współczynników wagowych warstw neuronów z rywalizacją (konkurencyjna warstwa),

- [w1, w2] = trainlvq (w1, w2, Pn, Tc, TP) – szkolenie sieci (W1 - wagi na konkurencyjnej warstwie, W2 - wagi warstwy liniowej, Tc - macierz docelowa, TP – parametry treningowe),

uczenie jest przeprowadzane przez tak zwany trening w przeciwieństwie do konwencjonalnych metod programistycznych SSN nie są projektowane na zasadach „jeśli to” ,a właśnie trenowane.,

-simulvq(Pn, w1, w2) - używana do symulacji przeszkolenia sieci.

  1. Wykresy zależności parametrów:

Wykres 1. Zależność skuteczności uczenia od liczby epok

Wykres 2. Zależność skuteczności uczenia od liczby neuronów

Wykres 3. Zależność skuteczności uczenia od wielkości uczenia

  1. Prezentacja najlepszych oraz najgorszych wyników w formie tabeli:

Najlepsze wyniki zostały przedstawione poniżej w porządku malejącym wg kolumny czwartej przedstawiającej skuteczność uczenia.

S1 wsk_uczenia liczba_epok skutecznosc_uczenia
89 0,14 20000 99,14954
40 0,11 20000 99,13182
46 0,06 12000 99,0078
51 0,11 10000 98,99008
33 0,01 18000 98,97236
66 0,19 10000 98,97236
39 0,03 10000 98,93692
27 0,14 14000 98,91921
33 0,08 18000 98,91921
35 0,1 16000 98,91921
60 0,09 16000 98,90149
21 0,1 20000 98,88377
37 0,11 4000 98,88377
39 0,04 10000 98,88377
43 0,06 8000 98,88377

Tabela 5. Najlepsze wyniki

Najgorsze wyniki zostały przedstawione poniżej w porządku rosnącym wg kolumny czwartej przedstawiającej skuteczność uczenia.

S1 wsk_uczenia liczba_epok skutecznosc_uczenia
1 0,01 2000 61,80014
1 0,02 2000 61,80014
1 0,03 2000 61,80014
1 0,04 2000 61,80014
1 0,05 2000 61,80014
1 0,06 2000 61,80014
1 0,07 2000 61,80014
1 0,08 2000 61,80014
1 0,09 2000 61,80014
1 0,1 2000 61,80014
1 0,11 2000 61,80014
1 0,12 2000 61,80014
1 0,13 2000 61,80014
1 0,14 2000 61,80014
1 0,15 2000 61,80014

Tabela 6. Najgorsze wyniki

  1. Podsumowanie:

Po wykonaniu powyższych testów stwierdzam, że najlepszy dobór parametrów to:

S1 = 89;

liczba_epok =20000 ;

wsk_uczenia = 0,14;

skutecznosc_uczenia =99,14954 %

S1 = 40;

liczba_epok =20000 ;

wsk_uczenia = 0,11;

skutecznosc_uczenia =99,13182 %

S1 = 40;

liczba_epok =20000 ;

wsk_uczenia = 0,6;

skutecznosc_uczenia =99,0078 %

Czas testowania, doboru optymalnych parametrów : ok 5 dni 6 godzin.

Z pośród 30000 wyników tylko 3 osiągnęły skuteczność sieci większą niż 99%, natomiast skuteczność większą niż 98% miały 3264 wyniki.

  1. Wnioski:

Wstępne eksperymenty, mające na celu zawężenie kroku i zakresu pętli, przyczyniły się do zmniejszenia czasu testowania sieci. Liczba epok nie miała się w zbyt dużego wpływu na ilość wystąpień skuteczności uczenia większej niż 98%, zatem nie należało zmniejszać zakresu tego parametru. W przypadku współczynnika uczenia i liczby neuronów sytuacja okazała się inna. Powyżej współczynnika uczenia równego 0,31 ilość satysfakcjonujących wyników była bardzo mała, zatem wprowadziłam ograniczenie zakresu 0,01-0,4. Pomimo iż liczba neuronów w zakresie 1-5 nie przyczyniała się do otrzymywania dobrych wyników, w testach nie ograniczałam zakresu tego parametru.

Dzięki wstępnym testom uniknęłam ciągłego zwiększania zakresu trzech pętli oraz zaoszczędziłam połowę czasu ze względu na ograniczenie zakresu współczynnika uczenia.

Na przedstawionych w projekcie wykresach między zależnością skuteczności uczenia od parametrów treningowych widać doskonale, że:

-liczba epok nie ma znaczącego wpływu na wynik, może z wyjątkiem 2000, 4000 oraz 6000, gdyż dla tych wartości skuteczność uczenia nie jest zbyt wysoka (wykres 1),

-liczba neuronów z zakresu 1-5 nie przyczynia się w wielkim stopniu do dużej skuteczności uczenia, powyżej tych wartości nie występują drastyczne spadki skuteczności (wykres 2),

- wraz ze wzrostem wielkości współczynnika uczenia daje się zobaczyć spadek skuteczności uczenia (wykres 3).

Matlab jest bardzo dobrym programem, gdyż udostępnia nam mnóstwo narzędzi oraz funkcji, służących do tworzenia sieci neuronowych.

  1. Możliwości rozwoju projektu:

Znalezienie idealnych proporcji między parametrami treningowymi używanymi w projekcie tzn.: liczba neuronów, współczynnikiem uczenia, ilością epok, a skutecznością uczenia się sieci. Dostosowanie wyżej wymienionej zależności do czasu wykonywania się skryptu.

  1. Spis rysunków, tabel i wykresów:

Rysunki:

Rysunek 1. Budowa SSN str. 4

Rysunek 2. Neuron str. 4

Rysunek 3. Topologia sieci LVQ str. 6

Tabele:

Tabela 1. Ilość danych i atrybutów str. 3

Tabela 2. Ilość wystąpień wyników ze skutecznością uczenia sieci

powyżej 98% zależnej od liczby epok str. 7

Tabela 3. Ilość wystąpień wyników ze skutecznością uczenia sieci

powyżej 98% zależnej od współczynnika uczenia str. 8

Tabela 4. Ilość wystąpień wyników ze skutecznością uczenia sieci

powyżej 98% zależnej od S1 str. 8

Tabela 5. Najlepsze wyniki str. 12

Tabela 6. Najgorsze wyniki str. 12

Wykresy:

Wykres 1. Zależność skuteczności uczenia od liczby epok str. 10

Wykres 2. Zależność skuteczności uczenia od liczby neuronów str. 11

Wykres 3. Zależność skuteczności uczenia od współczynnika uczenia str. 11

  1. Załączniki:

a) Linki do stron, z których zaczerpnięto informacje:

http://oizet.p.lodz.pl/istan/pdf/rozIV.pdf

http://www.cs.put.poznan.pl/jstefanowski/aed/TPDANN.pdf

http://www.ai.c-labtech.net/sn/sneuro.html

http://www.kik.pcz.czest.pl/nn/

http://www.statsoft.com.pl/textbook/stathome_stat.html?http%3A%2F%2Fwww.statsoft.com.pl%2Ftextbook%2Fstsvm.html

b) Płyta CD


Wyszukiwarka

Podobne podstrony:
Grzyby dimorficzne
Grzyby
Grzyby alergenne 1
Grzyby mikroskopowe stosowane w procesach przemyslowych technologii żywności
Borowiki duszone, różne różnośći, Grzyby na wiele sposobow ═══════════════
Grzyby MECHANIZM ZMIAN CHOROBOWYCH a, EDUKACJA, Dermatologia
Mszaki, paprotniki, rośliny nasienne i grzyby
Grzyby Halucynogenne
Flaczki z boczniaków, różne różnośći, Grzyby na wiele sposobow ═══════════════
Grzyby nadziewane wieprzowiną z grilla
Grzyby trujące, Ratownictwo Medyczne Studia, Giełda, 1. rok, Biologia i parazytologia
grzyby pytaniaaa, Mikrobiologia wet, sem 2
Grzyby kiszone, różne różnośći, Grzyby na wiele sposobow ═══════════════
gielda z koła, IV rok Lekarski CM UMK, Higiena i epidemiologia, Kolokwia, Grzyby, higiena szkolna
Grzyby, Pomoce naukowe, studia, biologia
WIRUSY I GRZYBY pytania wszystkie zebrane w 13
Ściąga grzyby

więcej podobnych podstron