Académique Documents
Professionnel Documents
Culture Documents
Aprendizaje supervisado
Funcin de coste
Descenso por gradiente Regla delta Algoritmo LMS o Algoritmo de Widrow y Hoff.
Factor de aprendizaje
Funcin de coste
x1
xi
xn
. . . .
. .
y1 yj ym
Sistema
. .
poca
Nmero de capas
Neurona
- 'trainlm' (Levenberg-Marquard) - 'traingdx' (Gradiente descendente con momento y f.a. adaptativo) - 'traingdm' (Gradiente descendente con momento) - 'traingda' (Gradiente descendente con f.a. adaptativo) - 'trainbfg' (BFGS Quasi-Newton) - 'trainrp' (Resilient Backpropagation) - 'trainoss' (Secante de un paso) - 'trainscg' (Conjugado escalado) - 'traingd' (Gradiente descendente)
Factor de aprendizaje
Se define en el intervalo: ]0, 1] Elevado: El algoritmo oscila y se convierte en inestable Bajo: Tarda en obtener el modelo Dinmico o momento
Si el error se incrementa por encima de un determinado porciento (5%): No se actualizan los parmetros El factor de aprendizaje se reduce en un factor 0.95 (5%) Si el error se reduce ms de un determinado porciento (5%): Se actualizan los parmetros El factor de aprendizaje se incrementa en un factor 1.05 (5%) En cualquier otro caso: Se actualizan los parmetros Se mantiene el valor del factor de aprendizaje
1.05(e) e
0.95(e)
Matlab
WEB Aplicaciones
Modelos
Redes Neuronales
Funcin AND
Ganancia + Retrasos
Ejemplo
% Se obtienen datos de entrada-salida >>load dryer2 >>t=[0:.08:80-.08]'; >>a=.1; b=.1; c=.1; d=.1; e=.1; f=.1;
Ejemplo (II)
Tools Parameter Estimation
Ejemplo (III)
Mtodo de entrenamiento y parmetros estimados
Neurona
Neurona: Funcin no lineal, derivable, cuyo argumento es un filtro lineal con ganancia.
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 -10
-8
-6
-4
-2
0 logsig
10
0.8
0.4
0.6
0.2
0.4
0
0.2
-0.2
0
-0.4
-0.2
-0.6
-0.4
-0.8
-0.6
-1 -10 -8 -6 -4 -2 0 hardlim 2 4 6 8 10
-0.8
-1 -10
-8
-6
-4
-2
0 tansig
10
Perceptrn
Neurona en Matlab
Representacin de variables
nntool
Capa de Neuronas
Capa de Neuronas
Funcin de coste
Gradiente
Ejemplo
En WEB: Aplicaciones Modelos Capa de neuronas
% Se crean las matrices para la red >> x=xudx(:,1:5)'; >> y=xudx(:,6:7)'; % Se determinan los intervalos de entrada >> interv=minmax(x); % Se define el nmero de salidas >> numsal=2;
Ejemplo (II)
% Se define la red, entrenamiento: gradiente net=newff(interv, numsal, funact, 'traingd');
% Se verifican los parmetros de entrenamiento >> net.trainParam epochs: 100 goal: 0 lr: 0.0100 max_fail: 5 min_grad: 1.0000e-010 show: 25 time: Inf
Ejemplo (III)
% Se alteran algunos parmetros >>net.trainParam.epochs = 20000; >>net.trainParam.goal = 0.001; >>net.trainParam.lr = 0.1; % pocas % Error deseado % fa inicial
% Se entrena la red, alterando parmetros % de entrenamiento segn resultados >> net = train(net,x,y); % Se visualizan resultados basado en: >> ynet=sim(net,x)'; >> y=y';
Ejemplo (IV)
% Identificacin de parmetros >> net.IW{1,1} 7.7054 -1.0928 1.3820 -0.2252 1.2570 7.9476 4.7789 -0.6219 1.0261 -0.7004 >> net.b{1} -4.4500 -3.4097
Ejemplo (V)
Modelo resultante
% Creo matriz con unos incluidos (considerar ganancias) [m,n]=size(x); unos=ones(1,n); xx=[unos ;x]; % Se une ganancia y pesos pesos_tot=[net.b{1} net.IW{1,1}]; % Se obtiene salida filtro lineal filtros=pesos_tot*xx; % Se aplica funcin de activacin sal=logsig(filtros);
Capa 1
Capa 2
Capa 3
C=3
Ecuaciones generales
Capa 1
Capas intermedias
4323
Capas 2 y 3
4323
Por lotes:
El diferencial de la funcin que representa a la capa de salida con respecto a los parmetros
Parmetro: Corresponde a la capa 3, segunda variable de entrada (segunda neurona de la capa 2), primera neurona
Capa(3)
Variable de salida
Variable de entrada
Secuencial
Capa 2
Ejemplo
Planta 3, con 6 variables de entrada y dos de salida
3 2 1 0 -1 -2 -3 -4 -5 20 30 40 50 60 70 80 90 100
3 2 1 0 -1 -2 -3 -4 -5 10 20 30 40 50 60 70 80 90 100
Ejemplo (II)
% Se configuran datos de entrada-salida >> entradas=entradas(10:1001,:)'; >> salidas=salidas(10:1001,:)';
Representacin:
6542
% Nmero de capas >> num_capas=[5 4]; % Funciones de activacin >> funcact={'tansig' 'logsig' 'purelin'}; % Se define la red >> net=newff(entradas,salidas, num_capas, funcact, 'trainlm', 'learngdm', 'mse'); >> view(net)
Ejemplo (III)
% Se entrena la red >> train(net, entradas, salidas) % Tamao de matrices de parmetros >> size(net.IW{1}) % Capa 1 5 6 >> size(net.LW{2,1}) % Capa 2 4 5 % Modelo resultante % Salida Capa 1 filtro1=net.IW{1}*entradas(:,1)+net.b{1}; capa1=tansig(filtro1) % Salida Capa 2 filtro2=net.LW{2,1}*capa1+net.b{2}; capa2=logsig(filtro2) % Salida Capa 3 filtro3=net.LW{3,2}*capa2+net.b{3}; capa3=purelin(filtro3)
S1: Nmero de entradas a1 [S1x1]: Variables de entrada S2: Nmero de variables de salida IW21 [S2xS1]: Parmetros de la segunda capa b2 [S2x1]: Ganancias de la segunda capa a2 [S2x1]: Variables de salida de la red
R: Nmero de entradas x [Rx1]: Vector de variables de entrada S1: Nmero de variables de salida de la capa 1 IW11 [S1xR]: Parmetros b1 [S1x1]: Ganancias d [S1x1]: Distancias
Funcin equivalente
i=1R : Subndice que representa a las R variables de entrada j=1 S1: Subndice que representa a las S1 salidas de la primera capa k=1.. S2: Subndice que representa las S2 salidas de la segunda capa
Adaptacin de parmetros
Gradiente descendente
Primera capa
Segunda capa
Programa en Matlab
%Se crean las matrices de entrada-salida para la red >> entrada=xudx(:,1:8)'; >> salida=xudx(:,9)'; % Se entrena la red, error medio cuadrtico deseado: 0.1 >> net = newrb(entrada,salida,0.1); % Nmero de parmetros de la primera capa >> size(net.IW{1}) ans = 1062 8 >> size(net.b{1}) ans = 1062 1 % Nmero de parmetros de la segunda capa >> size(net.LW{2,1}) ans = 1 1062 >> size(net.b{2}) ans = 1 1
Ejemplo en Web
Ejemplo
Planta 3, con 6 variables de entrada y dos de salida
sim('planta3'); % Datos de entrada-salida entradas=entradas(10:1001,:)'; salidas=salidas(10:1001,:)'; % Procede a adaptacin net = newrb(entradas,salidas) % Comprobacin del resultado salidas_net=net(entradas); plot(salidas'); hold on; plot(salidas_net')';
Ejemplo (II)
>> view(net)
% Comprobacin de parmetros >> size(net.IW{1}) 992 6 >> size(net.b{1}) 992 1 >> size(net.LW{2,1}) 2 992 >> size(net.b{2}) 2 1
Tipos de redes
Salida conocida y(t+1) + Red esttica Entradas conocidas Sistema I Sistema II Sistema III Salida del modelo
(t+1)
y (t 1)
Redes de Elman
sim('planta_2');
% Datos de entrada-salida entradas=entradas(10:1001,:)'; salidas=salidas(10:1001,:)'; % Red de Elman net = elmannet(1:3,10) % Procede a adaptacin net = train(net,entradas,salidas); view(net) % Comprobcin del resultado salidas_net=net(entradas); plot(salidas'); hold on; plot(salidas_net','r')';
% Comprobacin de parmetros >> size(net.IW{1,1}) 10 6 >> size(net.b{1}) 10 1 >> size(net.LW{1,1}) 10 30 >> size(net.LW{2,1}) 2 10 >> size(net.b{2}) 2 1
Red dinmica
Plantas
Solucin
Solucin
Ejemplos
Modelo de una planta Prediccin de la contaminacin ambiental Utilizacin de nntool Reconocimiento de caracteres Control por modelo inverso en robtica
Clasificacin de texturas