SlideShare una empresa de Scribd logo
1 de 66
Redes neuronales
Aprendizaje supervisado
Función de coste
Descenso por gradiente
Regla delta
Algoritmo LMS o
Algoritmo de Widrow y Hoff.
Factor de aprendizaje
Función de coste
Sistema
x1
xi
xn
.
.
.
.
y1
yj
ym
.
.
.
.
Entrenamiento secuencial:
Una fila adapta el parámetro
Entrenamiento por lotes:
Todos los datos utilizados para entrenar
Época
Adaptación del parámetro
Neurona
Diferencial de la función de coste
con respecto a la neurona
Diferencial de la neurona
con respecto al parámetro
Número
de capas
Número de
capas previas
Indices del parámetro
Formas de alterar el parámetro
- '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
Si el error se incrementa por encima de un determinado porciento
(5%):
•No se actualizan los parámetros
•El factor de aprendizaje se reduce en un factor 0.95 (5%)
Si el error se reduce más de un determinado porciento (5%):
•Se actualizan los parámetros
•El factor de aprendizaje se incrementa en un factor 1.05 (5%)
En cualquier otro caso:
•Se actualizan los parámetros
•Se mantiene el valor del factor de aprendizaje
Dinámico o momento
∆e
0.95(∆e)
1.05(∆e)
Red lineal (I)
Núcleo estimador
Red lineal (II)
Regla Delta
Red lineal (III)
Pasos para el aprendizaje supervisado
[Paso 1] Definir la estructura del modelo y las condiciones iniciales
[Paso 2] Obtener los datos de entrada-salida ( x1, x2, . . .,xn; y )
[Paso 3] Aplicar el núcleo estimador
[Paso 4] Adaptar los parámetros
[Paso 5] Determinar la condición de finalización en la obtención del modelo,
si este no se cumple, repetir a partir del [Paso 2]
[Paso 6] Aplicar el criterio para validación del modelo.
Si los resultados no son los deseados, repetir a partir del [Paso 1]
Solución de ecuaciones lineales
Matlab
WEB
Aplicaciones Modelos Redes Neuronales
Filtro lineal con RN
Se desea representar el siguiente filtro:
y = 0.5*x1-0.3*x2
En este ejemplo los parámetros son: w1= 0.5 y w2= -0.3.
Se desea determinar la salida equivalente al vector de entradas:
>>x =
[1 3
2 4
3 5
4 6]
Filtro lineal con RN (II)
Solución:
% Se define la matriz de entradas x[n,K]=x[2,4]
>> x=x'
x =
1 2 3 4
3 4 5 6
% Se define el filtro lineal (versión antigua)
>>interx1=[1 4] % Intervalo [min, max] de x1
>>interx2=[3 6] % Intervalo [min, max] de x2
>>numsal=1 % Número de salidas
>>net=newlin([interx1; interx2], numsal);
% Nueva versión (adquiere información de matrices)
>>net=newlin(x, y); % net=newlin(x, 1);
Filtro lineal con RN (III)
% Se definen los parámetros del filtro
>>net.IW{1,1}=[0.5 -0.3]
>>net.b{1}=0; % La ganancia es cero
% Se verifican los parámetros del filtro
>> net.IW{1,1}
ans =
0.5000 -0.3000
>> net.b{1}
ans =
0
Filtro lineal con RN (IV)
% Se obtiene la salida de la red
>>y=sim(net,x)
y =
-0.4000 -0.2000 0 0.2000
% Se comprueba
>> x'*net.IW{1,1}'
ans =
-0.4000
-0.2000
0
0.2000
Filtros sin ganancia
Planos pasan
por el origen
Limitaciones de filtros sin ganancia
Cuando las entradas son cero,
los parámetros no se adaptan
1
Determinada clasificación:
Líneas que no pasen por el origen
Función AND
Filtro con ganancia
Adaptar nuevo parámetro
Solución lineal
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)
Método de entrenamiento y parámetros estimados
Neurona
Neurona: Función no lineal, derivable, cuyo argumento
es un filtro lineal con ganancia.
Neurona: Funciones (I)
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
purelin
Lineal (purelin)
-10 -8 -6 -4 -2 0 2 4 6 8 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
logsig
Sigmoidal logarítmico (logsig)
Neurona: Funciones (II)
Tangente sigmoidal
hiperbólica (tansig)
Limitador fuerte (hardlim)
-10 -8 -6 -4 -2 0 2 4 6 8 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
tansig
-10 -8 -6 -4 -2 0 2 4 6 8 10
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
hardlim
Perceptrón
Neurona en Matlab
Representación de variables
nntool
Capa de Neuronas
Capa de Neuronas
Función de coste
Gradiente
Capa de Neuronas en Matlab
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 número de salidas
>> numsal=2;
% Se define la función de activación
>> funact={'logsig'};
Ejemplo (II)
% Se define la red, entrenamiento: gradiente
net=newff(interv, numsal, funact, 'traingd'); 
% Se verifican los parámetros 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 parámetros
>>net.trainParam.epochs = 20000;   % Épocas
>>net.trainParam.goal = 0.001;       % Error deseado
>>net.trainParam.lr = 0.1;             % fa inicial
% Se entrena la red, alterando parámetros
% de entrenamiento según resultados
>> net = train(net,x,y);
% Se visualizan resultados basado en:
>> ynet=sim(net,x)';
>> y=y';
% Para determinar el error
>> error=y1-ynet
Ejemplo (IV)
% Identificación de parámetros
>> 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)
% 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 función de activación
sal=logsig(filtros);
Modelo resultante
Red Neuronal Multicapas
Se desea obtener el modelo de un sistema con 4 variables de entrada
y 3 variables de salida.
Posible configuración:
Capa 1: Tres neuronas
Capa 2: Dos neuronas
Capa 3: Tres neuronas (definidas por el número de salidas del sistema)
Representación: 4 – 3 – 2 – 3
donde:
n : Número de variables de entrada
Sc : Número de neuronas de la capa c
C : Número de capas
Capa 1
Capa 2
Capa 3
C = 3
Ecuaciones generales
Capa 1
Capas
intermedias
Para el ejemplo, representación: 4 – 3 – 2 – 3
Capas 2 y 3
Para el ejemplo, representación: 4 – 3 – 2 – 3
Aplicación del gradiente
El diferencial de la función de coste
con respecto a los parámetros
Secuencial:
Por lotes: El diferencial de la función que
representa a la capa de salida con
respecto a los parámetros
Aplicación del gradiente (Capa 3, C)
Capa(3)
Parámetro: Corresponde a la capa 3, segunda variable de
entrada (segunda neurona de la capa 2),
primera neurona
Variable de salida Variable de entrada
Aplicación del gradiente
(otras capas)
Capa 1
Capa 2
Secuencial
Pasos para crear una red
perceptrón multicapas
1.- Se definen el número de variables de entrada (n)
y variables de salida ( ) del sistema que se pretende modelar.
2.- Se definen el número de capas (C).
3.- Se definen el número de neuronas de cada capa
, para (excepto la de salida, que ha sido
definida en el paso 1).
4.- Se definen las funciones de activación para cada capa
(la única condición, en teoría, para definir estas funciones,
es que sean derivables).
Ejemplo
Planta con 6 variables de entrada y dos de salida
20 30 40 50 60 70 80 90 100
-5
-4
-3
-2
-1
0
1
2
3
10 20 30 40 50 60 70 80 90 100
-5
-4
-3
-2
-1
0
1
2
3
Ejemplo (II)
% Se configuran datos de entrada-salida
>> entradas=entradas(10:1001,:)';
>> salidas=salidas(10:1001,:)';
Representación: 6 – 5 – 4 – 2
% Número de capas
>> num_capas=[5 4];
% Funciones de activación
>> 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)
% Tamaño de matrices de parámetros
>> 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)
Red de base radial
S1
: Número de entradas
a1
[S1
x1]: Variables de entrada
S2
: Número de variables de salida
IW21 [S2
xS1
]: Parámetros de la segunda capa
b2
[S2
x1]: Ganancias de la segunda capa
a2
[S2
x1]: Variables de salida de la red
Red de base radial(II)
R: Número de entradas
x [Rx1]: Vector de variables de entrada
S1
: Número de variables de salida de la capa 1
IW11 [S1
xR]: Parámetros
b1
[S1
x1]: Ganancias
d [S1
x1]: Distancias
Red de base radial (Programa)
% Capa I
% Vector de variables de entrada (R=5)
x=[1, 2, 3, 4, 5]';
[R,S]=size(x);
% Número de variables de salida de la primera capa
S1=3;
% Vector de parámetros debe ser de tamaño [S1xR]
IW11=rand([S1,R]);
% Ganancias de la primera capa [S1x1]
b1=rand([S1,1]);
% Se obtiene la norma euclídea
for i=1:S1
d(i,1)=sqrt(sum((x-IW11(i,:)').^2));
end
% Se aplica la función de base radial
a1=exp(-(b1.*d).^2);
Red de base radial (Programa II)
% Capa II
%Número de variables de salida de la segunda capa
S2=2;
% Vector de parámetros debe ser de tamaño [S2,S1]
LW21=rand([S2,S1]);
% Ganancias de la segunda capa [S2x1]
b2=rand([S2,1]);
% Se obtiene la salida
y=LW21*a1+b2;
Función no lineal equivalente
i=1…R : Subíndice que representa a las R variables de entrada
j=1… S1
: Subíndice que representa a las S1
salidas de la primera capa
k=1.. S2
: Subíndice que representa las S2
salidas de la segunda capa
Salida de la primera capa
Salida de la segunda capa
Función equivalente
Adaptación de parámetros
Primera capa
Segunda capa
Gradiente descendente
ó
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 cuadrático deseado: 0.1
>> net = newrb(entrada,salida,0.1);
% Número de parámetros de la primera capa
>> size(net.IW{1})
ans =
1062 8
>> size(net.b{1})
ans =
1062 1
% Número de parámetros de la segunda capa
>> size(net.LW{2,1})
ans =
1 1062
>> size(net.b{2})
ans =
1 1
Resultado de aplicar
la entrada a la red
Clasificación de sexo de conchas (datos Avalon)
Ejemplo
Planta 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 adaptación
net = newrb(entradas,salidas)
% Comprobación del resultado
salidas_net=net(entradas);
plot(salidas'); hold on; plot(salidas_net')';
Ejemplo (II)
>> view(net)
% Comprobación de parámetros
>> 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)
ε(t+1)
Sistema III
∆
∆
Salida del
modelo
Sistema
II
Sistema
I
∆
∆
∆
∆
F
Entradas
conocidas
Red
estática
Red
dinámica hacia
adelante
Red
dinámica recurrente
)1( +ty

Redes estáticas vs recurrentes
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 adaptación
net = train(net,entradas,salidas);
view(net)
% Comprobción del resultado
salidas_net=net(entradas);
plot(salidas'); hold on; plot(salidas_net','r')';
Planta con 6 variables de entrada y dos de salida
Redes de Elman (II)
% Comprobación de parámetros
>> 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
Redes estáticas vs dinámicas
Red dinámica
…mas información

Más contenido relacionado

La actualidad más candente

Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
Luis Zurita
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
_05mauricio
 
Asignación de Polos y Predictor de Smith
Asignación de Polos y Predictor de SmithAsignación de Polos y Predictor de Smith
Asignación de Polos y Predictor de Smith
Paolo Castillo
 

La actualidad más candente (20)

El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raíces
 
Unidad 3 c5-control/ANALISIS DE LA RESPUESTA EN EL TIEMPO
Unidad 3 c5-control/ANALISIS DE LA RESPUESTA EN EL TIEMPOUnidad 3 c5-control/ANALISIS DE LA RESPUESTA EN EL TIEMPO
Unidad 3 c5-control/ANALISIS DE LA RESPUESTA EN EL TIEMPO
 
3. propagacion
3. propagacion3. propagacion
3. propagacion
 
Problemas de Regulación Automática
Problemas de Regulación AutomáticaProblemas de Regulación Automática
Problemas de Regulación Automática
 
El tiristor
El tiristorEl tiristor
El tiristor
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
Unidad 3 c2-control/DISCRETIZACION DE FUNCIONES DE TRANSFERENCIA
Unidad 3 c2-control/DISCRETIZACION DE FUNCIONES DE TRANSFERENCIAUnidad 3 c2-control/DISCRETIZACION DE FUNCIONES DE TRANSFERENCIA
Unidad 3 c2-control/DISCRETIZACION DE FUNCIONES DE TRANSFERENCIA
 
Fundamentos de-circuitos-electricos-3edi-sadiku
Fundamentos de-circuitos-electricos-3edi-sadikuFundamentos de-circuitos-electricos-3edi-sadiku
Fundamentos de-circuitos-electricos-3edi-sadiku
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Informe practica #1 23 06-17
Informe practica #1 23 06-17Informe practica #1 23 06-17
Informe practica #1 23 06-17
 
Modelado en espacio de estados
Modelado en espacio de estadosModelado en espacio de estados
Modelado en espacio de estados
 
Variantes de BACKPROPAGATION
Variantes de BACKPROPAGATIONVariantes de BACKPROPAGATION
Variantes de BACKPROPAGATION
 
Estabilidad en espacio de estados
Estabilidad en espacio de estadosEstabilidad en espacio de estados
Estabilidad en espacio de estados
 
Sd6
Sd6Sd6
Sd6
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Conversion of transfer function to canonical state variable models
Conversion of transfer function to canonical state variable modelsConversion of transfer function to canonical state variable models
Conversion of transfer function to canonical state variable models
 
profibus
profibusprofibus
profibus
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
Asignación de Polos y Predictor de Smith
Asignación de Polos y Predictor de SmithAsignación de Polos y Predictor de Smith
Asignación de Polos y Predictor de Smith
 
Amplificadores de potencia
Amplificadores de potenciaAmplificadores de potencia
Amplificadores de potencia
 

Similar a Redes Neuronales

Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
gueste7b261
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Tribunal Electoral Provincia de Misiones
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
jcbp_peru
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
jcbp_peru
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2
jcbp_peru
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
jcbenitezp
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
Liz3113
 

Similar a Redes Neuronales (20)

Actividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcialActividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcial
 
Actividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelynActividad no13 y_14_de_1er_parcial_lema_evelyn
Actividad no13 y_14_de_1er_parcial_lema_evelyn
 
Inteligencia artificial avanzada
Inteligencia artificial avanzadaInteligencia artificial avanzada
Inteligencia artificial avanzada
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Boletin3
Boletin3Boletin3
Boletin3
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Redes neuronales artificiales
Redes neuronales artificialesRedes neuronales artificiales
Redes neuronales artificiales
 
Ctrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidadCtrl discreto de un motor de cc en velocidad
Ctrl discreto de un motor de cc en velocidad
 
Explicaciones 1.pdf
Explicaciones 1.pdfExplicaciones 1.pdf
Explicaciones 1.pdf
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Satlin y satlins en matlab
Satlin y satlins en matlabSatlin y satlins en matlab
Satlin y satlins en matlab
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 

Más de Omar Sanchez

Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenes
Omar Sanchez
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histograma
Omar Sanchez
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en Krasovskii
Omar Sanchez
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robots
Omar Sanchez
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripulados
Omar Sanchez
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidad
Omar Sanchez
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modelo
Omar Sanchez
 

Más de Omar Sanchez (20)

Assembler4
Assembler4Assembler4
Assembler4
 
Assembly programming II
Assembly programming IIAssembly programming II
Assembly programming II
 
Assembly programming
Assembly programmingAssembly programming
Assembly programming
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
Functions for Nano 5 Card
Functions for Nano 5 CardFunctions for Nano 5 Card
Functions for Nano 5 Card
 
Ejemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaEjemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametrica
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Nano5 features
Nano5 featuresNano5 features
Nano5 features
 
Referencias MATLAB
Referencias MATLABReferencias MATLAB
Referencias MATLAB
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po Realimentacion
 
Fundposori
FundposoriFundposori
Fundposori
 
Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenes
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histograma
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en Krasovskii
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robots
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripulados
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidad
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modelo
 
Grupos próximos
Grupos próximosGrupos próximos
Grupos próximos
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Redes Neuronales

  • 2. Aprendizaje supervisado Función de coste Descenso por gradiente Regla delta Algoritmo LMS o Algoritmo de Widrow y Hoff. Factor de aprendizaje
  • 3. Función de coste Sistema x1 xi xn . . . . y1 yj ym . . . . Entrenamiento secuencial: Una fila adapta el parámetro Entrenamiento por lotes: Todos los datos utilizados para entrenar Época
  • 4. Adaptación del parámetro Neurona Diferencial de la función de coste con respecto a la neurona Diferencial de la neurona con respecto al parámetro Número de capas Número de capas previas
  • 6. Formas de alterar el parámetro - '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)
  • 7. 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 Si el error se incrementa por encima de un determinado porciento (5%): •No se actualizan los parámetros •El factor de aprendizaje se reduce en un factor 0.95 (5%) Si el error se reduce más de un determinado porciento (5%): •Se actualizan los parámetros •El factor de aprendizaje se incrementa en un factor 1.05 (5%) En cualquier otro caso: •Se actualizan los parámetros •Se mantiene el valor del factor de aprendizaje Dinámico o momento ∆e 0.95(∆e) 1.05(∆e)
  • 10. Red lineal (III) Pasos para el aprendizaje supervisado [Paso 1] Definir la estructura del modelo y las condiciones iniciales [Paso 2] Obtener los datos de entrada-salida ( x1, x2, . . .,xn; y ) [Paso 3] Aplicar el núcleo estimador [Paso 4] Adaptar los parámetros [Paso 5] Determinar la condición de finalización en la obtención del modelo, si este no se cumple, repetir a partir del [Paso 2] [Paso 6] Aplicar el criterio para validación del modelo. Si los resultados no son los deseados, repetir a partir del [Paso 1]
  • 13. Filtro lineal con RN Se desea representar el siguiente filtro: y = 0.5*x1-0.3*x2 En este ejemplo los parámetros son: w1= 0.5 y w2= -0.3. Se desea determinar la salida equivalente al vector de entradas: >>x = [1 3 2 4 3 5 4 6]
  • 14. Filtro lineal con RN (II) Solución: % Se define la matriz de entradas x[n,K]=x[2,4] >> x=x' x = 1 2 3 4 3 4 5 6 % Se define el filtro lineal (versión antigua) >>interx1=[1 4] % Intervalo [min, max] de x1 >>interx2=[3 6] % Intervalo [min, max] de x2 >>numsal=1 % Número de salidas >>net=newlin([interx1; interx2], numsal); % Nueva versión (adquiere información de matrices) >>net=newlin(x, y); % net=newlin(x, 1);
  • 15. Filtro lineal con RN (III) % Se definen los parámetros del filtro >>net.IW{1,1}=[0.5 -0.3] >>net.b{1}=0; % La ganancia es cero % Se verifican los parámetros del filtro >> net.IW{1,1} ans = 0.5000 -0.3000 >> net.b{1} ans = 0
  • 16. Filtro lineal con RN (IV) % Se obtiene la salida de la red >>y=sim(net,x) y = -0.4000 -0.2000 0 0.2000 % Se comprueba >> x'*net.IW{1,1}' ans = -0.4000 -0.2000 0 0.2000
  • 17. Filtros sin ganancia Planos pasan por el origen
  • 18. Limitaciones de filtros sin ganancia Cuando las entradas son cero, los parámetros no se adaptan 1 Determinada clasificación: Líneas que no pasen por el origen Función AND
  • 19. Filtro con ganancia Adaptar nuevo parámetro Solución lineal
  • 21. 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;
  • 22. Ejemplo (II) Tools  Parameter Estimation…
  • 23. Ejemplo (III) Método de entrenamiento y parámetros estimados
  • 24. Neurona Neurona: Función no lineal, derivable, cuyo argumento es un filtro lineal con ganancia.
  • 25. Neurona: Funciones (I) -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 purelin Lineal (purelin) -10 -8 -6 -4 -2 0 2 4 6 8 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 logsig Sigmoidal logarítmico (logsig)
  • 26. Neurona: Funciones (II) Tangente sigmoidal hiperbólica (tansig) Limitador fuerte (hardlim) -10 -8 -6 -4 -2 0 2 4 6 8 10 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 tansig -10 -8 -6 -4 -2 0 2 4 6 8 10 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 hardlim Perceptrón
  • 27. Neurona en Matlab Representación de variables nntool
  • 29. Capa de Neuronas Función de coste Gradiente
  • 30. Capa de Neuronas en Matlab
  • 31. 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 número de salidas >> numsal=2; % Se define la función de activación >> funact={'logsig'};
  • 32. Ejemplo (II) % Se define la red, entrenamiento: gradiente net=newff(interv, numsal, funact, 'traingd');  % Se verifican los parámetros de entrenamiento >> net.trainParam epochs: 100 goal: 0 lr: 0.0100 max_fail: 5 min_grad: 1.0000e-010 show: 25 time: Inf
  • 33. Ejemplo (III) % Se alteran algunos parámetros >>net.trainParam.epochs = 20000;   % Épocas >>net.trainParam.goal = 0.001;       % Error deseado >>net.trainParam.lr = 0.1;             % fa inicial % Se entrena la red, alterando parámetros % de entrenamiento según resultados >> net = train(net,x,y); % Se visualizan resultados basado en: >> ynet=sim(net,x)'; >> y=y'; % Para determinar el error >> error=y1-ynet
  • 34. Ejemplo (IV) % Identificación de parámetros >> 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
  • 35. Ejemplo (V) % 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 función de activación sal=logsig(filtros); Modelo resultante
  • 36. Red Neuronal Multicapas Se desea obtener el modelo de un sistema con 4 variables de entrada y 3 variables de salida. Posible configuración: Capa 1: Tres neuronas Capa 2: Dos neuronas Capa 3: Tres neuronas (definidas por el número de salidas del sistema) Representación: 4 – 3 – 2 – 3 donde: n : Número de variables de entrada Sc : Número de neuronas de la capa c C : Número de capas
  • 40. Ecuaciones generales Capa 1 Capas intermedias Para el ejemplo, representación: 4 – 3 – 2 – 3
  • 41. Capas 2 y 3 Para el ejemplo, representación: 4 – 3 – 2 – 3
  • 42. Aplicación del gradiente El diferencial de la función de coste con respecto a los parámetros Secuencial: Por lotes: El diferencial de la función que representa a la capa de salida con respecto a los parámetros
  • 43. Aplicación del gradiente (Capa 3, C) Capa(3) Parámetro: Corresponde a la capa 3, segunda variable de entrada (segunda neurona de la capa 2), primera neurona Variable de salida Variable de entrada
  • 44. Aplicación del gradiente (otras capas) Capa 1 Capa 2 Secuencial
  • 45. Pasos para crear una red perceptrón multicapas 1.- Se definen el número de variables de entrada (n) y variables de salida ( ) del sistema que se pretende modelar. 2.- Se definen el número de capas (C). 3.- Se definen el número de neuronas de cada capa , para (excepto la de salida, que ha sido definida en el paso 1). 4.- Se definen las funciones de activación para cada capa (la única condición, en teoría, para definir estas funciones, es que sean derivables).
  • 46. Ejemplo Planta con 6 variables de entrada y dos de salida 20 30 40 50 60 70 80 90 100 -5 -4 -3 -2 -1 0 1 2 3 10 20 30 40 50 60 70 80 90 100 -5 -4 -3 -2 -1 0 1 2 3
  • 47. Ejemplo (II) % Se configuran datos de entrada-salida >> entradas=entradas(10:1001,:)'; >> salidas=salidas(10:1001,:)'; Representación: 6 – 5 – 4 – 2 % Número de capas >> num_capas=[5 4]; % Funciones de activación >> funcact={'tansig' 'logsig' 'purelin'}; % Se define la red >> net=newff(entradas,salidas, num_capas, funcact, 'trainlm', 'learngdm', 'mse'); >> view(net)
  • 48. Ejemplo (III) % Se entrena la red >> train(net, entradas, salidas) % Tamaño de matrices de parámetros >> 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)
  • 49. Red de base radial S1 : Número de entradas a1 [S1 x1]: Variables de entrada S2 : Número de variables de salida IW21 [S2 xS1 ]: Parámetros de la segunda capa b2 [S2 x1]: Ganancias de la segunda capa a2 [S2 x1]: Variables de salida de la red
  • 50. Red de base radial(II) R: Número de entradas x [Rx1]: Vector de variables de entrada S1 : Número de variables de salida de la capa 1 IW11 [S1 xR]: Parámetros b1 [S1 x1]: Ganancias d [S1 x1]: Distancias
  • 51. Red de base radial (Programa) % Capa I % Vector de variables de entrada (R=5) x=[1, 2, 3, 4, 5]'; [R,S]=size(x); % Número de variables de salida de la primera capa S1=3; % Vector de parámetros debe ser de tamaño [S1xR] IW11=rand([S1,R]); % Ganancias de la primera capa [S1x1] b1=rand([S1,1]); % Se obtiene la norma euclídea for i=1:S1 d(i,1)=sqrt(sum((x-IW11(i,:)').^2)); end % Se aplica la función de base radial a1=exp(-(b1.*d).^2);
  • 52. Red de base radial (Programa II) % Capa II %Número de variables de salida de la segunda capa S2=2; % Vector de parámetros debe ser de tamaño [S2,S1] LW21=rand([S2,S1]); % Ganancias de la segunda capa [S2x1] b2=rand([S2,1]); % Se obtiene la salida y=LW21*a1+b2;
  • 53. Función no lineal equivalente i=1…R : Subíndice que representa a las R variables de entrada j=1… S1 : Subíndice que representa a las S1 salidas de la primera capa k=1.. S2 : Subíndice que representa las S2 salidas de la segunda capa Salida de la primera capa Salida de la segunda capa Función equivalente
  • 54. Adaptación de parámetros Primera capa Segunda capa Gradiente descendente ó
  • 55. 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 cuadrático deseado: 0.1 >> net = newrb(entrada,salida,0.1); % Número de parámetros de la primera capa >> size(net.IW{1}) ans = 1062 8 >> size(net.b{1}) ans = 1062 1 % Número de parámetros de la segunda capa >> size(net.LW{2,1}) ans = 1 1062 >> size(net.b{2}) ans = 1 1
  • 56. Resultado de aplicar la entrada a la red Clasificación de sexo de conchas (datos Avalon)
  • 57. Ejemplo Planta 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 adaptación net = newrb(entradas,salidas) % Comprobación del resultado salidas_net=net(entradas); plot(salidas'); hold on; plot(salidas_net')';
  • 58. Ejemplo (II) >> view(net) % Comprobación de parámetros >> 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
  • 59. Tipos de redes - + Salida conocida y(t+1) ε(t+1) Sistema III ∆ ∆ Salida del modelo Sistema II Sistema I ∆ ∆ ∆ ∆ F Entradas conocidas Red estática Red dinámica hacia adelante Red dinámica recurrente )1( +ty 
  • 60. Redes estáticas vs recurrentes
  • 61. 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 adaptación net = train(net,entradas,salidas); view(net) % Comprobción del resultado salidas_net=net(entradas); plot(salidas'); hold on; plot(salidas_net','r')'; Planta con 6 variables de entrada y dos de salida
  • 62. Redes de Elman (II) % Comprobación de parámetros >> 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
  • 63. Redes estáticas vs dinámicas Red dinámica
  • 64.
  • 65.