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

Informatica


Index » educatie » Informatica
» Exemple de probleme ce se pot rezolva cu retele neuronale


Exemple de probleme ce se pot rezolva cu retele neuronale


Exemple de probleme ce se pot rezolva cu RN

O RN capabila sa invete orientarea unui segment, segmentul fiind preyentat pe 5X5 pixeli cu 4 orintari:



In privinta alegerii sabloanelor se recomanda sa se aleaga mai multe sabloane, nu doar unul singur.

Sabloanele se pot alege uniform sau neuniform.

Pentru fiecare clasa de iesire se va alege acelasi numar de sabloane.

Alegerea neuniforma = numar diferit de sabloane pentru forme diferite de iesire.

Alegerea uniforma se utilizeaza atunci cind in problema respectiva formele apara cu aceeasi probabilitate.

In privinta numarului de neuroni din stratul ascuns un numar prea mare implica un numar mare de ponderi cu 2 dezavantaje dureaza mai mult invatarea si s-a aratat ca prea multe ponderi conduce la generalizari slabe din partea retelei. Generalizarea se refera la capacitatea RN de a recunoaste alte forme apropiate de cele invatate.

In privinta numarului de neuroni de iesire putem sia colo sa alegem uneori intrre mai multe posibilitati: o RN care pe baza unor intrari clasifica o piesa in buna sau defecta ( RN folosita in diagnoza de defecte) putem sa o proiectam ca un neuron de iesire sau cu 2 neuroni de iesire.

In     invatarea supervizata datele disponibile, in general, se impart in 2 categorii: cea mai mare parte din datele disponibile (80%) sunt folosite pentru invatare (pentru determinarea ponderilor) iar restul de date (20%) sunt folosite pentru validarea antrenarii, pentru antrenare.

Intrarile unei retele neuronale pot fi binare, analogice sau mixte. In general intrarile care sunt analogice trebuie preprocesate.

Exemplu de preprocesare: daca avem o intrare ce specifica virsta unui elev nu este indicat sa o folosim ca o intrare analogica ci una in binar.

< 20

> 20

categorii: > 18, (18,20), (20,25), > 25

Exemplu de aplicatie in care intrarile sunt analogice:

trebuie sa clasificam o curba prezentata retelei in 3 clase

pe RN vom da Y numerelor de puncte ce corespund unor puncte X egal departate.

Ca preprocesare pentru intrari ar fi aducerea domeniului de valori [0,10] in [0,1].

[a, b] [c, d]

Le aducem in [0,1] pentru a fi compatibile cu domeniul de iesire a unui neuron artificial.

ALGORITMUL BACK-PROPAGATION

propagare inainte (forward propagation)

propagare inapoi (back propagation)

La propagarea inainte se propaga intrarile sablonului curent. Plecand de la intrari se calculeaza iesirile din stratele ascunse si apoi iesirile din retea.

O retea 2 - 3 -1

Plecand de la intrari calculam iesirea Y5

Class PropagareInainte

}

Propagarea inainte in cazul unei RN ce are mai multi neuroni pe intrare. Ponderile nu mai pot fi memorate individual ci in matrici.

RN: 10 - 7 -5

Numarul de neuroni din stratul ascuns, cel de intrare si cel de iesire se citesc de la tastatura.

Class CalculIesire

Public static void main(string args[])

{

Int NNi=Integer.parseInt(JOptionPane.showInputDialog("m.n.m="))

Int NNH=.

Int NNO=.

Double x[]=newDouble[NNi];

Int i;

For(i=0;i<NNi;i++)

X[i]=Double.parseDouble(JoptionPane.showInputDialog("intrare="));

// citim ponderile

Double1[ ][ ]=newDouble[NNH][NNi]

Int j;

For(i=0;i<NNH;i++)

For(j=0;i<NNi;j++)

W1[i][j]=double.parse.double(JoptionPane.showInputDialog("w1="))

For(i=0;i<NNH;i++) {

//calculez y din stratul ascuns

Double(j0;j<Nni;j++)

a=a+x[j]*w1[i][j]

yh[i]=1/(1+exp(-a))





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate