Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
Poznawanie wÅasnoÅci sieci neuronowych w Årodowisku MATLAB
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
18 Rozdział 2. Sieci jednowarstwowe<br />
Zadanie 3. Napisz funkcję, która będzie uczyć sieć jednowarstwową o danej macierzy<br />
wag W przez zadaną liczbę epok n na ciągu uczącym podanym w postaci<br />
macierzy przykładów P (wejścia) i T (żądane wyjścia). Sieć zbudowana jest z neuronów<br />
o sigmoidalnej funkcji aktywacji. Wynikiem działania funkcji powinna być<br />
macierz wag nauczonej <strong>sieci</strong>. Nagłówek funkcji określony jest następująco:<br />
function [ Wpo ] = ucz1 ( Wprzed , P , T , n )<br />
Uczenie <strong>sieci</strong> polega na wielokrotnym „pokazywaniu” jej kolejnych przykładów<br />
z ciągu uczącego. Podczas każdego takiego pokazu wyznaczana jest odpowiedź<br />
<strong>sieci</strong>, po czym jest ona porównywana z żądaną odpowiedzią dla danego przykładu,<br />
zawartą w ciągu uczącym. Na podstawie obliczonej różnicy, czyli błędu popełnionego<br />
przez sieć, ustala się następnie poprawki wszystkich wag <strong>sieci</strong>, zgodnie<br />
z przyjętym algorytmem uczenia. Poprawki te dodaje się do wag po to, aby w<br />
następnych krokach, gdy <strong>sieci</strong> zostanie przedstawiony ten sam przykład, jej odpowiedź<br />
była bliższa żądanej odpowiedzi z ciągu uczącego.<br />
Schemat pojedynczego kroku uczenia <strong>sieci</strong> jednowarstwowej można przedstawić<br />
na diagramie czynności języka UML, przedstawionym na rys. 2.4.<br />
W tym ćwiczeniu nie będziemy zastanawiać się nad strategiami dotyczącymi<br />
wybierania przykładów uczących, ani liczby przykładów pokazywanych w pojedynczym<br />
kroku uczenia <strong>sieci</strong>. W dalszej części książki przedyskutujemy pojęcia<br />
kroku i epoki uczenia oraz kwestię równomiernego pokazywania przykładów<br />
z ciągu uczącego w każdej epoce. Pojedynczy krok uczenia, przedstawiony<br />
na rys. 2.4, obejmuje:<br />
· wylosowanie numeru przykładu do pokazania w danym kroku ,<br />
· podanie przykładu na wejścia <strong>sieci</strong> i obliczenie jej wyjść – czyli wybranie odpowiedniej<br />
kolumny z macierzy P zbioru uczącego i obliczenie wartości wyjść<br />
<strong>sieci</strong>,<br />
· porównanie wyjść <strong>sieci</strong> z żądanymi wyjściami dla danego przykładu – czyli z odpowiednią<br />
kolumną macierzy T,<br />
· obliczenie macierzy poprawek wag, zgodnie z wybranym algorytmem uczenia,<br />
· dodanie macierzy poprawek do macierzy wag <strong>sieci</strong>.