Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apuntesde
InteligenciaArtificial
Laboratorio:Redescon
Conexioneshaciaadelante
JORGEAGUILARJARAMILLO
PONTIFICIA UNIVERSIDAD CATLICA DEL ECUADOR
FACULTAD DE INGENIERA
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 84
REDESCONRETROPROPAGACIN
El algoritmo de retropropagacin es una generalizacin de la regla de aprendizaje WidrowHoff.
Esta adaptacin es para redes multicapa y funciones de transferencia diferenciables no lineales.
La retropropagacin estndar es un algoritmo de gradiente descendiente, que como en la regla
de aprendizaje de WidrowHoff los pesos de la red son modificados a lo largo del negativo de la
funcingradientededesempeo.
Eltrminoderetropropagacinserefierealaformaenlaqueelgradientesecalculapararedes
multicapa no lineales. Existe un nmero de variaciones en el algoritmo bsico que se basan en
otras tcnicas estndar de optimizacin, tales como la gradiente conjugada y los mtodos de
Newton. El Neural Network de Matlab implementa algunas de estas variaciones. Las redes con
retropropagacin bien entrenadas tienden a brindar soluciones razonables al recibir entradas
totalmentedesconocidas
Este tipo de redes, con bias, una capa sigmuidal y una capa de salida lineal son susceptibles de
aproximarcualquierfuncinenunnmerofinitodediscontinuidades.
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 85
ARQUITECTURADELAREDCONRETROPROPAGACIN
La arquitectura de red neuronal ms utilizada para el algoritmo de retropropagacin es la red
multicapaconconexioneshaciadelante
Elmodelodeunaneurona es como se muestra en el siguiente grafico.
Ilustracin1NeuronaelementalconRentradas.(Fuente,Matlab)
Cadaentradaestrepresentadaporunvalorapropiado,queMatlablosimbolizaconp.Lasuma
ponderada, , de los pesos y el bias (umbral) con los datos de entrada forma la entrada a la
funcindetransferenciaf.Lasneuronasdebenusarcualquierfuncindiferenciableparagenerar
sussalidas.
FuncinSigmuidalgenerasalidas
entre0y1
FuncinTangencial:Salidasentre1
y1
FuncinLineal,lasalidapuedeser
cualquiervalor
Ilustracin2.Funcionesdetranferencia(Matlab)
Las funciones ms usadas por este tipo de redes son: la funcin sigmuidal logsig , tangencial
(tansig)ylineal(purelin).
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 86
Silaltimacapadeunaredmulticapatieneneuronassigmuidales,entonceslaredselimitaaun
rango pequeoentre0y1.Siseutilizanneuronaslinealesen la capa desalida, tericamentelos
resultados pueden tomar cualquier valor. En retro propagacin es importante calcular las
derivadasdelasfuncionesdetransferenciautilizadas.
Cadaunadelasfuncionesdetransferenciamencionadascontieneunaderivadacorrespondiente:
Matlab las implementa como: dtansig, dlogsig, y dpurelin. Para obtener el nombre de la
derivada de una funcin de transferencia se debe invocar a la funcin de transferencia con la
cadena:
Ilustracin3Redconfunciones:tansigypurelin
Estaredpuedeserutilizadacomounaproximadorgeneraldefunciones.Yaquepuedeaproximar
cualquierfuncinquetengaunnmerofinitodediscontinuidades,teniendoelsuficientenmero
deneuronasenlacapaoculta.
Paraentrenarunared,generalmentesetienen4pasosenelprocesodeentrenamiento
1. Configurarlosdatosdeentrenamiento
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 87
2. Crearelobjetored:funcinnewff
3. Entrenarlared:funcintrain
4. Simularlarespuestadelaredparanuevasentradas:funcinsim
CONFIGURARLOSDATOSDEENTRENAMIENTO
Enunproyectoderedesneuronales,elllegaralconjuntofinaldedatos,puedeconsumirel60%de
todoelproyecto.Perounavezobtenidoslosdatos,enMatlab,estosdebendefinirsecomoendos
variables: una para los datos de entrada y la segunda variable en la que consten los respectivos
valoresdesalida.
CREANDOUNAREDCONCONEXINHACIAADELANTE(NEWFF)
Una vez que se tiene los datos de entrada y salida deseada, para entrenar una red con conexin
hacia adelante necesitamos crear el objeto red. La funcin newff crea una red con conexin
haciaadelanteyrequieredecuatroargumentosdeentradasydevuelveelobjetodered.
1. Elprimerargumentoesunamatrizdelosmnimosymximos b
1
delasNientradas(Nix2
valores,paracadaunodelosNelementosdelvectordeentrada).
2. Elsegundoargumentoesunarregloquecontienelostamaosdecadacapa.
3. El tercer argumento es un arreglo que contiene los nombres de las funciones de
transferenciaqueseusarnencadacapa.
4. Elltimoargumentocontieneelnombredelalgoritmodeentrenamientoaserusado.
Veamosunejemplo:
1
Matlab implementa la funcin mm=minmax(X) que obtiene estos valores, X representa los datos de entrada
2
Ya que las neuronas de entrada solamente reciben los datos, Matlab, no la trata como una capa de neuronas
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 88
Lafuncindetransferenciaenlaprimeracapaestansigylafuncindetransferenciaenlacapade
salidaeslinealyelalgoritmodedeentrenamientoestraingd.
Estecomandocreaelobjetoredyademsinicializalospesosylosbiasdelared,entonceslared
seencuentralistaparaentrenar.
Reinicializando los pesos
Aunque la funcin anterior ya inicializa lospesos y bias, si se requiereuna reinicializacin de los
mismospuedehacrseloconelcomandoinit.Estafuncintomaunobjetoredcomoentraday
devuelveunobjetoredcontodoslospesosylosbiasreinicializados.
Aquvemoscomounaredpuedeserinicializada(oreinicializada):
ENTRENAMIENTO
Unavezquelospesosylosbiashansidoinicializados,laredestlistaparaserentrenada.Lared
puedeserentrenadaparaaproximacindefunciones(regresinnolineal),asociacindepatrones
o clasificacin de patrones. El proceso de entrenamiento requiere un conjunto de ejemplos que
tengauncomportamientoapropiadoparalaredentradasp(X)ysalidast(Yd).Duranteel
entrenamiento los pesos y los bias de la red son ajustados iterativamente para minimizar la
funcin de costo o error de la red net.performFcn. La funcin de desempeo predeterminada
para redes con conexines hacia adelante es el error medio cuadrtico mse, el promedio del
erroralcuadradoentrelassalidasdelaredaylosobjetivost.
Todos los algoritmos de entrenamiento usan la funcin del gradiente de desempeo para
determinar cmo ajustar los pesos, la gradiente es determina usando una tcnica llamada retro
propagacin, que involucra la realizacin de hacer clculos hacia atrs de la red. Los clculos de
retropropagacinsederivanusandolaregladelacadena.
ALGORITMODERETROPROPAGACIN
Hay muchas variaciones del algoritmo de retro propagacin, la implementacin ms
simple de aprendizaje por retro propagacin actualiza los pesos y los bias de la red en la
direccin en la que la funcin de desempeo decrezca ms rpido el negativo de la
gradiente.Unaiteracindelalgoritmopuedeescribirsedelasiguientemanera:
ENTR
Aqu
entre
entre
Grad
empi
dela
la red
entre
Exist
min_
gradi
sea l
algor
en co
parm
El en
de de
tiemp
El sig
todos
E
DondeW
eslatasa
Existend
modo inc
pesos so
lotestod
pesos.
RENAMIENT
lospesosy
enamiento h
enamientoso
diente descen
nadaestrai
funcinded
d de trainF
enamientoas
ten siete pa
_grad, max_f
ente para de
a tasa de a
itmosevuel
onverger. El
metrosdeter
trenamiento
esempeo e
podeentren
guiente cdig
slosvectore
JorgeAg
Ecuacin1..-
W
ij
esunvec
adeaprendiz
dosformasd
cremental y
n actualizad
oslosejemp
TOPORLOT
losbiasdela
ha sido apl
onsumados
ndente: En e
ingd.Lospe
desempeo.
Fcn a traing
sociadaaun
armetros d
fail, y lr. La
eterminar lo
prendizaje m
lveinestable
estado de a
rminarncua
o finalizar s
encuentra su
namientoes
go crea un c
esdeentrada
guilarJ.|Lab
- Una Iterac
ctordepeso
zaje.
diferentesde
por lotes. E
os despus
plos(unapo
TES
aredseactu
icado a la
paradeterm
l entrenamie
esosylosbia
Siserequie
gd, entonce
aredenpar
e entrenam
tasa de apr
os cambios a
ms grande
eysilatasad
aprendizaje
andosedete
i el nmero
u meta, si la
mayorquet
conjunto de
aserncoloc
boratorio:Re
cin del Algo
sybiasconc
eimplement
En el modo
de que cada
oca)sonapl
ualizarnni
red. Los g
minarelcamb
ento por lot
assonactual
reentrenar
es llamar a l
rticular.
miento asoci
rendizaje lr
a realizarse a
es el salto.
deaprendiza
se mostrar
endrelentr
de iteracion
magnitud d
timesegundo
entradas p
cadosenuna
edesconCon
oritmo de R
currentes.
tarelalgorit
incrementa
a ejemplo se
icadasalar
icamentede
gradientes c
bioenlospe
tes la funci
izadosendir
unaredusa
la funcin t
ados a trai
se multiplica
a los pesos y
Si la tasa d
ajeesmuype
en cada ite
renamiento.
nes excede a
de la gradien
os.
y objetivos
amatriz.
nexioneshac
Retropropag
ese
tmodegradi
l, el gradien
e aplica a la
redantesde
spusdequ
calculados e
esosylosbia
n de gradien
reccindeln
ndoestafun
train. Existe
ingd: epoch
a cada vez c
y a los bias.
de aprendiza
equea,ela
eracin del a
al parmetro
nte es meno
t. Para ent
ciaadelante
acin
elgradiente
ientedescen
nte es calcul
red. En el m
queseactu
etodoelco
en cada eje
s.
nte descend
negativodel
ncinsedebe
solo una fu
hs, show, go
con el negat
Mientras m
aje es muy g
lgoritmosed
algoritmo. Lo
o epochs, si l
or a min_gra
renamiento
89
actualyu
ndente;el
ado y los
modo por
ualicenlos
njuntode
emplo de
ente ms
gradiente
ecambiar
uncin de
oal, time,
tivo de la
s grande
grande el
demorar
os dems
a funcin
ad, o si el
por lotes
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 90
Cdigo 3.- Valores iniciales de entrenamiento por lotes para una red de retropropagacin
Luego crearemos la red con conexin hacia adelante. Aqu usaremos la funcin minmax para
determinarelrangodelasentradasausarseenlacreacindelared.
GRADIENTEDESCENDIENTECONMOMENTO:
Adicional a traingd, existe otro algoritmo por lotes para redes con conexin hacia adelante que
frecuentemente proveemayor convergencia: traingdm. El momento permite a la red responder
no solo al gradiente local sino tambin a las tendencias ms recientes en la superficie de error.
Actuando como un filtro pasa bajos el momento permite a la red ignorar las pequeas
imperfecciones de la superficie de error. Sin un momento la red puede atascarse en un mnimo
localimpidiendosulabor.
Elmomentopuedeaadirsealaprendizajeconretropropagacinrealizandocambiosenlospesos
igualesalasumadelafraccindelltimocambiodepesosyelnuevocambiosugeridoporlaregla
de retro propagacin. La magnitud del efecto que ltimo cambio de pesos permite tener es
mediada por una constante de momento, mc, que puede ser cualquier nmero entre 0 y 1.
Cuandolaconstantedemomentoes0,elcambiodepesosesbasadonicamenteenlagradiente.
Cuando la constante de momento es 0, el nuevo cambio de pesos se iguala al ltimo cambio de
pesosyelgradienteseignorasimplemente.
Lagradienteescalculadasumandolosgradientescalculadosencadaejemplodeentrenamientoy
lospesosylosbiassonactualizadosnicamentecuandotodoslosejemplosdeentrenamientohan
sidopresentados. Si la nueva funcindeentrenamiento enalgunaiteracin excede la funcinde
desempeo en una previa iteracin con un valor mayor a un valor predefinido max_perf_inc
(comnmente 1.04), los nuevos pesos y bias son descartados y el coeficiente de momento se
vuelvecero.
Estafuncinsellamaconelcomandotraingdm,ycontienelosmismosargumentosusadospara
traingd excepto que los parmetros de aprendizaje mc (coeficiente de momento), lr (tasa de
aprendizaje)ymax_perf_inc(mximoincrementodeldesempeo)puedenserpersonalizados.En
el siguiente cdigo se recrea la red anterior y se la entrena con la funcin de gradiente
descendente con momento. (Los parmetros de entrenamiento son reiniciados a los valores
predeterminadoscadavezquenet.trainFcnsecambiaatraingdm.)
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 92
Notemosquedesdequesereinicializaronlospesosylosbiasantesdelentrenamiento(llamandoa
newff nuevamente), obtenemos diferente error medio cuadrtico de lo que obtuvimos usando
traingd. Si reiniciaramos nuevamente la red con traingdm podramos obtener incluso un error
medio cuadrtico distinto. La opcin al azar de pesos y bias iniciales afectara el desempeo del
algoritmo.Si sedesea comparar eldesempeodediferentes algoritmossedebeprobarcada vez
usando diferentes conjuntos de pesos y bias iniciales y establecer una media de las diferentes
corridashechas
3
.
Enresumen,laarquitecturadeunaredmulticapanoestcompletamentelimitadaalproblemaa
serresuelto.Elnmerodecapasentrelasentradasalaredylacapadesalidaascomoeltamao
3
Unamuestraestadsticamentesignificativaesdemnimo30corridas
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 93
delascapassoncuestindeldiseador.Lareddedoscapassigmuidal/linealpuederepresentar
cualquier relacin funcional entre las entradas y las salidas si la capa sigmuidal tiene la cantidad
suficientedeneuronas.
ALGORITMOSIMPLEMENTADOSPORMATLAB:
De los algoritmos revisados en teora, solamente los cuatro primeros tienen que ver con ella. El
restodealgoritmosqueimplementaMatlabselosimplementaenformadiferente.
Funcin Descripcin
traingd Gradientedescendentebsico,puedeusarseenentrenamientodemodoincremental
traingdm Gradientedescendenteconmomentun.Generalmentemsrpidoquetraingd.Puede
usarseenentrenamientodemodoincremental.
traingdx Tasa de aprendizaje adaptativa. Entrenamiento ms rpido que traingd, pero solo
puedeserusadoenmododeentrenamientobatch(porlotes).
trainrp Backpropagation flexible. Simple algoritmo de entrenamiento en modo batch, con
rpidaconvergenciaymnimosrequerimientosdealmacenamiento.
traincgf Algoritmo de gradiente conjugado FletcherReeves. Tiene los Requerimientos de
almacenamientomenoresdelosalgoritmosdegradienteconjugado.
traincgp Algoritmo de gradiente conjugado PolakRibire. Requerimientois de almacenamiento
ligeramente mayores que traincgf. CXonvergencia ms rpida sobre algunos
problemas.
traincgb Algoritmodegradienteconjugado,PowellBeale.Requerimientoisdealmacenamiento
ligeramentemayoresquetraincgp.Generalmenteconvergenciamsrpida.
trainscg Algoritmo de gradiente conjugado escalado (Scaled conjugate gradient). Solo el
algoritmo de gradiente conjugado que no requiere bsqueda lineal. Un algoritmo de
entrenamientodepropsitogeneral,muybueno.
trainbfg BFGS mtodo quasiNewton. Requiere almacenamiento de la Hessian matrix
aproximadaytienemsclculoencadaiteracin,perousualmenteconvergeenpocas
iteraciones
trainoss Mtodo One step secant. Compromiso entre los mtodos gradiente conjugado
mtodosquasiNewton.
trainlm Algoritmo LevenbergMarquardt. El algoritmo de entrenamiento ms rpido para
redes de tamao moderado. Tiene caractersticas de reduccin de memoria para
conjuntosdeentrenamientograndes.
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 94
trainbr
trainlm
Regularizacin Bayesiana. Modificacin del algoritmo de entrenamiento Levenberg
Levenberg Marquardt para producir redes que generalizan bien. Reduce la dificultad
dedeterminarlaarquitecturaptimadelared.
Tabla 1.- Algoritmos que implementa Matlab para un PMC
La tabla 1, presenta una lista que resume las funciones para entrenamiento de redes con retro
propagacinquecontieneelNeuralNetworkToolboxdeMatlab:
SOBREENTRENAMIENTO
Un problema que puede ocurrir al entrenar redes neuronales es que la red puede
sobredimensionar el conjunto de entrenamiento y no realizar bien la generalizacin para datos
diferentesalconjuntodeentrenamiento.Estopuedeprevenirserealizandounentrenamientocon
trainbr, adems puede prevenirse usando una detencin temprana con cualquier otra rutina de
entrenamiento, esto requiere que el usuario pase un conjunto de validaciones al algoritmo de
entrenamientoadicionalalconjuntodeentrenamiento.Paraproducirunmejorentrenamientoes
muytilanalizarsilarespuestadelareddespusdelentrenamientoestcompleta.
REVISINDE ALGUNOSDEMOSDEMATLAB:
Realizarlossiguientesdemosycontestarlaspreguntasplanteadas.
GENERALIZACINENREDESCONRETROPROPAGACIN
Existeelproblemaquealtenermuchasneuronasocultas,laredpierdelacapacidaddegeneralizar
yseprestaaerrores,lademostracinnnd11gn,ilustraestehecho.Paraprobarestademostracin
basta con modificar el nmero de neuronas ocultas y el grado de dificultad de manera que se
visualicequelaredtiendeaaprenderenformaexactalosdatosdeentrenamiento,peropierdela
capacidaddegeneralizar,comoseilustraenlafiguraacontinuacin
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 95
Resultadoparaunaredcon3neuronasocultas Resultadoparaunaredcon9neuronasocultas
Ilustracin4.Alaumentarennmerodeneuronaslaredaprendemuybienlosdatosconlosque
aprendi,peropierdelacapacidaddegeneralizacin,esdecircometeerrorescondatosnuevos
Pregunta:Quocurrecuandoseaumentalacomplejidaddelproblema,comoloexplica?
FUNCINDEGRADIENTEDESCENDIENTE(MSEMPINADA)RETROPROPAGACIN
Ilustracin5.GradienteDescendienteW1(1,1)W2(1,1)EsquinaInferiorDerecha
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 96
Esta aplicacin muestra tres superficies de error, aqu se puede observar como el algoritmo
alcanzaelprimermnimoqueencuentra.Probarcadaregin.
Preguntas:
Identifiquelaarquitecturadelareddelailustracin7?
Pruebeenlasregionessinlneas,silarespuestanosedesplaza:quesignificaestoycmo
seexplica?
Qusignificalasuperficie,qurepresenta?
FUNCINDEGRADIENTE DESCENDIENTECONMOMENTORETROPROPAGACIN
Estealgoritmo,eselmismoanterior,solamentequeseaadeeltrminodemomento.
Ilustracin6.GradienteDescendienteconMomento
Preguntas:
1. Enqulugaresseaceleralaconvergenciaconeltrminomomentoyenculesnoocurre
lomismo?Cmoloexplica?
2. Porlogeneral,seaconsejautilizarunvalordelatasadeaprendizaje(u)menora1,como
explicaelusodevaloresmsaltos?
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 97
UNPEQUEOPROBLEMA.
1. Genere un conjunto que representen dos clases con aproximadamente el mismo
nmero de datos para cada clase. La primera clase que sean los datos que se
posicionen dentro de un crculo y las fuera del circulo la clase 2.
a) Veamos el cdi go en Mat l ab par a gener ar l os dat os.
cont 1=0; %def i ni mos dos cont ador es par a l a pr i mer a y segunda cl ase
cont 2=0;
xc=2. 5/ 2; %def i ni mos un r adi o de 2. 5 par a que el nmer o de dat os
sea apr oxi madament e el mi smo par a cada cl ase.
hol d on;
X= r and( 2, 500) *2. 5; %gener aci n al eat or i a de nmer os ( x1 y x2)
ent r e 0 y 2. 5
f or i = 1: 500 %Ver i f i camos si caen dent r o del ci r cul o y l e
asi gnamos l a cl ase 0 ( o - 1)
i f ( sqr t ( ( X( 1, i ) - xc) ^2 + ( X( 2, i ) - xc) ^2 ) ) > 1;
cont 1=cont 1+1;
Yd( i ) = 0;
pl ot ( X( 1, i ) , X( 2, i ) , ' bo' ) ;
el sei f ( sqr t ( ( X( 1, i ) - xc) ^2 + ( X( 2, i ) - xc) ^2 ) ) <1;
%Si no es as l e asi gnamos como cl ase 1
cont 2=cont 2+1;
Yd( i ) = 1;
pl ot ( X( 1, i ) , X( 2, i ) , ' r *' ) ;
end
end
Veamos los resultados
Para esta corrida, el nmero de datos de la clase 1 es 248 y el de la segunda es 252
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 98
Ilustracin7Datosgeneradosquerepresentanlaclase1(rojo)ylaclase1(azul).
a) Una vez que tenemos los datos tanto de entrada (variable X) y de salida (variable
Yd), separemos el 50% para datos de entrenamiento, 25% para validacin y 25%
para prueba y entrenemos la red.
Q=500;
%En pr i mer l ugar def i ni mos l os ndi ces par a l as 3 t i pos de dat os
i pr ueba = 2: 4: Q;
i val i da = 4: 4: Q;
i ent r en = [ 1: 4: Q 3: 4: Q] ;
%Con est os ndi ces separ amos l os dat os r espect i vos
val . P = X( : , i val i da) ; val . T = Yd( : , i val i da) ;
pr u. P = X( : , i pr ueba) ; pr u. T = Yd( : , i pr ueba) ;
ent X = X( : , i ent r en) ; ent Yd = Yd( : , i ent r en) ;
r ed = newf f ( mi nmax( ent X) , [ 5 1] , {' t ansi g' ' l ogsi g' }, ' t r ai ngd' ) ;
%En est e punt o podemos r edef i ni r l os par met r os de l a r ed
%Dej emos l os par met r os si n modi f i car y Ent r enamos l a r ed.
[ r ed, t r ] =t r ai n( r ed, ent X, ent Yd, [ ] , [ ] , val , pr u) ;
Losparmetrosdefinidospordefectonosonlosmejoresparaestealgoritmo,porloquela
respuestadelaredesmuymala.Luegodeentrenarlared,seobtieneelgraficodelafigura
0 2.5
0
2.5
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 99
Ilustracin8.Comopuedeobservarselosdatosdeentrenamientonormalmentegeneranunerrormenor,
peroenestecasohemosmodificadoelnmerodepocas.
b) Finalmente simulemos la red para observar que
tan bien est generalizando para los datos de
entrenamiento y validacin y prueba.
Yt =si m( r ed, ent X) ; Yv=si m( r ed, val . X) ;
c) Grafique los datos para cada conjunto y verifique
si clasifica bien
Como se observa en el grafico, la clasificacin es
muy pobre
d) Cul es el nmero de datos clasificados correctamente y fallidos para cada
conjunto.
Cl ase 1 Cl ase 2
Cl ase 1 42 78
Cl ase 2 24 106
Tabla 2.- La matriz muestra que la red clasifica
bien como clase 1 solo 42 datos y falla en 78,
mientas que 106 como clase 2 y falla en 24
0 100 200 300 400 500 600 700 800 900 1000
10
-1
10
0
1000 Epochs
T
r
a
i
n
i
n
g
-
B
l
u
e
V
a
l
i
d
a
t
i
o
n
-
G
r
e
e
n
T
e
s
t
-
R
e
d
Performance is 0.186483, Goal is 0
0 0.5 1 1.5 2 2.5
0
0.5
1
1.5
2
2.5
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 100
r ed = newf f ( mi nmax( ent X) , [ 5 1] , {' t ansi g' ' l ogsi g' }, ' t r ai nl m' ) ;
Entrenadoysimulandolaredsetienenlossiguientesresultados.
Maximo nmero de pocas usadas para el entrenamiento = 1000,
net.trainParam.epochs=1000
Datos de entrada sern escalados a [5, 5], y las muestras de salida a [0.2 0.8].
La tasa de aprendizaje por defecto = 0.1 (net.trainParam.lr) y momento =
0.8. net.trainParam.mc
Las neuronas ocultas usan funciones de activacin tangente hyperbolica y las de
salida funcin de activacin sigmuidal. La configuracin del PMC ser 2-2-2
(dos neuronas de entrada, 2 ocultas y 2 de salida).
Consideremos el primer caso: Tabule el valor medio y la desviacin estndar del
conjunto de prueba para una tasa de aprendizaje de = 0.01, 0.1, 0.2, 0.4, 0.8. Para
cada valor de use dos valores diferentes de momento: = 0 y 0.8. Recuerde que
para cada combinacin de u y se debe realizar 10 ensayos. Discuta los resultados
brevemente.
El siguiente programa en Matlab nos permite realizar esta tarea: En este cdigo no
est considerado el hecho de escalar los datos de entrada ni de salida.
dat E=l oad( ' l ab2t r ai n1. t xt ' ) ;
dat P=l oad( ' l ab2t est 1. t xt ' ) ;
xE=dat E( : , 1: 2) ;
ydE=dat E( : , 3: 4) ;
xP=dat P( : , 1: 2) ;
ydP=dat P( : , 3: 4) ;
f or k=1: 2
i f k==1
bet a=0;
el se
bet a=0. 8;
end
f or j =1: 5
f or i =1: 10
i f j ==1
net = newf f ( mi nmax( xE' ) , [ 2 2] , {' t ansi g' ' l ogsi g' }, ' t r ai ngdm' ) ;
net . t r ai nPar am. epochs=1000;
net . t r ai nPar am. l r =0. 01;
net . t r ai nPar am. mc=bet a;
net =t r ai n( net , xE' , ydP' ) ;
y=si m( net , xP' ) ;
[ C, R] = CONFMAT( y' , ydP) ;
r at e( i , j +5*( k- 1) ) =R( 1) ;
el se
net = newf f ( mi nmax( xE' ) , [ 2 2] , {' t ansi g' ' l ogsi g' }, ' t r ai ngdm' ) ;
net . t r ai nPar am. epochs=1000;
net . t r ai nPar am. l r =0. 1*( j - 1) ;
net . t r ai nPar am. mc=bet a;
net =t r ai n( net , xE' , ydP' ) ;
y=si m( net , xP' ) ;
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 102
Ilustracin9.resultadosdepromediar10corridasparaloscincovaloresdeuconlosdosvaloresdebeta.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
40
60
80
100
Perceptrn Multicapa: caso a) beta=0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
40
50
60
70
80
Perceptrn Multicapa: caso b) beta=0.8
taza de aprendizaje: u
JorgeAguilarJ.|Laboratorio:RedesconConexioneshaciaadelante 103