Professional Documents
Culture Documents
laboratorio
N 1
Inteligencia Artificial
Profesor: MSc. Zcimo aupari.
Alumno: Ing. Jose Vidal Noblecilla
Con la opcin:
Inteligencia Artificial
Page 1
Target.
Simulate.
Backpropagate.
Update.
0.5
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
W1 W1(1)
-0.3
W1 W1(2)
-0.4
-0.5
Inteligencia Artificial
Page 2
Para W2
0.5
0.4
0.3
0.2
W2 W2(1,1)
0.1
W2 W2(1,2)
0
-0.1
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
-0.2
Ejercicio 2:
A continuacin se desarrollan cada uno de los ejemplos propuestos en la presenta
practica de laboratorio.
1. Entrenamiento de una RNA para mapeo de un conjunto de datos
Se muestra el siguiente cdigo extrado de Matlab.
Para este primer ejemplo se har una breve descripcin de cada una de las
lneas del cdigo, en los siguientes ejemplos ya no se repetirn los que fueron
explicados.
Linea 1.
Comentario.
Linea 2.
La entrada de la red: p
Linea 3.
El objetivo (target) de la red: t
Inteligencia Artificial
Page 3
Linea 4.
Primera imagen que muestra las ubicaciones del objetivo usando plot.
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Linea 5.
newff: Es una red que se propaga hacia adelante (fed-forward). Hace
referencia a las redes del tipo perceptrn multicapa, donde las salidas de las
neuronas van a las siguientes capas y no existe retroalimentacin. En este
caso ingresara como argumento 4 parmetros:
i. [0 8]: valor mnimo (0) y mximo (8) de la entrada p.
ii. [10 1]: numero de celdas en la capa oculta (10) y en la capa de salida
(1).
iii. (tansig purelin): funcin de activacin de cada capa.
iv. trainlm: funcin de entrenamiento.
Linea 6.
Obtiene los valores y1 usando la funcin de simulacin (sim) de la red
net con la entrada p.
Linea 7.
Grafica los valores obtenidos sin el entrenamiento, comparndolos
con los valores del objetivo usando plot.
2
-1
-2
-3
-4
-5
0
Se puede observar que los valores obtenidos (x), distan mucho del
objetivo (o). Es necesario un entrenamiento.
Linea 8.
Se establece el numero mximo de las pocas (epochs) para el
entrenamiento, que servirn para generar las iteraciones en el
entrenamiento, en este caso 50.
Inteligencia Artificial
Page 4
Linea 9.
Se establece el rendimiento del objetivo (goal), en este caso 0.01.
Linea 10. Se realiza el enteramiento usando la funcin train, para ello se
necesita la red, la funcin objetivo y la seal de entrada.
-1
-2
-3
-4
-5
0
Page 5
Linea 1.
Linea 2.
Linea 3.
Linea 4.
Comentario.
Funcin de entrada p.
Funcin sin para el objetivo t.
Grafica la funcin objetivo usando plot.
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
Linea 5.
Page 6
1.5
0.5
-0.5
-1
Se puede observar que los valores obtenidos (x), distan mucho del
objetivo (o). Es necesario un entrenamiento
Linea 8. Numero mximo de pocas (epochs) = 2500.
Linea 9. Rendimiento del objetivo (goal) = 0.001.
Linea 10. Entrenamiento usando la funcin train.
Inteligencia Artificial
Page 7
1.5
0.5
-0.5
-1
Inteligencia Artificial
Page 8
Linea 1.
Linea 2.
Linea 3.
Linea 4.
Linea 5.
Linea 6.
Comentario.
Comentario.
Funcin de entrada p_treino.
Funcin objetivo t_treino.
Grfica de la funcin objetivo t_treino usando plot.
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
Linea 7.
Linea 8.
Linea 9.
10
20
30
40
50
60
70
80
90
100
0.3
0.25
0.2
0.15
0.1
0.05
10
20
30
40
50
60
70
80
90
100
Page 9
Inteligencia Artificial
Page 10
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
Se puede observar que los valores obtenidos despus del entrenamiento (*) estn
bastante cerca del objetivo
Ejercicio 3:
Hacer el programa computacional para entrenar una RNA Backpropagation de la
siguiente funcin no lineal:
(
(( )
Donde:
(
Inteligencia Artificial
Page 11
Cdigo de Matlab:
%Ejercicio N 3:
% Programa computacional para una funcion no lineal.
% f(x1,x2)=sin(x1).*cos((3?4)*x2)
clear all; %limpiar datos anteriores
clc; %limpiar la consola
%Valores de entrada
x = [-3.5:0.2:3.5 ; -3.5:0.2:3.5];%x = [x1 ; x2]
%Funcion objetivo
%
x1 = x(1,:)
%
x2 = x(2,:)
fx1x2 = sin(x(1,:)).*cos((3/4)*x(2,:));
%Grafica de la funcion objetivo
figure (1)
plot(x, fx1x2, 'o');
title('Funcion objetivo: f(x1,x2)=sin(x1).*cos((3?4)*x2)');
xlabel('x1, x2');
ylabel('f(x1,x2)');
%Red con los siguientes parametros
%
Rango de los valores de entrada x1: min=-3.5, max=3.5
%
Rango de los valores de entrada x2: min=-3.5, max=3.5
%
Numero de celdas en la capa oculta = 4
%
Numero de celdas en la capa de salida = 1
%
Funcion de activacion de cada capa: tansig, purelin
%
Funcion de entrenamiento: trainlm
net = newff([min(x(1,:)) max(x(1,:)); min(x(2,:))
max(x(2,:))],[4 1],{'tansig' 'purelin'},'trainlm');
y1 = sim(net,x); %Simular sin entrenamiento
figure (2)
plot(x,fx1x2,'o',x,y1,'x');
title('Funcion objetivo (o) y simulacion sin entrenamiento
(x)');
xlabel('x1, x2');
ylabel('f(x1,x2)');
%Parametros para el entrenamiento
net.trainParam.epochs = 800;
net.trainParam.goal = 0.00001;
%Funcion de entrenamiento
net = train(net,x,fx1x2);
%Resultado despues de entrenamiento
y2 = sim(net,x);
%Imagen final
figure (3)
plot(x,fx1x2,'o',x,y1,'x',x,y2,'*');
title('Funcion objetivo (o), Sim sin entrenamiento (x), Sim con
entrenamiento (*)');
xlabel('x1, x2');
ylabel('f(x1,x2)');
Inteligencia Artificial
Page 12
Resultados:
Datos del entrenamiento:
f(x1,x2)
0.2
0
-0.2
-0.4
-0.6
-0.8
-4
Inteligencia Artificial
-3
-2
-1
0
x1, x2
Page 13
Grfica 2: Funcin objetivo f(x1, x2) con los resultados y1 sin entrenamiento
Funcion objetivo (o) y simulacion sin entrenamiento (x)
0.8
0.6
0.4
f(x1,x2)
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
-3
-2
-1
0
x1, x2
Grfica 3: Funcin objetivo f(x1, x2) con la salida y1 sin entrenamiento (x) comparado
con la salida y2 luego del entrenamiento (*).
Funcion objetivo (o), Sim sin entrenamiento (x), Sim con entrenamiento (*)
0.8
0.6
0.4
f(x1,x2)
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
Inteligencia Artificial
-3
-2
-1
0
x1, x2
Page 14
CONCLUSIONES:
I.
II.
III.
IV.
V.
BIBLIOGRAFICA:
http://www.mathworks.com
NDICE:
Ejercicio 1...... Pg. 1.
Ejercicio 2...... Pg. 3.
Cdigo 1..... Pg. 3.
Cdigo 2..... Pg. 6.
Cdigo 3..... Pg. 8.
Ejercicio 3...... Pg. 11.
Conclusiones...... Pg. 15.
Bibliografa...... Pg. 15.
ndice...... Pg. 15.
Anexo...... Pg. 16.
Inteligencia Artificial
Page 15
Anexo
Tabla 1
Iteracin
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Input Target
p
t
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
1.707
Simulate
a1
a2
a1(1) a1(2)
0.321
0.323
0.326
0.329
0.332
0.335
0.337
0.338
0.340
0.341
0.341
0.342
0.342
0.343
0.343
0.343
0.343
0.343
0.343
0.343
0.344
0.344
0.344
0.344
0.344
0.344
0.344
0.344
0.344
0.344
Inteligencia Artificial
0.368
0.364
0.362
0.362
0.362
0.363
0.364
0.364
0.365
0.365
0.366
0.366
0.366
0.366
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.367
0.446
0.759
0.994
1.172
1.305
1.406
1.482
1.539
1.581
1.613
1.637
1.655
1.668
1.678
1.685
1.691
1.695
1.698
1.700
1.702
1.703
1.704
1.705
1.706
1.706
1.706
1.706
1.707
1.707
1.707
1.261
0.948
0.713
0.535
0.402
0.301
0.225
0.168
0.126
0.094
0.070
0.052
0.039
0.029
0.022
0.016
0.012
0.009
0.007
0.005
0.004
0.003
0.002
0.002
0.001
0.001
0.001
0.000
0.000
0.000
Backpropagate
s2
s1
W1
s1(1) s1(2) W1(1) W1(2)
-0.270 -0.410
-2.522 -0.049 0.100 -0.265 -0.420
-1.896 -0.071 0.034 -0.258 -0.423
-1.425 -0.073 0.003 -0.251 -0.424
-1.071 -0.066 -0.011 -0.244 -0.423
-0.803 -0.056 -0.015 -0.239 -0.421
-0.602 -0.046 -0.015 -0.234 -0.419
-0.451 -0.036 -0.014 -0.230 -0.418
-0.337 -0.028 -0.012 -0.227 -0.417
-0.252 -0.022 -0.009 -0.225 -0.416
-0.188 -0.017 -0.007 -0.224 -0.415
-0.140 -0.013 -0.006 -0.222 -0.415
-0.105 -0.010 -0.004 -0.221 -0.414
-0.078 -0.007 -0.003 -0.221 -0.414
-0.058 -0.005 -0.003 -0.220 -0.414
-0.043 -0.004 -0.002 -0.220 -0.413
-0.032 -0.003 -0.001 -0.219 -0.413
-0.024 -0.002 -0.001 -0.219 -0.413
-0.018 -0.002 -0.001 -0.219 -0.413
-0.013 -0.001 -0.001 -0.219 -0.413
-0.010 -0.001 0.000 -0.219 -0.413
-0.007 -0.001 0.000 -0.219 -0.413
-0.006 -0.001 0.000 -0.219 -0.413
-0.004 0.000 0.000 -0.219 -0.413
-0.003 0.000 0.000 -0.219 -0.413
-0.002 0.000 0.000 -0.219 -0.413
-0.002 0.000 0.000 -0.219 -0.413
-0.001 0.000 0.000 -0.219 -0.413
-0.001 0.000 0.000 -0.219 -0.413
-0.001 0.000 0.000 -0.219 -0.413
-0.001 0.000 0.000 -0.219 -0.413
Update
b1
W2
b1(1) b1(2) W2(1,1) W2(1,2)
-0.480 -0.130 0.090 -0.170
-0.475 -0.140 0.171 -0.077
-0.468 -0.143 0.232 -0.008
-0.461 -0.144 0.279 0.043
-0.454 -0.143 0.314 0.082
-0.449 -0.141 0.341 0.111
-0.444 -0.139 0.361 0.133
-0.440 -0.138 0.376 0.149
-0.437 -0.137 0.387 0.162
-0.435 -0.136 0.396 0.171
-0.434 -0.135 0.402 0.178
-0.432 -0.135 0.407 0.183
-0.431 -0.134 0.411 0.187
-0.431 -0.134 0.413 0.190
-0.430 -0.134 0.415 0.192
-0.430 -0.133 0.417 0.193
-0.429 -0.133 0.418 0.195
-0.429 -0.133 0.419 0.195
-0.429 -0.133 0.419 0.196
-0.429 -0.133 0.420 0.197
-0.429 -0.133 0.420 0.197
-0.429 -0.133 0.420 0.197
-0.429 -0.133 0.421 0.197
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
-0.429 -0.133 0.421 0.198
Page 16
b2
0.480
0.732
0.922
1.064
1.171
1.252
1.312
1.357
1.391
1.416
1.435
1.449
1.459
1.467
1.473
1.477
1.480
1.483
1.485
1.486
1.487
1.488
1.488
1.489
1.489
1.489
1.489
1.489
1.489
1.490
1.490