19.01.2015 Views

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

SHOW MORE
SHOW LESS

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>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!