RNFF

24
Universidad del Zulia Universidad del Zulia Especialización en Ingeniería de Control de Especialización en Ingeniería de Control de Procesos Procesos Tópicos Avanzados en Identificación de Tópicos Avanzados en Identificación de Procesos Procesos REDES NEURONALES REDES NEURONALES Dairy González Dairy González María Lorbes María Lorbes Sandra González Sandra González

description

Redes neuronales

Transcript of RNFF

Page 1: RNFF

Universidad del ZuliaUniversidad del ZuliaEspecialización en Ingeniería de Control de ProcesosEspecialización en Ingeniería de Control de ProcesosTópicos Avanzados en Identificación de ProcesosTópicos Avanzados en Identificación de Procesos

REDES NEURONALESREDES NEURONALES

Dairy GonzálezDairy GonzálezMaría LorbesMaría Lorbes

Sandra GonzálezSandra González

Page 2: RNFF

ACTIVIDAD II

A partir de los datos dados proporcionados, se desea construir una Red Neuronal feedforward (RNFF) y Red Neuronal con función de activación de base radial (RNBNF) que aproximen esta función desconocida. Observe que la red cuenta con dos entradas x, y y una salida z.

Page 3: RNFF

PARTE 1load datos.mat

1. FUNCIÓN DESCONOCIDA SIN NORMALIZARmesh(x,y,z);title('Superficie función desconocida')

2. FUNCIÓN DESCONOCIDA NORMALIZADA %Normalizar intervalo [-1,1],min -690 max 200minX=-690;maxX=200;xnor=-1+2*(x-minX)/(maxX-minX);minY=-690;maxY=200;ynor=-1+2*(y-minY)/(maxY-minY);figuremesh(x,y,znor)title('Superficie función desconocida normalizada')

3. GRAFICOS EN EL DOMINIO DE LA FUNCIÓN3.a Entrada 1: Entrenamiento y pruebafigureplot(ENTRADA1_ENT,TARGET1_ENT,'ko')hold onplot(ENTRADA1_PRU,TARGET1_PRU,'ro')title('Entrada 1')legend('ENTRADA1_ENT','ENTRADA1_PRU','location','best')

3.b Entrada 2: Entrenamiento y pruebafigureplot(ENTRADA2_ENT,TARGET2_ENT,'ko')hold onplot(ENTRADA2_PRU,TARGET2_PRU,'ro')title('Entrada 2')legend('ENTRADA2_ENT','ENTRADA2_PRU','location','best')

Page 4: RNFF

PARTE 1NORMALIZACION DE LOS DATOS DE ENTRADA

ni=2; %numero de entradas a la redes Entrada 1u_1=ENTRADA1_ENT;u1=u_1';umax1=max(u1);%vector que contiene los valos maximos de uumin1=min(u1);%vector que contiene los valos mainimos de uup_1=ENTRADA1_PRU;up1=up_1';upmax1=max(up1);%vector que contiene los valos maximos de uupmin1=min(up1);%vector que contiene los valos mainimos de uEntrada 2u_2=ENTRADA2_ENT;u2=u_2';umax2=max(u2);%vector q contiene los valos maximos de uumin2=min(u2);%vector q contiene los valos mainimos de uup_2=ENTRADA2_PRU;up2=up_2';upmax2=max(up2);%vector q contiene los valos maximos de uupmin2=min(up2);%vector q contiene los valos mainimos de uN=length(u_1); for k=1:N for j=1:ni %Indice con respecto a la entrada Uo1(j,k)=-1+2*(u_1(j,k)-umin1(j))/(umax1(j)-umin1(j));%Entrada1 Uopru1(j,k)=-1+2*(up_1(j,k)-upmin1(j))/(upmax1(j)-upmin1(j));%Prueba1 Uo2(j,k)=-1+2*(u_2(j,k)-umin2(j))/(umax2(j)-umin2(j));%Entrada2 Uopru2(j,k)=-1+2*(up_2(j,k)-upmin2(j))/(upmax2(j)-upmin2(j));%Prueba2 endend

Page 5: RNFF

nntool-Levenbertg Macquart

Page 6: RNFF

Red_1_5 (nh=5)

Red_1_20 (nh=20)Red 1-RNFF

Red_1_40 (nh=40)

Page 7: RNFF

Red_2_5 (nh=5)

Red 2-RNFFRed_2_20 (nh=20)

Red_2_40 (nh=40)

Page 8: RNFF

Algoritmo OS-ELM %Porcentajes de datos So=0.10; N=length(u);No=round(N*So);

