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.
30 Rozdział 3. Sieci dwuwarstwowe MLP<br />
[ W1przed , W2przed ] = init2 ( 2 , 2 , 1 )<br />
% sprawdzenie działania <strong>sieci</strong> przed uczeniem<br />
[ Y1 , Y2a ] = dzialaj2 ( W1przed , W2przed , P (:,1) ) ;<br />
[ Y1 , Y2b ] = dzialaj2 ( W1przed , W2przed , P (:,2) ) ;<br />
[ Y1 , Y2c ] = dzialaj2 ( W1przed , W2przed , P (:,3) ) ;<br />
[ Y1 , Y2d ] = dzialaj2 ( W1przed , W2przed , P (:,4) ) ;<br />
Yprzed = [ Y2a , Y2b , Y2c , Y2d ]<br />
[ W1po , W2po ] = ucz2 ( W1przed , W2przed , P , T , 2000 )<br />
% sprawdzenie działania <strong>sieci</strong> po uczeniu<br />
[ Y1 , Y2a ] = dzialaj2 ( W1po , W2po , P (:,1) ) ;<br />
[ Y1 , Y2b ] = dzialaj2 ( W1po , W2po , P (:,2) ) ;<br />
[ Y1 , Y2c ] = dzialaj2 ( W1po , W2po , P (:,3) ) ;<br />
[ Y1 , Y2d ] = dzialaj2 ( W1po , W2po , P (:,4) ) ;<br />
Ypo = [ Y2a , Y2b , Y2c , Y2d ]<br />
Ciąg uczący składa się teraz z czterech przykładów, zawartych w kolejnych<br />
parach kolumn macierzy P i T. W ćwiczeniu użyjemy najmniejszej możliwej<br />
<strong>sieci</strong>, która jest w stanie rozwiązać problem XOR. Jest to sieć o dwóch wejściach,<br />
dwóch neuronach w warstwie ukrytej i jednym neuronie wyjściowym. W<br />
dalszej części rozdziału przeanalizujemy możliwości pojedynczych neuronów oraz<br />
<strong>sieci</strong> wielowarstwowych w zakresie kształtowania granic decyzyjnych, a wtedy dowiemy<br />
się, dlaczego właśnie taka architektura jest konieczna do rozwiązania tego<br />
problemu. Oczywiście w powyższym skrypcie wystarczy zmienić tylko jeden parametr,<br />
aby móc przebadać zachowanie <strong>sieci</strong> o innej liczbie neuronów w pierwszej<br />
warstwie.<br />
Jak wspomniano wcześniej, w <strong>sieci</strong>ach dwuwarstwowych nie można już przy<br />
pomocy jednego polecenia sprawdzić działania <strong>sieci</strong> na całym zbiorze uczącym,<br />
czy testującym. Jak widać, trzeba po kolei podawać przykłady na wejście <strong>sieci</strong>, a<br />
otrzymane wyjścia (tylko warstwy wyjściowej) zebrać w wektor odpowiedzi i porównać<br />
z wektorem wartości żądanych T.