logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak utworzyć sieć neuronową w MATLAB z NNT i traingdx?

STC 21 Kwi 2006 18:14 1367 0
REKLAMA
  • #1 2551642
    STC
    Poziom 11  
    Posty: 11
    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);
  • REKLAMA
REKLAMA