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
Inteligenta Artificiala


Inteligenta Artificiala




Inteligenta Artificiala

In figura de mai jos este reprezentat un perceptron

Functia prag de transfer folosita creeaza abilitatea perceptronului de a imparti spatiul de intrare in doua regiuni liniar separabile. Spatiul de intrare al unui neuron cu doua intrari, cu ponderile w1 =-1, w1,2=1 si bias-ul b=1 este reprezentat astfel:

Daca bias-ul este 0 atunci linia de separare va trece prin origine.

Rulati programul demonstrativ nnd4db.

Arhitecturi de perceptroni

O retea de perceptroni consta dintr-un singur layer de perceptroni.

Pentru a crea o retea de perceptroni se foloseste functia newp:

net = newp([0 2],1);

Pentru a vedea parametrii retelei create vom scrie

inputweights = net.inputweights

biases = net.biases

Daca cream urmatorul perceptron

net = newp([-2 2;-2 +2],1);

net.IW= [-1 1];

net.b = [1];

atunci pentru simularea lui vom scrie

p3 = ;

a3 = sim(net,p3)

Cand cream reteaua cu newp, ponderile si bias-ul au implicit valoarea 0.

net.IW = [3,4];

net.b = 5;

net = init(net);

Ce valori au ponderile si bias-ul acum?

Putem modifica modul de initializare a perceptronului astfel:

net.inputweights.initFcn = 'rands';

net.biases.initFcn = 'rands';

net = init(net);

Regula de invatare a perceptronului:

Pentru fiecare pereche input-target (p, t) se calculeaza

eroarea e=t-a, unde a este output-ul perceptronului

actualizarea ponderilor si a bias-ului se face dupa formulele

wk+1=wk+epT,

bk+1=bk+e.

Sa consideram urmatorul perceptron

net = newp([-2 2;-2 +2],1);

net.b = [0];

w = [1 -0.8];

net.IW = w;

si perechea input-target

p = [1; 2];

t 1];

Pentru a calcula eroarea perceptronului, scriem

a = sim(net,p);

e = t-a

si vom apela functia learnp pentru a vedea cum se modifica ponderile

dw = learnp(w,p,[],[],[],[],e,[],[],[])

dw =1 2

Noile ponderi se obtin astfel

w = w + dw

w =2.0000 1.2000

Rulati programul demonstrativ nnd4pr.

Antrenarea percepronului

Sa consideram urmatoarele date de intrare impreuna cu target-urile

Initial ponderile si bias-ul sunt 0. La primul pas al invatarii se calculeaza

Invatarea continua prin prezentarea si a celorlalte input-uri. Dupa prima epoca obtinem W(4)=[-3 -1] si b(4)=0.

Pentru a implementa in MATLAB cele descrise mai sus vom scrie

net = newp([-2 2;-2 +2],1);

net.trainParam.epochs = 1;

p = [[2;2] [1;-2] [-2;2] [-1;1]];

t =[0 1 0 1];

net = train(net,p,t);

Sa se aplice invatarea pentru 4 epoci.




loading...




Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate