Lab

Embed Size (px)

DESCRIPTION

Lab inteligenta artif.

Citation preview

  • 1Lucrarea nr. 1

    Structura generala a unui neuron artificial

    1. Scopul lucrriiFamiliarizarea studenilor cu structura general a unui neuron artificial.

    Crearea primului neuron artificial utiliznd funcia Matlab newlin. Simulareaneuronului creat cu ajutorul funciei Matlab sim. Crearea unui perceptron cu funciaMatlab newp. Simularea perceptronului folosind diferite funcii de activare.

    2. Noiuni teoretice

    2.1. Structura general a unui neuron artificialModelul general al unui neuron artificial este prezentat n Figura 1.

    Figura 1. Modelul general al neuronului artificial

    Semnificaiile notaiilor i a blocurilor componente ale neuronului artificialprezentat n Figura 1 sunt urmtoarele:- ( )nixi ,1= reprezint intrrile n neuron. n cazul integrrii neuronului ntr-o reea

    de neuroni aceste intrri vor reprezenta activrile tuturor neuronilor conectai laacest neuron n cauz. Setul celor n intrri x=(x1 x2 xn) mai este cunoscut i subnumele de vector de intrare;

    - ( )niwi ,1= reprezint ponderarea intrrii i. Aceast pondere determin efectul pecare l are semnalul oferit de intrarea i asupra ieirii neuronului. Ponderilereprezint echivalentul jonciunilor sinaptice ntlnite la reelele de neuronibiologici.

    - Neuronul vede toate intrrile ca o intrare general (total) y care este calculatfolosind o funcie de intrare la care se adaug o valoare de offset sau bias (). nmajoritatea cazurilor, funcia de intrare utilizat este funcia sum ponderat atuturor intrrilor xi. Expresia matematic de calcul a intrrii generale n acest cazeste dat de relaia:

    ( ) +=+= =

    n

    iiiin wxxFy

    1. (1)

    Alte tipuri de funcii folosite ca funcii de intrare:

  • 2- funcia max{xiwi}, i=1n,- funcia min{xiwi}, i=1n,- funcia (xiwi), i=1n,

    - Funcia de activare stabilete activarea neuronului. Din cele prezentate nparagraful anterior, neuronul biologic poate fi activ (excitat) sau nu. Deci prezinto stare de activare. La fel i neuronii artificiali pot s aib, unii, dou stri deactivare (cazul perceptronului binar) sau mai multe stri de activare (cazulneuronilor artificiali reali).Tipuri de funcii pentru funcia de activare (Fa) a neuronului artificial:

    - funcia prag (treapt unitar simetric)(Figura 2):

  • 3yy

    yy

    a eeeeyyF

    +== )tanh()( (6)

    Figura 6. Funcie de activare tangenthiperbolic

    - a reprezint activarea (ieirea) neuronului:a=Fa(y) (7)

    adic valoarea oferit de funcia de activare.

    Exemplul 1:Listing program lab11.m%-----------------------------------------------------------------% simularea neuron artificial cu doua intrari si functie de% activare tip treapta unitara%-----------------------------------------------------------------

    %valorile dorite pentru intrarile neuronului artificialx=[0 1 0 1 %valori pentru prima intrare 0 0 1 1 %valori pentru a doua intrare 1 1 1 1]; %valori pentru intrarea de offset (compensare)x=x;

    %vectorul de ponderiw=[-0.8 %ponderea primei intrari 2 %ponderea celei de-a doua intrari -0.15]; %ponderea intrarii de offset

    for i=1:length(d),%Calculul intrarii totale pentru fiecare set de intrariy(i)=x(i,:)*w;

    %Calculul activarii neuronului, functie de activare% tip treapta unitaraa(i)=treapta(y(i)); %definitia acestei functi se regaseste

    %mai jos, se editeaza ntr-un alt %fisier,independent de cel in care se %regaseste codul acestui program de %simulare

    end

    Listing program treapta.m%-----------------------------------------------------------------%functia de activare "treapta unitara"%-----------------------------------------------------------------

    function [a]=treapta(y)

    for i=1:length(y), if y(i)>=0, a(i)=1; else a(i)=0; endenda=a';

  • 42.2. Funcii Matlabn continuare vor fi prezentate funcii Matlab ce vor fi utilizate pentru

    desfuarea lucrrii:

    - newp creeaz un perceptron binar (dac sunt lsate valorile implicite);

    Apelul funciei:RNA = newp(PR,S,TF,LF)

    unde:PR matrice de dimensiune Rx2 cu valorile minim i maxim pentru R intrri;S numrul de perceptroni;TF funcia de activare, implicit = 'hardlim' (treapt unitar);LF funcia de nvare, implicit = 'learnp';RNA reeaua neuronal artificial creat, compus din perceptroni binari.

    Exemplul 2:%-----------------------------------------------------------------% Crearea unei RNA cu un perceptron binar (functie de activare tip% treapta unitara) cu 2 intrari, valorile minima si maxima pentru% intrari este: min=0; max=1.%-----------------------------------------------------------------

    %valorile min si max pentru cele 2 intrariPR=[0 1 % pt. prima intrare 0 1];% pt. a 2-a intrare

    % numarul de neuroniS=1;

    %functia de activareTF='hardlim';

    %functia de invatareLF='learnp';

    rna=newp(PR,S,TF,LF);

    Observatii1. Programul din acest exemplu poate fi redus la ultima liniesetnd toate valorile dorite chiar n lista de argumente alefunctiei, fara a se mai apela la variabile suplimentare (valorilepentru argumentele TF si LF fiind cele implicite pot fi omise dinlista de argumente ale functiei):

    rna = newp([0 1;0 1], 1);

    2. n exemplu nu sunt setate valorile ponderilor de la intrarileneuronului creat.

    - sim simuleaz o reea neuronal artificial creat cu o funcie Matlab (newlin,newp, etc.). Va calcula pentru valorile prezentate la intrarea RNA ieirilecorespunztoare.

    Exemplul 3%-----------------------------------------------------------------% Simularea RNA creata cu functia newp din exemplul 2%-----------------------------------------------------------------

  • 5% Setarea ponderilor neuronului

    %ponderile intrarilorrna.IW{1,1}=[-0.8 2];

    %ponderea pentru intrarea de offset (bias)rna.b{1}=-0.15;

    % valorile dorite pentru intrarile perceptronuluiF=[0 1 0 1 %pt. prima intrare 0 0 1 1]; %pt. a doua intrare

    sim(rna,F)

    n Figura 7 sunt prezentate formele pentru diferite tipuri de funcii deactivare generate cu funcii Matlab.

    Figura 7. Forme de funcii de activare generate cu funcii Matlab

    Probleme propuse1. innd cont de Figura 1 i utiliznd relaiile matematice (1)(6) s se scrie

    un program n limbajul Matlab sau limbajul C pentru crearea i simularea uneireele neuronale artificiale cu un singur neuron artificial cu dou intrri. Setrilereelei neuronale sunt:

    - ponderile intrrilor: [-0.8 2.0];- ponderea pentru intrarea de offset: -0.15;- valorile intrrilor:

    - prima intare: 0 1 0 1;- a doua intrare: 0 0 1 1.

    2. Folosind Exemplul 2 i Exemplul 3 se va crea i simula, folosind funciilede activare prezentate n Figura 8, o reea neuronal artificial format dintr-unperceptron cu dou intrri. Setrile reelei neuronale sunt:

  • 6- ponderile intrrilor: [-0.8 2.0];- ponderea pentru intrarea de offset (bias): -0.15;- funcia de activare: hardlim, hardlims, logsig, poslin,

    purelin, satlins, tansig;- valorile intrrilor:

    - prima intare: 0 1 0 1;- a doua intrare: 0 0 1 1.