Sei sulla pagina 1di 6

Universidad de Guadalajara

Maestra en Ciencias en Ingeniera Elctrica



Inteligencia Artificial






Implementacin de un Perceptrn Multicapa con
Aprendizaje de tipo Retropropagacin







Profra.: Dra. Alma Yolanda Alanis Garca




Alumno: Jos A. Regalado Rojas





Fecha: 15 de Octubre de 2013


!"#$%&'(()*"+

0n peiception multicapa, es un tipo ue ieu neuional no lineal que posee una estiuctuia con al
menos una capa oculta y su algoiitmo ue entienamiento es uel tipo ue coiieccion uel eiioi. 0no ue
los algoiitmos mas conociuos que se implementan en esta ieu es el ue !"#!$%!$%&'&()*+.

A continuacion se iealizai una simulacion en Natlab, uonue se apioximai una funcion ue uos
vaiiables que tiene una peculiai gifica ue supeificie conociua como "sombieio mexicano". Tambin
se veiificai que el entienamiento se lleve a cabo meuiante los algoiitmos ue giauiente uescenuiente
y Levenbeig-Naiquaiut asi como la compaiacion entie ambos mtouos.
-$./)(0 &1 20 /'"()*" %341#)5%+

La funcion a apioximai es la siguiente:

! !! ! !
!"# !
!
! !
!
!
!
! !
!


cuya supeificie gifica se muestia en la (Fig. 1).

















Fig. 1. uifica uel Sombieio Nexicano
6$10()*" &1 20 $1& "1'$%"02 7'2#)(080+

Paia asignai los valoies ue las vaiiables inuepenuientes a la funcion !!!! !! se piopuso que fueian
ue -1u a 1u en inciementos ue u.S, lo que uio como iesultauo uos vectoies ue 41 elementos, uno paia
'y' y otio paia 'z'. La ieu neuional estai foimaua poi uos entiauas, una capa oculta y una saliua. La
capa oculta pueue tenei un nmeio aibitiaiio ue neuionas que se ii mouificanuo ue acueiuo a los
iesultauos obteniuos uel entienamiento.

Paia encontiai una buena apioximacion se mouificaion algunos ue los paimetios ue la ieu a
piueba y eiioi en funcion uel minimo eiioi uel giauiente. Se eligieion valoies paia el nmeio ue
neuionas ue la capa oculta, el nmeio ue pocas y el giauiente minimo. En la tabla 1 se pueuen vei
algunos iesultauos obteniuos con uifeiente nmeio ue neuionas, pocas y giauiente minimo paia
sus iespectivos algoiitmos.
9"#$1"07)1"#% : ;)7'20()*" &1 20 $1&+

El entienamiento se lleva a cabo fueia ue linea y se empleaion los uos algoiitmos ya mencionauos:
giauiente uescenuiente y Levenbeig-Naiquaiut. En el caso uel giauiente uescenuente, la simulacion
teiminaba al alcanzai el mximo ue pocas. Con el algoiitmo Levenbeig-Naiquaiut pasaba algo
similai, solo que el entienamiento finalizaba antes ue tiempo al alcanzaise el limite ue veiificaciones
ue valiuacion (,&-).&#)$+ (0"(12), esto se uebe a que se alcanza el nmeio mximo ue iteiaciones
sucesivas uonue el algoiitmo falla en ueciecei.

uiauiente Bescenuiente Levenbeig-Naiquaiut
Neuionas
en la capa
oculta
Epocas
uiauiente
Ninimo
(1e-uS)
NSE
Neuionas
en la capa
oculta
Epocas
uiauiente
Ninimo
(1e-uS)
NSE
S 1uuu u.uS76 u.u42S S 82 1.4Se-u4 u.u218
8 1uuuu u.uuS86 u.u276 1u 2u 2.28e-uS u.uu4S
1u 1uuuu u.uuSS4 u.u24S 1S 24S 4.22e-u4 1.88e-u4
12 1uuuuu u.uu117 u.u21S 2u 476 2.11e-uS S.27e-uS
18 1uuuuu u.uu191 u.uu86 Su 1SS 2.uSe-uS 4.64e-u6

Tabla 1. Se listan los iesultauos uel eiioi cuauitico meuio (mse) paia caua algoiitmo
ue acueiuo a la vaiiacion ue sus iespectivos paimetios.

Los mejoies iesultauos se eligieion consiueianuo el menoi valoi paia el eiioi cuauitico meuio, se
obtuvieion: con 18 neuionas en la capa oculta paia el mtouo ue giauiente uescenuente y ue Su
neuionas paia Levenbeig-Naiquaiut. Las gificas coiiesponuientes paia caua algoiitmo ue
ietiopiopagacion (Fig. 2) muestian como, a pesai uel esfueizo uel giauiente uescenuiente, no logia
ni siquieia apioximaise a la funcion objetivo incluso a 1uuuuu iteiaciones, mientias que el mtouo
Levenbeig-Naiquaiut lo hace mas ipiuo y con un eiioi mucho ms pequeo. La uifeiencia en el
uesempeo ue ambos mtouos es muy gianue al compaiai las gificas ue eiioi (Fig. S).
















(a) (b)

Fig. 2. Se muestian los iesultauos ue apioximacion ue la funcion !!!! !!.
(a) uiauiente uescenuiente. (b) Levenbeig-Naiquaiut.















(a) (b)

