SlideShare una empresa de Scribd logo
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
Redes Neuronales
Redes Neuronales
…mas información

Más contenido relacionado

DOC
Aljabar boolean
PDF
Panduan_Belajar_Mandiri_MATLAB.pdf
PDF
Estatica(1)
PPTX
Graficos matlab
PPTX
Simulasi 11
PDF
Kalkulus modul iii sistem koordinat ok
PDF
Integral fungsi rasional1
PDF
Đặt ẩn phụ giải phương trình chứa căn
Aljabar boolean
Panduan_Belajar_Mandiri_MATLAB.pdf
Estatica(1)
Graficos matlab
Simulasi 11
Kalkulus modul iii sistem koordinat ok
Integral fungsi rasional1
Đặt ẩn phụ giải phương trình chứa căn

La actualidad más candente (20)

PPTX
Irisan Kerucut - Elips
PPTX
Peubah acak-diskret-khusus
PPT
Chuong03
DOCX
Nhập môn số mờ & lớp mờ
PPTX
Rekursi dan Induksi Matematika
PDF
Bat dang thuc cauchy schawrz dang engel
DOC
Chuyên đề phương trình chứa căn thức bookbooming
PDF
trigonometri-1.pdf
PPTX
Klasifikasi Persamaan Diferensial Orde-Pertama
PPT
operasi dasar citra (iii) (pengolahan citra digital)
PDF
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
PPTX
Kelompok 2 (menyelesaikan kongruensi linear)
PPT
Divergensi
PDF
B ab 01 metode numerik secara umum
PPTX
Matrix - Invers, tranpose, determinant. (2x2, 3x3) XII Science LN
DOCX
Soal Turunan Fungsi (Diferensial)
PPTX
BTL-thuyet-trinh (1).pptx
DOCX
Diferensial parsial
PDF
Materi program linear
Irisan Kerucut - Elips
Peubah acak-diskret-khusus
Chuong03
Nhập môn số mờ & lớp mờ
Rekursi dan Induksi Matematika
Bat dang thuc cauchy schawrz dang engel
Chuyên đề phương trình chứa căn thức bookbooming
trigonometri-1.pdf
Klasifikasi Persamaan Diferensial Orde-Pertama
operasi dasar citra (iii) (pengolahan citra digital)
Một số bài toán bồi dưỡng HSG môn Toán lớp 6 - 7 - 8 - Phần Đại Số
Kelompok 2 (menyelesaikan kongruensi linear)
Divergensi
B ab 01 metode numerik secara umum
Matrix - Invers, tranpose, determinant. (2x2, 3x3) XII Science LN
Soal Turunan Fungsi (Diferensial)
BTL-thuyet-trinh (1).pptx
Diferensial parsial
Materi program linear
Publicidad

Similar a Redes Neuronales (20)

DOCX
Actividad no13 y_14_de_2do_parcial
PDF
Actividad no13 y_14_de_1er_parcial_lema_evelyn
PPTX
Inteligencia artificial avanzada
PPT
Redes Neuronales
PDF
Boletin3
PDF
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
PPT
Algoritmo de Retropropagación
PPT
Redes neuronales artificiales
PDF
Ctrl discreto de un motor de cc en velocidad
PDF
Explicaciones 1.pdf
PDF
Utp 2015-2_sirn lab2
PDF
Satlin y satlins en matlab
PDF
Utp 2015-2_sirn lab2
PDF
Utp 2015-2_ia lab2
PPT
PDF
Practica 5 simulink-5156
PDF
Utp ia_sl4 la rna perceptron
PPT
Redes neuronales
PPT
Redes neuronales
PPT
Redes neuronales
Actividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_1er_parcial_lema_evelyn
Inteligencia artificial avanzada
Redes Neuronales
Boletin3
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Algoritmo de Retropropagación
Redes neuronales artificiales
Ctrl discreto de un motor de cc en velocidad
Explicaciones 1.pdf
Utp 2015-2_sirn lab2
Satlin y satlins en matlab
Utp 2015-2_sirn lab2
Utp 2015-2_ia lab2
Practica 5 simulink-5156
Utp ia_sl4 la rna perceptron
Redes neuronales
Redes neuronales
Redes neuronales
Publicidad

Más de Omar Sanchez (20)

PDF
Assembler4
PDF
Assembly programming II
PDF
Assembly programming
PDF
Assembler Programming
PDF
Functions for Nano 5 Card
PDF
Ejemplos de modelos basados en adaptacion parametrica
PDF
Sistemas numericos
PDF
Ensamblador
PDF
Nano5 features
PDF
Referencias MATLAB
PPT
Control Modelo de Referencia y Linealizacion po Realimentacion
PPTX
Fundposori
PPT
Segmentación de imagenes
PPT
Imagen e histograma
PPTX
Funciones de Lyapunov basado en Krasovskii
PPT
Sensores de robots
PPT
Vehiculos no tripulados
PPTX
Algunos aspectos de estabilidad
PPT
Control basado en modelo
PPT
Grupos próximos
Assembler4
Assembly programming II
Assembly programming
Assembler Programming
Functions for Nano 5 Card
Ejemplos de modelos basados en adaptacion parametrica
Sistemas numericos
Ensamblador
Nano5 features
Referencias MATLAB
Control Modelo de Referencia y Linealizacion po Realimentacion
Fundposori
Segmentación de imagenes
Imagen e histograma
Funciones de Lyapunov basado en Krasovskii
Sensores de robots
Vehiculos no tripulados
Algunos aspectos de estabilidad
Control basado en modelo
Grupos próximos

Último (20)

PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
PPTX
modulo seguimiento 1 para iniciantes del
PPTX
ccna: redes de nat ipv4 stharlling cande
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PPTX
Control de calidad en productos de frutas
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
DOCX
Trabajo informatica joel torres 10-.....................
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
modulo seguimiento 1 para iniciantes del
ccna: redes de nat ipv4 stharlling cande
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Estrategia de Apoyo de Daylin Castaño (5).pdf
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Control de calidad en productos de frutas
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
Guía 5. Test de orientación Vocacional 2.docx
Diapositiva proyecto de vida, materia catedra
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
Trabajo informatica joel torres 10-.....................
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Distribucion de frecuencia exel (1).pdf
Mecanismos-de-Propagacion de ondas electromagneticas
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO

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