%Normalización de los datos de entrada, salida._ % de vali y ent.for k=1:N if k<=No for j=1:ni Uo(j,k)=-1+2*(u(j,k)-umin(j))/(umax(j)-umin(j)); end for j=1:no Yo(j,k)=-1+2*(y(j,k)-ymin(j))/(ymax(j)-ymin(j)); eval(['Yo',num2str(j) '=Yo(j,:);']); end else %Vectores para aprendizaje secuencial for j=1:ni Ua(j,k)=-1+2*(u(j,k)-umin(j))/(umax(j)-umin(j)); end for j=1:no Ya(j,k)=-1+2*(y(j,k)-ymin(j))/(ymax(j)-ymin(j)); eval(['Ya',num2str(j) '=Ya(j,:);']); end endend for k=1:N %Vectores de validación for j=1:ni Upru(j,k)=-1+2*(up(j,k)-upmin(j))/(upmax(j)-upmin(j)); end for j=1:no Ypru(j,k)=-1+2*(yp(j,k)-ypmin(j))/(ypmax(j)-ypmin(j)); eval(['Yp',num2str(j) '=Ypru(j,:);']); endend

NORMALIZACION DE LA DATA Y FRACCIONAMIENTO

Page 9: RNFF

function [V,P,W]=initnet_oselm(X,T,nh,act_fun)%activation function of the hidden units%hyperbolic tangent: act_fun=0%rbf: act_fun=1

sizeinput=size(X);ni=sizeinput(1,1);chunk=sizeinput(1,2);stdpar1=sqrt(1);stdpar2=sqrt(1); if act_fun==0 V=stdpar1*randn(ni+1,nh); Xmod=[ones(1,chunk);X]; H=(tanh(V'*Xmod))';else C=stdpar1*randn(ni,nh); D=stdpar2*randn(1,nh); V=[C;D]; for i=1:chunk for j=1:nh H(i,j)=exp(-(norm(X(:,i)-C(:,j))^2)/(2*D(j)^2)); end endend size(H)H=[ones(chunk,1) H];P=pinv(H'*H);W=P*H'*T';

%Parametrosniter=30; %Numeros de iteracionescont=5; %contadornh=5; % numero de unidades en la capa ocultaslambda=0.95;%valor inicial de lambdanent=n*no+n*ni; %numero de entradasact_fun=0; %función de activación de las unidades ocultas %Inicializacion de las redes ninit=1;%numero de datos para inicializar for k=1:no Y=eval(['Yo',num2str(k)]); [V,P,W]=initnet_oselm(Uo(:,1:ninit),Yo(:,1:ninit),nh,act_fun); eval(['V',num2str(k) '=V;']);%pesos entre capa entrada y oculta eval(['W',num2str(k) '(:,1)=W;']);%pesos entre capa oculta y salida eval(['P',num2str(k) '=1e0*eye(nh+1,nh+1);']);%matriz inicial de la redend

Algoritmo OS-ELM

INICIALIZACION

Page 10: RNFF

E=[];Wa=[];j=1;jj=1; %cuenta iteraciones% Aprendizaje secuencialwhile jj<=niter & j<=5for k=ninit+1:length(Ua) for kk=1:no % Entrenamiento PP=eval(['P',num2str(kk)]); [PP,W(:,kk),epsilon(kk,k-1),lambda]=trainnet_extls_oselm(Ua(:,k-1),Ya(kk,k-1),V,W(:,kk),PP,nh,act_fun,lambda); eval(['P',num2str(kk) '=PP;']); Ww1(:,jj)=W(:,kk); % Validación [Yphat,Hphat]=simnet_oselm(Up,V,W,act_fun); eval(['Yphat',num2str(kk) '=Yphat;']); end end e1=(Yp-Yphat).^2; %Calculo del error cuadrático medio e=sum(e1)/N; E=[E e]; if jj>1 if e>=E(jj-1); if j==5 E(jj-5:jj); W=Ww1(:,jj-5); end j=j+1; else j=1; end end jj=jj+1;endW

Algoritmo OS-ELM

Page 11: RNFF

RNFF Nh=5 V.I:10 V.A.S=90

# de iteraciones

Page 12: RNFF

RNFF Nh=20 V.I:10 V.A.S=90

# de iteraciones

Page 13: RNFF

RNFF Nh=40 V.I:10 V.A.S=90

# de iteraciones

Page 14: RNFF

RNFF Nh=5 V.I:30 V.A.S=70

# de iteraciones

Page 15: RNFF

RNFF Nh=20 V.I:30 V.A.S=70

# de iteraciones

Page 16: RNFF

RNFF Nh=40 V.I:30 V.A.S=70

23 # iteración

Page 17: RNFF

RNBR Nh=5 V.I:10 V.A.S=90

# de iteraciones

Page 18: RNFF

RNBR Nh=20 V.I:10 V.A.S=90

# de iteraciones

Page 19: RNFF

RNBR Nh=40 V.I:10 V.A.S=90

# de iteraciones

Page 20: RNFF

RNBR Nh=5 V.I:30 V.A.S=70

6 # iteración

Page 21: RNFF

RNBR Nh=20 V.I:30 V.A.S=70

6 # iteración

Page 22: RNFF

RNBR Nh=40 V.I:30 V.A.S=70

# de iteraciones

Page 23: RNFF

CONCLUSIONESCONCLUSIONES

Page 24: RNFF

GRACIASGRACIAS