Download - control Inteligente

Transcript

PROBLEMASupongamos que un Perceptrn (ver figura) de dos entradas tiene pesos iniciales 0, 0.4 y umbral 0.3. Se requiere que este Perceptrn aprenda la funcin lgica AND. Suponga una razn de aprendizaje de 0.25. Usando el algoritmo anterior complete la tabla hasta que encuentre convergencia.

Resolviendo por matlab:A. Usando comandos del perceptron.%datax=[0 0 1 1 0 1 0 1 ];t=[0 0 0 1];w1=0;w2=0.4; %pesos inicialesb=0.3; %biasw=[w1 w2]; %matriz de pesosn=1; %factor de aprendizaje por defectoS=1; %numero de neuronas %creando la redPR=minmax(x);%DIM Rx2net=newp(PR,S);%valores de los pesos y biasnet.iw{1,1}=w;net.b{1}=b;%espacio de patrones plotpv(x,t)axis([-1 2 -1 2])gridh=plotpc(w,b)%hiperplanohold%entrenadonet=train(net,x,t);wf=net.iw{1,1};%pesos finalbf=net.b{1};%bias final}pause(2)plotpc(wf,bf,h)%resultadoswfbf

Resultado:

Obteniendo pesos y bias final:

B. Usando el algoritmo de perceptron%datax=[-1 -1 -1 -1 0 0 1 1 0 1 0 1 ];t=[0 0 0 1];w1=0;w2=0.4; %pesos inicialesb=0.3; %biasw=[b w1 w2]; %matriz de pesosalpha=0.25; %factor de aprendizajeit=0;emse=1;y=zeros(1,4);e=zeros(1,4);pesos=zeros(1,3);error=zeros(1,4);emsef=zeros(1);while emse~=0 it=it+1; for k=1:4 n=w*x(:,k) ; y(:,k)=hardlim(n); e(:,k)=t(:,k)-y(:,k); w=w+alpha*e(:,k)*x(:,k)'; end emse=mse(e) ; pesos(it,:)=w; error(it,:)=e; emsef(it)=emse;endpesos,error,emsef,e,itwf=pesos(it,2:3)bf=pesos(it,1)subplot(1,2,1)plotpv(x(2:3,:),t)plotpc(wf,-1*bf,'g')hold onplot([0 wf(1)],[0 wf(2)],'k','LineWidth',2)%xaxis([-0.5 1.3 -0.5 2])text(0.25,0.2,'w') gridsubplot(1,2,2)k=0:it-1;plot(k,emsef,'r','LineWidth',2)axis([0 3.5 0 0.5])gridtitle('error')

Resultado:

Obteniendo los valores de los pesos, bias y error:


Top Related