You are on page 1of 11

UNIVERSIDAD DEL VALLE

FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA Y ELECTRNICA
SESIN DE LABORATORIO No. 1
CONCEPTOS BSICOS DEL SIMULADOR UV-SRNA Y DEL
TOOLBOX DE REDES NEURONALES ARTIFICIALES DEL
MATLAB
1. OBJETIVOS
Al finalizar la sesin del laboratorio el estudiante estar en capacidad de:
Utilizar de manera general el Simulador de Redes Neuronales UV-SRNA,
desarrollado por el Grupo Percepcin y Sistemas nteligentes de la Uni!ersidad del
"alle #ue puede obtener libremente en la pgina $ttp:%%psi&uni!alle&edu&co% y #ue se
usar en este libro&
Utilizar de manera general el Toolbox de MATLAB

de Redes Neuronales
Artificiales
Simular una red neuronal tipo Perceptrn con MATLAB

'onocer el formato de arc$i!os de UV-SRNA&


2. EL PERCEPTRN COMO CLASIFICADOR
(l Perceptrn es la red neuronal ms simple utilizada como clasificador& (l Perceptrn
genera regiones de separacin lineal) por e*emplo, si utilizamos una red de este tipo para
clasificar un con*unto de puntos en el plano cartesiano en dos clases o categor+as, la red a
usar tiene , entradas, una para cada e*e coordenado del plano, y una salida con los !alores
- o . dependiendo de la clase #ue se le asigne a cada patrn de entrada& /a red a utilizar en
esta aplicacin la obser!amos en la figura .&. en donde,
x
1
(ntrada .
x
2
(ntrada ,
y

Salida
w
1
Peso sinptico de la entrada .
w
2
Peso sinptico de la entrada ,
Umbral 0bias1
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 1

x
.
x
,
.

y

w
.
w
,


F). 1.1 P"#*"+,#-n +&#& *'&$.*&# +/n,o$ "n "' +'&no
'omo lo $ab+amos manifestado, el Perceptrn es un clasificador lineal y por tanto genera
una l+nea recta #ue separa las dos clases de puntos A y 2, definidos en el plano, como se
obser!a en la figura .&,&

x
,

x
.

2
2
2
2
2
A
A A
A
F). 1.2 R")on"$ %" $"+&#&*-n 'n"&' )"n"#&%&$ +o# "' P"#*"+,#-n
/a ecuacin de la recta depender de los !alores de los pesos sinpticos de las entradas y
del umbral #ue posea el Perceptrn en un momento dado, (cuacin .&.&
x
,
=
w
.
w
,
x
.


w
,
3.&.4
0. DESARROLLO DEL LABORATORIO
0.1 R"+#"$"n,&%o /n P"#*"+,#-n %" 2 "n,#&%&$ /$&n%o 'o$ 1'o2/"$ %"' S3/'n4 %"'
,oolbox %" #"%"$ n"/#on&'"$ %"' MATLAB

Usando los blo#ues del Simulin5 #ue instala el toolbo6 de Redes Neuronales se puede
representar el funcionamiento bsico de un Perceptrn como el mostrado en la figura .&.&
Para tal fin se construye el diagrama de simulacin mostrado en la figura .&7&
(l blo#ue dotprod est en la biblioteca weight functions
(l blo#ue hardlim est en la biblioteca transfer functions
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 2

Para simular los pesos y la entrada se usan blo#ues constant 0biblioteca sources1 y para
!isualizar la salida de la red y la neta se usan blo#ues display 0biblioteca sinks1
F). 1.0 S3/'&*-n %" /n P"#*"+,#-n %" %o$ "n,#&%&$ "n S3/'n4
'on el diagrama construido es posible simular otros tipos de Redes Neuronales sencillas
por e*emplo cambiando la funcin de acti!acin a lineal, sigmoidal o tangente sigmoidal&
0.2 P"#*"+,#-n +&#& $o'/*on&# "' +#o1'"3& %" '& ./n*-n '-)*& AND /$&n%o "'
Toolbox %" R"%"$ N"/#on&'"$ %" MATLAB

(l Perceptrn es una RNA #ue est en capacidad de realizar separaciones lineales& "eamos
como se puede solucionar un problema de estos con ayuda del Toolbox de Redes
Neuronales de 8A9/A2

&
/a funcin lgica AN: se define como:
x
1
x
2
y
- - -
- . -
. - -
. . .
'on lo siguientes pasos se puede resol!er este problema usando 8A9/A2

:
Definicin del problema
:efinir el problema #ue una red neuronal !a a resol!er es proporcionarle a la misma un
con*unto de pare*as ordenadas de entradas y salidas para #ue la red ;aprenda, llamados
patrones de entrenamiento o aprendiza*e de la red& (n 8A9/A2

esto se $ace definiendo


dos matrices una para las entradas y otra para las salidas donde cada patrn de aprendiza*e
se define por columnas, los comandos necesarios para lo anterior son:
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 0
>> % Definicin de la funcin lgica AD
>> !"#$ $ % %&
$ % $ %'&
>> ("#$ $ $ %'&
Para !er la grfica de estos patrones se usa el comando plotp)
>> plotp)*!,(+
/a grfica resultante es la siguiente:
-0.5 0 . 0 5 1 . 1 5
- . 0 5
0
. 0 5
1
. 1 5
Vectors to be Classified
P(1)
P
(
2
)
F). 1.5 P&,#on"$ & *'&$.*&#
'omo se puede obser!ar en la figura .&<, 8A9/A2

grfica los puntos dados en el !ector


! y le asigna un s+mbolo para la clasificacin dependiendo de la salida deseada, en esta
caso:
Para salida deseada cero 0-1: o
Para salida deseada uno 0.1: =
Inicializacin de la red neuronal
9eniendo los patrones de entrenamiento #ue definen el problema a resol!er, se procede a
inicializar la red neuronal& Para el caso del Perceptrn se usa la funcin de 8A9/A2

initp, (n el comando de ayuda de 8A9/A2

*help+ se puede encontrar una descripcin


completa de cada una de las funciones utilizadas&
>> red " newp*#$ %&$ %',%+
donde,
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 5
red :
>b*eto donde se !a almacenar la red creada por el 8A9/A2

3- .)- .4 : Rango del !alor de la entrada de la red neuronal, el n?mero de filas de esta
matriz lo utilizar 8A9/A2

para definir el n?mero de entradas #ue tiene la


red neuronal&
. : N?mero de neuronas #ue tiene la red neuronal en la capa de salida
A$ora se proceder a generar una matriz de pesos iniciales para la red& (ste paso no es
indispensable, pero permite generar un Perceptrn con una superficie de separacin
conocida&
>> red,iw-%,%."#% %'&
>> red,b-%."$,/&
>> 0esos"red,iw-%,%.&
>> 1ias"red,b-%.&
'on el siguiente comando, 8A9/A2

grafica la l+nea de separacin #ue tiene el


Perceptrn:
>>plotpc*0esos,1ias+
(l comando anterior adiciona la recta clasificadora #ue se tenga en un instante determinado
de acuerdo con los pesos de la red en ese momento& 9al como lo muestra la figura .&@, la
clasificacin no es correcta, pues los parmetros #ue definen la recta fueron asignados de
manera arbitraria&

-0.5 0 0.5 1 1.5
-0.5
0
0.5
1
1.5
Vectors to be Classified
P(1)
P(2
)
F). 1.6 P&,#on"$ & *'&$.*&# 7 '& #"*,& *'&$.*&%o#& n*&'
Entrenamiento de la red
(l entrenamiento de la red se realiza con el comando train el cual se implementa con la
regla de aprendiza*e tipo Perceptrn (n 8A9/A2

el entrenamiento se $ace as+:
>> red " train*red,!,D+
donde,
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 6
red : Red a ser entrenada por el 8A9/A2

&
! : (ntrada de los patrones de aprendiza*e&
D : Salida deseada de los patrones de aprendiza*e&
Al entrenar 8A9/A2

grafica la manera como !a e!olucionando el error al transcurrir las


iteraciones, tal como se muestra en la figura .&A&
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
10
-1
10
0
Performance is 0, Goal is 0
5 Eoc!s
"r
ain
in#
-
$l%
e
F). 1.8 E!o'/*-n %"' "##o# %/#&n," "' "n,#"n&3"n,o %" '& #"%
'uando se $a entrenado la red, e*ecutando los siguientes comandos podemos !isualizar la
recta #ue separa las dos clases de salidas, comprobando con ello #ue la red $a realizado
correctamente la tarea 0figura .&B1&
>> figure&
>> 0esos"red,iw-%,%.&
>> 1ias"red,b-%.&
>> plotp)*!,D+
>>plotpc*0esos,1ias+
-0.5 0 0.5 1 1.5
-0.5
0
0.5
1
1.5
Vectors to be Classified
P(1)
P(2
)
F). 1.9 P&,#on"$ & *'&$.*&# 7 '& #"*,& *'&$.*&%o#& .n&'
V&'%&*-n %" '& #"%
/uego de tener una red entrenada se procede a !alidar si el comportamiento de la misma es
correcto o no& Para este fin se usa el comando sim como se muestra a continuacin:
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 8
>> in2prueba"#$&$'& % 0atrn de prueba
>> % 0rueba de la red ante el patrn de prueba, 3,b son los pesos
>>% y el bias de la red entrenada
>> a " sim*red, in2prueba+
>>a "
>> $
>> % 4tro patn de prueba
>> in2prueba"#%&%'& % 0atrn de prueba
>> a " sim*red, in2prueba+
>>a "
CC.
>bser!amos #ue el comportamiento de la red es el adecuado y se da por finalizado el
entrenamiento&
E:+o#,&n%o '& R"% N"/#on&' & S3/'n4 %" MATLAB

Una !ez entrenada y !alidada la red, 8A9/A2



la tiene almacenada como un blo#ue
funcional #ue puede ser e6portado al ambiente de traba*o de Simulin5 para !erificar el
comportamiento de la misma de una manera completamente grfica&
Usamos el comando gensim para e6portar la red al ambiente de simulin5&
>>gensim*red+
y{1}
Input 1
p{1}
p{1} y{1}
Neural Network
F). 1.; R"% n"/#on&' )"n"#&%& "n "' S3/'n4
nicialmente la red aparece como se obser!a en la figura .&D& (ste diagrama se puede
modificar para obtener el de la .&E& 'on este nue!o es#uema se puede proceder a simular el
comportamiento de la red neuronal diseFada& (l !alor de los blo#ues de entrada se puede
modificar para !erificar el comportamiento de la red ante las diferentes combinaciones de
la funcin lgica AN:&
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 9
p{1} y{1}
Neural Network
0
Display
0
Constant1
1
Constant
F). 1.< D&)#&3& +&#& !"#.*&# "' *o3+o#,&3"n,o %" '& #"% n"/#on&'
0.0 S"+&#&*on"$ 'n"&'"$ *on UV-SRNA
(n el Grupo de Percepcin y Sistemas nteligentes de la (scuela de ngenier+a (lGctrica y
(lectrnica se desarroll la $erramienta, U"HSRNA, para el diseFo y simulacin de Redes
Neuronales Artificiales& (n estos momentos esta $erramienta se encuentra en su !ersin ,&-
y la !entana principal se muestra en la figura .&.-
F). 1.1= V"n,&n& +#n*+&' %" UV-SRNA 2.=
Para conocer la manera como esta $erramienta traba*a usaremos una demostracin #ue
permite resol!er problemas de separabilidad lineal de puntos en un plano& A este e*emplo
se puede acceder usando el item ;'lasificador /ineaI ba*o la opcin ;:emosI 0figura
.&.-1& 'omo e*emplo t+pico, nue!amente usaremos el problema de la funcin lgica AN:&
Un!"#$%&% %"' V&''" ( P.S.I. RNA - ;
F). 1.11 In,"#.&> )#?.*& *on "' /$/&#o %"' 3-%/'o %" $"+&#&*on"$ 'n"&'"$ %" UVSRNA
R"$o'!"n%o '& ./n*-n '-)*& AND *on UV-SRNA
Para iniciar el proceso de aprendiza*e con U"HSRNA, se debe crear un arc$i!o te6to con
los patrones #ue se desean usar para el proceso de entrenamiento& (stos arc$i!os se
guardan con la e6tensin 5,pat& Para el caso de la funcin lgica &n% el arc$i!o de patrones
ser+a:
T&1'& No.1 E@"3+'o %" *o%.*&*-n %" 'o$ +&,#on"$ %" "n,#"n&3"n,o +&#& '&
./n*-n '-)*& AND.
:atos en el arc$i!o Significado
< N?mero de patrones de entrenamiento
, N?mero de entradas de cada patrn
. N?mero de salidas de cada patrn
- - - Patrn No& .
- . - Patrn No& ,
. - - Patrn No& 7
. . . Patrn No& <
Una !ez creado, cargue el arc$i!o de patrones desde U"HSRNA 0 leer patrones del men?
de archi)o +,
'on los patrones cargados se procede a inicializar la red, para esto solo es necesario
oprimir el botn de iniciali6ar& >bser!e la recta #ue inicialmente genera el Perceptrn
Un!"#$%&% %"' V&''" ( P.S.I. RNA - <
Una !ez inicializada la red se procede a su entrenamiento& (sto se logra oprimiendo el
botn entrenar& >bser!e cmo la recta #ue genera el Perceptrn !a cambiando a medida
#ue transcurre el entrenamiento& 7xpli8ue por 8u9 sucede esto&
Posteriormente a*uste la tasa de aprendiza*e 0 alfa 1 -&-B en la !entana de >pciones grficas
0 men? opciones +tem opciones gr:ficas 1& A*uste la !elocidad de animacin a ,@-ms,
$ec$o esto, proceda a inicializar *botn iniciali6ar+ nue!amente la red y posteriormente a
entrenarla * botn de entrenar +, ;<on cu:ntas iteraciones 8ueda entrenada la red=
A*uste la tasa 0 alfa 1 de aprendiza*e a -&--B y repita el procedimiento anterior, ;Despu9s
de cu:ntas iteraciones 8ueda entrenada la red= ;<mo fue ahora el entrenamiento, m:s
r:pido o m:s lento= ;0or8u9=,
C#"&*-n %" /n &#*A!o %" #"% 7 $/ *&#)& "n UV-SRNA
9eniendo el problema de la funcin lgica AN:, deduzca los pesos de un Perceptrn #ue
es capaz de realizar esta clasificacin& 'ree un arc$i!o de te6to 0 Por e*emplo con el block
de notas1 donde se definir una red con los pesos acabados de deducir por usted&
T&1'& No. 2 E$,#/*,/#& %"' &#*A!o 2/" &'3&*"n& /n& #"% n"/#on&' ,+o P"#*"+,#-n
:atos en el arc$i!o Significado
, N?mero de neuronas en la capa de
entrada
. N?mero de neuronas en la capa de
salida
@ Juncin de acti!acin en la capa
No& ,
Peso K
.

Peso K
,
Peso L 2ias
/uego de crear el arc$i!o gurdelo con la e6tensin 5,red , por e*emplo, como
and2%,red& Ub+#uese en el mdulo de separaciones lineales de U"HSRNA y cargue la
red definida en el arc$i!o tipo te6to 0cargar red del men? de archi)o+, !isualice la
recta de separacin #ue se genera con estos pesos& 7st: esto de acuerdo con lo 8ue
usted esperaba=
5. EJERCICIOS
.& Realice la siguiente clasificacin usando un Perceptrn y con ayuda del toolbox de
redes neuronales del 8A9/A2

&
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 1=
B1 B2 D
H-&@ H.&- -
.&- .&- .
.&- -&@ .
H.&- H-&@ -
H.&- H.&- -
-&@ .&- .
,& Repita el e*ercicio anterior con U"HSRNA&
7& 9eniendo los siguientes puntos en el plano realice el procedimiento necesario tanto en
8A9/A2

como en U"SRNA para resol!er la clasificacin indicada& /a clase A la puede


codificar como - y la clase 2 la puede codificar como .&
M N Jamilia
H. H. A
H-&@ H-&@ A
H. - A
- H. A
. . 2
-&@ -&@ 2
. - 2
- . 2
<& 'ree un programa en 8A9/A2

#ue implemente el algoritmo de entrenamiento tipo


Perceptrn para resol!er el problema de la funcin lgica >R&
@& ntente en 8A9/A2

y en U"SRNA solucionar el problema de la funcin lgica M>R&


OPuG conclusiones obtiene de los resultados alcanzadosQ&
6. INFORME
.& 'onsigne las soluciones a las preguntas #ue aparecen en el transcurso de la gu+a&
,& Presente el desarrollo de los e*ercicios propuestos en el numeral < de la gu+a
7& Presente conclusiones y comentarios
Un!"#$%&% %"' V&''" ( P.S.I. RNA - 11

You might also like