Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Calculatoare


Index » educatie » » informatica » Calculatoare
» Backpropagation - Algoritm


Backpropagation - Algoritm


Backpropagation

Se foloseste pentru clasificarea exemplelor / formelor in m>2 clase.

Se considera setul de antrenament , unde exemplul xiRn, iar raspunsul dorit pentru exemplul i este y'i m. Se va lucra cu vectori de intrare extinsi .



Consideram cazul unei retele feed-forward multinivel cu un strat ascuns si cu conectivitate standard: FX FH FY. Diagrama este urmatoarea:

Stratul de iesire FY 1 . j . m

wqj

Stratul ascuns FH 1 . q . p

viq

Stratul de intrare FX 1 . i . n

1

xk

Algoritm

P0. Initializare

Se initializeaza ponderile retelei V=(viq)iq si W=(wqj)qj cu valori mici, generate aleator.

Se initializeaza constantele de invatare ck si ak cu valori din (0,1)

P1. O etapa de instruire

Pentru fiecare exemplu k=1, 2, . ,N din multimea de antrenament se executa pasii

P11. Se calculeaza activarile induse in stratul FH: , q=1,2, . , p.

P12. Se calculeaza iesirile neuronilor din stratul FH: , pentru q=1,2, . , p.

P13. Se calculeaza activarile induse in stratul FY: , j = 1, 2, . , m.

P14. Se calculeaza iesirile neuronilor din stratul FY: , j = 1, 2, . , m.

P15. Se calculeaza eroarea = = care este o masura a calitatii.

P16. Se actualizeaza ponderile stratului de iesire

P17. Se actualizeaza ponderile stratului ascuns

P2. Iterarea

Daca eroarea medie este acceptabila, atunci invatarea este incheiata; altfel se executa un nou ciclu de instruire

Proiect - recunoastere de litere

Implementati algoritmul back-propagation pentru recunoasterea caracterelor A, B, . , H (8 litere), reprezentand literele prin 10*10 pixeli (vector de dim. 100). Exemplele sa contina cate 10 exemple din fiecare litera, iar raspunsul dorit este cate un model de litera. Dupa antrenare sa se faca testarea retelei pe exemple noi din fiecare litera si evaluati performanta in termeni de eroare.

Aici, n=100, m=8.

Fie vectorul de intrare extins si coloana j din matricea ponderilor la care s-a adaugat pragul θ:

M(n+1)× m.

Algoritm antrenare

Se initializeaza

matrice aleator in (-1,1) cu (n+1)×m componente

numarul maxim de epoci    NMAX

eta = rata de invatare (de obicei 0.1)

epoci := 1

Cat timp epoci < NMAX

pentru i = 1:N

pentru j = 1:m

actualizam T T + eta * (y'i - sign[()Txi] ) * (xi)T

end pentru

epoci := epoci+1.

end cat timp

Testare:

Pentru un nou exemplu , cu xiRn, y'i m:

- daca sign[()Txi] * y'i > 0 atunci y'i =1, altfel y'i = -1

Proiect: Sa se aplice algoritmul Madaline pentru antrenarea si testarea cu litere de la A la H (m=8), initial clare, apoi cu zgomot alb.

Observatie: Pentru crearea fisierelor de antrenare se poate folosi executabilul Letters.exe - dupa lansarea executabilului se da clic dreapta si apoi se poate desena o litera (daca se doreste stergerea unui "pixel" se executa clic dreapta) si pentru a o salva (implicit in fisierul "test1.txt" care apoi se redenumeste) se apasa butonul "Save"; pentru curata fereastra in vedera editarii unei noi litere se apasa butonul "Clear". La final se apasa butonul "OK".

Sugestii: La antrenare, iesirea dorita pentru litera A se poate alege ca fiind y'1 = (1, -1, . ,-1), pentru litera B: y'2 = (-1, 1,-1 . ,1), . , respectiv pentru litera H:
y'8 = (-1, -1, . ,-1,1). La testare, se va obtine un y = (y1, . , ym) si daca pe pozitia i este 1 inseamna ca este litera i. Daca se obtine de exemplu (1,1,-1,..-1) insemna ca este combinatie intre A si B (nefiind clara este indecizie), dar oricum se compara cu iesirea dorita de la exemplul de test.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate