[net, TR, Ac, El] = trainb (net, Pd, Tl, Ai, Q, TS, VV, TV)
info = trainb (cod)
TRAINB nu este chemat direct. Pentru a apela o funcție, trebuie să apelați TRAIN în rețea, atunci când o definiți, proprietatea NET.trainFcn este setată la 'trainb'.
TRAINB pregătește rețeaua modificând greutățile și offseturile în modul lot. Greutățile și offseturile sunt modificate după trecerea tuturor datelor de intrare.
Parametrii de intrare:- NET - rețea neuronală;
- Pd - vectori ai întârzierilor de intrare;
- Tl sunt vectorii standardelor stratului;
- Ai - condițiile inițiale ale întârzierilor de intrare;
- Q este dimensiunea pachetului;
- TS - pași în timp;
- VV - matricea goală sau structura vectorilor de control;
- TV - o matrice goală sau o structură de vectori de testare.
- NET - rețea de instruire;
- TR - înregistrare, inclusiv parametrii de instruire;
- TR.epoch - numărul de epoci de formare;
- TR.perf este parametrul de instruire;
- TR.vperf - verificați parametrul de control;
- TR.tperf - parametru de testare;
- Ac - randamentele totale ale stratului pentru ultima epoca;
- Ero - strat erori pentru ultima eră.
- net.trainParam.epochs - (100) - Numărul maxim de epoci de formare;
- net.trainParam.show - (25) - Numărul de epoci între grafice (NaN - nici un grafic);
- net.trainParam.goal - (0) - Stare de oprire prin abaterea de la standard;
- net.trainParam.time - (inf) - durata maximă de antrenament în secunde;
- net.trainParam.max_fail - (5) - Numărul maxim de erori pe matricea de control.
- Pd - gama NoxNixTS de celule, fiecare element al căruia P - matricea DijxQ;
- Tl - matrice NlxTS de celule, fiecare element al cărui matrice P - VixQ;
- Ai - NlxLD matrice de celule, fiecare element al căruia Ai este o matrice SixQ;
- Ni = intrări net.num
- Nl = net.numLayers
- LD = net.numLayerDelays
- Ri = net.inputs.size
- Si = net.layers.size
- Vi = net.targets.size
- Dij = Ri * lungime (net.inputWeights.delays)
- VV.PD, TV.PD - Întârzieri de intrare pentru control / test;
- VV.Tl, TV.Tl - Standarde de control / testare ale stratului;
- VV.Ai, TV.Ai - Condiții inițiale de intrare ale matricei de test / test;
- VV.Q, TV.Q - mărimea pachetului de matrice de încercări / încercări;
- VV.TS, TV.TS - etapele de timp ale matricei de test / test.
Vectorii de test sunt utilizate pentru a opri formarea timpurie în cazul în care performanța rețelei pe vectorii de validare nu reușește să îmbunătățească sau rămâne la același nivel pentru epoci MAX_FAIL într-un rând. Vestele de testare sunt folosite pentru a testa în continuare rețeaua pentru a evalua generalizarea proprietăților și pentru a nu afecta procesul de instruire a rețelei.
TRAINB (CODE) returnează informații pentru fiecare șiruri de caractere CODE:- "nume" - numele parametrilor de antrenament;
- "pdefaults" - parametrii de exercițiu implicit;
O rețea standard care utilizează TRAINB poate fi creată utilizând funcțiile NEWLIN.
Pentru a crea o rețea personalizată pe care trebuie să o instruiți cu TRAINB, trebuie să:
1) Setați NET.trainFcn ca "trainb". Prin urmare, valorile NET.trainParam vor fi valorile implicite pentru funcția TRAINB.
2) Setați funcțiile de învățare pentru NET.inputWeights.learnFcn.
3) Setați funcțiile de învățare ale NET.layerWeights.learnFcn.
4) Setați funcțiile de învățare pentru NET.biases.learnFcn. (Parametrii de învățare pentru greutăți și offseturi vor fi selectați automat ca valori implicite pentru funcțiile de învățare selectate)
Pentru a instrui rețeaua, aveți nevoie de:
1) Setați valorile necesare pentru proprietățile NET.trainParam.
2) Stabiliți valorile necesare pentru parametrii de antrenament pentru greutăți și offseturi.
3) Apelați funcția TRAIN.
Fiecare greutate și offset este modificată în funcție de funcția de predare după fiecare epocă (una trece prin întregul set de vectori de intrare).
Instruirea se oprește dacă una dintre următoarele condiții este adevărată:
1) Numărul maxim de epoci "EPOCHS" a fost atins.
2) Valoarea timpului maxim de antrenament "TIME" a fost depășită.
3) Performanța va ajunge la "GOAL".
4) Valoarea de control a funcției a crescut de mai multe ori decât "MAX_FAIL", succesiv după ce a fost redusă ultima dată (utilizând o matrice de control).