Mam do rozwiązania 2 zadania i nie mam pojęcia jak się do nich zabrać. Gdyby ktoś mógł by mi pomóc byl bym bardzo wdzięczny.
Zadanie 1
Za pomoca pakietu MATLAB i biblioteki NNT utwórz siec jednokierunkowa z jedna warstwa
ukryta ze wsteczna propagacja błedów, która wykazywała najlepsze (optymalne) własciwosci ze
wzgledu na wyniki uczenia oraz zdolnosci uogólniania sieci (newff) i naucz ja stosujac
adaptacyjny trening metoda wstecznej propagacji błedu ze spadkiem gradientu i momentum
(traingdx) wykorzystujac do tego celu róne rozmiary zbiorów uczacych L. - opcjonalnie mplik
- VCdim_Traingdx_24_12_12.
Uwaga:
Minimalny zbiór danych uczacych w przyblieniu powinien byc dziesieciokrotnie wiekszy ni
liczba wag łaczacych warstwe wejsciowa i ukryta, natomiast górna granica zbioru uczacego jest
wieksza ni dwukrotna liczba wszystkich wag wystepujaca w sieci.
Polecenia MATLAB’a:
%tworzenie nowej sieci neuronowej
net = newff(minmax(P3),[24 ………… 12],{'tansig','tansig','purelin'},'traingdx');
%parametry uczenia sieci
net.trainParam.show = 25; %odswiezanie co 25 epok
net.trainParam.lr = 0.01; %wspolczynnik uczenia
net.trainParam.epochs = 10000; %maksymalna liczba epok
net.trainParam.goal = 0.02; %dopuszczalny blad sredniokwadratowy
%uczenie sieci
[net,tr] = train(net,P3,T1);
Zadanie 2
Dokonaj symulacji (sim) stopnia nauczenia sieci dla rónych rozmiarów zbioru uczacego L,
dla zbioru walidacyjnego V i testujacego X obliczajac bład sieci dla macierzy wzorców
i macierzy badanej - opcjonalnie m-plik - obl_blad.
Polecenia MATLAB’a:
„OBL_BLAD” – realizuje zadanie: (opcjonalnie m-plik OBL_BLAD)
function [blad] = obl_blad(wzor,badane)
%obliczanie bledu sredniokwadratowego dla dwoch podanych macierzy
temp = wzor-badane;
s = size(temp);
blad = zeros(1,s(2));
for i=1:s(2),
blad(1,i) = sqrt(sumsqr(temp(:,i)));
end
%symulacja
A = sim(net,P3);
A1 = sim(net,P4);
A2 = sim(net,P5);
wynik = obl_blad(T1,A);
srednia = mean(wynik);
wynik1 = obl_blad(T1,A1);
srednia1 = mean(wynik1);
wynik2 = obl_blad(T2,A2);
srednia2 = mean(wynik2);
Zadanie 1
Za pomoca pakietu MATLAB i biblioteki NNT utwórz siec jednokierunkowa z jedna warstwa
ukryta ze wsteczna propagacja błedów, która wykazywała najlepsze (optymalne) własciwosci ze
wzgledu na wyniki uczenia oraz zdolnosci uogólniania sieci (newff) i naucz ja stosujac
adaptacyjny trening metoda wstecznej propagacji błedu ze spadkiem gradientu i momentum
(traingdx) wykorzystujac do tego celu róne rozmiary zbiorów uczacych L. - opcjonalnie mplik
- VCdim_Traingdx_24_12_12.
Uwaga:
Minimalny zbiór danych uczacych w przyblieniu powinien byc dziesieciokrotnie wiekszy ni
liczba wag łaczacych warstwe wejsciowa i ukryta, natomiast górna granica zbioru uczacego jest
wieksza ni dwukrotna liczba wszystkich wag wystepujaca w sieci.
Polecenia MATLAB’a:
%tworzenie nowej sieci neuronowej
net = newff(minmax(P3),[24 ………… 12],{'tansig','tansig','purelin'},'traingdx');
%parametry uczenia sieci
net.trainParam.show = 25; %odswiezanie co 25 epok
net.trainParam.lr = 0.01; %wspolczynnik uczenia
net.trainParam.epochs = 10000; %maksymalna liczba epok
net.trainParam.goal = 0.02; %dopuszczalny blad sredniokwadratowy
%uczenie sieci
[net,tr] = train(net,P3,T1);
Zadanie 2
Dokonaj symulacji (sim) stopnia nauczenia sieci dla rónych rozmiarów zbioru uczacego L,
dla zbioru walidacyjnego V i testujacego X obliczajac bład sieci dla macierzy wzorców
i macierzy badanej - opcjonalnie m-plik - obl_blad.
Polecenia MATLAB’a:
„OBL_BLAD” – realizuje zadanie: (opcjonalnie m-plik OBL_BLAD)
function [blad] = obl_blad(wzor,badane)
%obliczanie bledu sredniokwadratowego dla dwoch podanych macierzy
temp = wzor-badane;
s = size(temp);
blad = zeros(1,s(2));
for i=1:s(2),
blad(1,i) = sqrt(sumsqr(temp(:,i)));
end
%symulacja
A = sim(net,P3);
A1 = sim(net,P4);
A2 = sim(net,P5);
wynik = obl_blad(T1,A);
srednia = mean(wynik);
wynik1 = obl_blad(T1,A1);
srednia1 = mean(wynik1);
wynik2 = obl_blad(T2,A2);
srednia2 = mean(wynik2);