Fig. S. Las gificas muestian la uifeiencia entie la simulacion ue la ieu y la funcion objetivo.
(a) uiauiente uescenuiente. (b) Levenbeig-Naiquaiut.
-1"1$02)<0()*" &1 20 $1&+

Paia geneializai la ieu se utilizai la matiiz ue entienamiento con el uoble ue valoies, es uecii, el
paso ue u.S se ieuujo a u.2S. Se eligio la ieu entienaua con Levenbeig. Se pueue vei en la figuia (Fig.
4) la gifica ue simulacion ue la ieu en compaiacion con la saliua ueseaua. Tambin se muestia la
gifica ue supeificie eiioi. El eiioi meuio cuauitico con iespecto a la saliua es ue 4.18e-u6.















(a) (b)














(c)

Fig. 4. A la izquieiua (a) est la saliua objetivo y a la ueiecha la iespuesta ue la ieu (b).
Abajo (c) vemos la supeificie ue eiioi entie ambas gificas.
A continuacion se muestian las listas ue los pesos y el vectoi uel bias iesultantes ue la geneializacion.

Pesos: Bias: Eiioi Cuauitico Neuio (mse):

-S.9417 u.9uu4 S.8674 4.18e-6
1.S781 -S.7441 -S.2211
-S.192u 4.942S 4.6u26
-S.9769 u.S9SS S.76SS
S.6444 1.294S -S.S768
-S.4697 -4.821S 2.447u
-2.4Suu -S.48uS 1.S9S8
-1.8S1S -S.6S98 1.uS69
S.479S -4.8u76 -u.S866
S.S17S -2.6SSS u.2299
-1.SS7u -S.7691 -1.u414
-2.4u1u -S.4SuS -1.7u1S
S.2S22 2.8966 2.S11S
-2.S797 S.428u -S.166S
S.812u 4.S6u1 S.8S72
S.S2Su 2.1897 4.SS9S
-2.14SS S.41S4 -S.S6u4
-S.799u 4.S179 -6.114u
=3;1$50()%"1; : (%"(2';)%"1;+

En los ejemplos ue ieues multicapa mostiauos se concluye que el algoiitmo Levenbeig-Nauquait
es ms ipiuo y eficiente que el giauiente uescenuiente. No obstante, la funcion ue costo le piovoca
cieitas fallas uebiuo a que en algunas iteiaciones tienue a aumentai en lugai ue ueciecei,
piovocanuo asi la abiupta finalizacion uel entienamiento. Peio a pesai ue las limitaciones, se iealizo
la apioximacion ue la funcion con un eiioi cuauitico meuio muy pequeo lo cual es satisfactoiio .

!"#$%& () *+,-+./

%% Sombrero Mexicano
clear all; close; clc;
dt = 0.5; x = -8:dt:8;
[X,Y] = meshgrid(x,x);
T = sin(sqrt(X.^2+Y.^2)+eps)./(sqrt(X.^2+Y.^2)+eps);
n = size(X); surf(X,Y,T);
title('Grfica Original T=sin(\sqrt(\x^2+\y^2))/(\sqrt(\x^2+\y^2))')

%% Inizializando la red con el algoritmo de gradiente
% descendiente de retropropagacin
X1 = reshape(X,1,n(1)^2); % Vector de entrada x
Y1 = reshape(Y,1,n(1)^2); % Vector de entrada y
T1 = reshape(T,1,n(1)^2); % Vector Objetivo T
M = [X1;Y1]; % Matriz de entrenamiento
net = feedforwardnet(18,'traingd')
net.trainParam.epochs = 1000;
net.trainParam.min_grad = 1e-5;
net = train(net,M,T1);
% Vector de salida de la red entrenada
Z = sim(net,M);
% Grfica resultante
Z2 = reshape(Z,n(1),n(2));
figure; surf(X,Y,Z2);
title('Grfica Resultante (Z)')
% Plano de error
figure; surf(X,Y,T-Z2);
title('Grfica de Error')
Bias = net.b{1}
Pesos = net.iw{1}
mse(net,T,Z2)
pause();

%% Inizializando la red con el algoritmo de
% retropropagacin de Levenberg-Marquardt
net2 = feedforwardnet(30,'trainlm')
net2.trainParam.epochs = 1000;
net2.trainParam.min_grad = 1e-5;
net2 = train(net2,M,T1);
% Vector de salida de la red entrenada
Z = sim(net2,M);
% Grfica resultante
Z = reshape(Z,n(1),n(2));
figure; surf(X,Y,Z);
title('Grfica Resultante (Z)')
% Plano de error
figure; surf(X,Y,Z-T);
zlim([-0.5 0.5]);
title('Grfica de Error')
Bias = net2.b{1}
Pesos = net2.iw{1}
mse(net2,T,Z)
pause();

%% Generalizacin
x = -8:0.25:8;
[X,Y] = meshgrid(x,x);
n2 = size(X);
X2 = reshape(X,1,n2(1)^2); % Vector de entrada
Y2 = reshape(Y,1,n2(1)^2); % Vector de entrada
M2 = [X2;Y2]; Z2 = sim(net2,M2);
Z2 = reshape(Z2,n2(1),n2(2));
figure; surf(X,Y,Z2);
T2 = sin(sqrt(X.^2+Y.^2)+eps)./(sqrt(X.^2+Y.^2)+eps);
figure; surf(X,Y,Z2-T2); zlim([-0.1 0.1]);
title('Grfica de Error')
Bias = net.b{1}
Pesos = net.iw{1}
mse(net2,T2,Z2)

Potrebbero piacerti anche