Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guias RNA 02
Guias RNA 02
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA Y ELECTRNICA
SESIN DE LABORATORIO No. 2
EL PERCEPTRN APLICADO A LA CLASIFICACIN DE
CARACTERES
1. OBJETIVOS
Al finalizar la sesin de la laboratorio el estudiante estar en capacidad de:
Conocer la manera como se puede usar una red neuronal tipo Perceptrn en la
clasificacin de caracteres.
Realizar un reconocimiento de caracteres usando el Perceptrn del MATLAB
!
% en donde el
elemento X
fj
$ace referencia al 'alor de la caracter+stica f-sima en el patrn j-simo # F es
el n1mero total de caracter+sticas &ue describen el patrn. -l n1mero de clases% &ue
llamaremos C% en los problemas de reconocimiento de patrones es finito% de modo &ue i =
1,2, ...,C es la notacin *eneral para una clase # C
i
el con,unto de patrones &ue lo inte*ran.
!e dice &ue es una m"estra controlada% cuando se conoce perfectamente una muestra 2
i
=
[X
1
i
, X
2
i
, ..., X
n
i
!
de n
i
patrones. .inalmente% X
fj
i
se define como el 'alor de la caracter+stica
f en el patrn j &ue pertenece a la clase i. La tarea final de un sistema de reconocimiento de
patrones consiste en asi*nar el patrn X
j
a la clase &ue si*nifi&ue menor probabilidad de
error en la clasificacin.
2.2.F!)e) %e 1n S#)te"! %e Re.ono.#"#ento %e P!tone)
La problemtica de un clasificador comienza con la definicin de las clases ob,eto de
estudio # la representacin adecuada de la muestra controlada de cada una de ellas. -l
problema termina cuando se $a obtenido un con,unto de re*las de decisin &ue permite
asi*nar a un nue'o patrn% cu#a clase de pertenencia se desconoce% una clase para la &ue se
estime un menor ries*o en la asi*nacin. Como en cual&uier problema de tipo prctico% es
necesario ser cuidadosos en la preparacin # anlisis de los datos% en la seleccin e
implantacin de los m)todos apropiados. La precipitacin produce *eneralmente% *randes
fracasos en la obtencin de resultados.
-l dise/o de un sistema de reconocimiento de patrones est conformado por diferentes
espacios &ue constitu#en un modelo abstracto # *eneral de clasificacin: Ad&uisicin de
datos% formacin de los tipos de patrones% seleccin de caracter+sticas% especificacin del
al*oritmo de clasificacin # estimacin del error del clasificador. Un sistema de
clasificacin de patrones% representado en la fi*ura 3.4% est constituido por tres etapas
principales:
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 2
#spacio de Patrones. 0eteccin% ad&uisicin # pre5procesamiento de la se/al pro'eniente
del sensor. La se/al de entrada del sensor es con'ertida a una forma ms adecuada para el
sistema de procesamiento.
#spacio de Caracter$sticas. 0efinicin de las caracter+sticas &ue describen a las clases
desde la se/al de entrada. Adicionalmente% se seleccionan o e6traen las caracter+sticas ms
rele'antes o representati'as para el problema% obteniendo una reduccin en el tama/o de
los datos a procesar%. -ste punto implica la sistematizacin de los datos para ser lle'ados al
clasificador.
#spacio de decisin. -l clasificador usa esta informacin para asi*nar el dato de entrada a
una cate*or+a pro'eniente de un con,unto de cate*or+as pre5establecidas% dependiendo de
sus caracter+sticas.
Seal
Digitalizada
Extractor
Selector
Clasificador Sensor
Salida
ESPACIO DE
PATRONES
ESPACIO DE
DECISIN
ESPACIO DE
CARACTERSTICAS
F#2. 2.1 S#)te"! De C*!)#-#.!.#/n De P!tone)
3. PROCEDIMIENTO
3.1 Pe.e$t/n $!! e!*#&! 1n e.ono.#"#ento %e .!!.tee) en MATLAB
-l ob,eti'o es entrenar un Perceptrn &ue pueda identificar los n1meros del 7 al 8 donde
cada n1mero se puede definir en una matriz de 9:;. Por e,emplo el n1mero 3 ser:
%
1 1 1
1
1
1 1
%
1 1 1
%
1 %
Para resol'er el problema% es necesario 'erificar todos los patrones correspondientes a cada
n1mero # asi*narles el respecti'o 'alor de salida. -n nuestro caso% definiremos por patrn
un 'ector de entrada de 49 elementos # un 'ector de salida de < elementos%
correspondientes al n1mero binario e&ui'alente.
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 3
-l 'ector de patrones de entrada &ueda definido como se muestra en la Tabla 4% donde cada
n1mero decimal se codifica con un 'ector de 49 bits.
T!0*! 1. Ve.to %e P!tone) .oe)$on%#ente ! *o) .!!.tee) %e.#"!*e)
C!4.te Ve.to %e P!tone)
B1 B2 B3 B5 B6 B7 B8 B9 B: B1; B11 B12 B13 B15 B16
%
1 1 1
1
1
% 1
1
1 1 1
1
1 %
4 4 4 4 7 4 4 7 4 4 7 4 4 4 4
0
1 % %
1
1
% %
1
% % 1
%
% %
7 7 4 7 7 4 7 7 4 7 7 4 7 7 4
%
1 1 1
1
1
1 1
%
1 1 1
%
1 %
4 4 4 7 7 4 4 4 4 4 7 7 4 4 4
%
1 1 1
1
1
1 %
1
1 1 1
%
% %
4 4 4 7 7 4 7 4 4 7 7 4 4 4 4
%
1 % 1
1
1
1 1
1
% % 1
1
% %
4 7 4 4 7 4 4 4 4 7 7 4 7 7 4
%
1 1 1
1
%
1 1
1
1 1 1
1
% %
4 4 4 4 7 7 4 4 4 7 7 4 4 4 4
%
1 1 1
1
%
1 1
1
1 1 1
1
1 %
4 4 4 4 7 7 4 4 4 4 7 4 4 4 4
%
1 1 1
1
1
% %
1
% % 1
%
% %
4 4 4 7 7 4 7 7 4 7 7 4 7 7 4
%
1 1 1
1
1
1 1
1
1 1 1
1
1 %
4 4 4 4 7 4 4 4 4 4 7 4 4 4 4
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 5
%
1 1 1
1
1
1 1
1
1 1 1
1
% %
4 4 4 4 7 4 4 4 4 7 7 4 4 4 4
A$ora se necesita definir la salida &ue deseamos *enere la red. Para lo*rar este propsito se
debe codificar de al*una manera la informacin &ue *enerar la red en sus neuronas de
salida. Una alternati'a consiste en &ue la salida de la red est) formada por el cdi*o binario
del n1mero &ue se le est presentando a la entrada. -s decir% si a la red le lle*an como
entrada los 49 bits correspondientes al n1mero 7% ella *enerar el cdi*o binario del cero
e6presado en < bits =7 7 7 7>( o en otro caso% si le lle*an como entrada los 49 bits
correspondientes al n1mero 4% ella *enerar el cdi*o binario del uno e6presado en < bits
=7 7 7 4> # as+ con el resto de patrones.
Teniendo en cuenta estos resultados los patrones de entrenamiento para los n1meros
decimales se presentan en la Tabla 3. -n la Tabla ; se presenta el cdi*o en MATLAB
para lo*rar el entrenamiento adecuado.
T!0*! 2 Co%#-#.!.#/n %e *o) $!tone) %e enten!"#ento $!! e* e.ono.#"#ento
%e .!!.tee) %e.#"!*e) en MATLAB
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 6
Patrn de -ntradas
2
Patrn !alidas
0
B1 B2 B3 B5 B6 B7 B8 B9 B: B1; B11 B12 B13 B15 B16
2
3
2
2
2
1
2
;
7 4 4 4 4 7 4 4 7 4 4 7 4 4 4 4 7 7 7 7
4 7 7 4 7 7 4 7 7 4 7 7 4 7 7 4 7 7 7 4
3 4 4 4 7 7 4 4 4 4 4 7 7 4 4 4 7 7 4 7
; 4 4 4 7 7 4 7 4 4 7 7 4 4 4 4 7 7 4 4
< 4 7 4 4 7 4 4 4 4 7 7 4 7 7 4 7 4 7 7
9 4 4 4 4 7 7 4 4 4 7 7 4 4 4 4 7 4 7 4
? 4 4 4 4 7 7 4 4 4 4 7 4 4 4 4 7 4 4 7
@ 4 4 4 7 7 4 7 7 4 7 7 4 7 7 4 7 4 4 4
A 4 4 4 4 7 4 4 4 4 4 7 4 4 4 4 4 7 7 7
8 4 4 4 4 7 4 4 4 4 7 7 4 4 4 4 4 7 7 4
T!0*! 3 C/%#2o en MATLAB
CBMA"0B! CBM-"TARCB!
X=[
&
Patrones de -ntrada.
#scri'a los (alores )"e de'e tener la
matriz X
*=[ % % % % % % % % 1 1&
% % % % 1 1 1 1 % %&
% % 1 1 % % 1 1 % %&
% 1 % 1 % 1 % 1 % 1&
Patrones de !alida
red=ne+p,minma-,X.,/.& 0efinicin de la red
red.i+01,11=rand,/,1%.&
red.'011=rand,/,1.&
Asi*nacin de pesos aleatorios
red.trainParam.s2o+=1& -'olucin de la red en cada iteracin
disp,3los pesos inciales son43.
Pesos=red.i+01,11
5ias=red.'011
pa"se,2.&
Muestra los pesos asi*nados por la funcin
random.
red = train,red,X,*. -ntrenamiento de la red
disp,3para (alidar la red, di6ite el
(ector de patrones de entrada3.
disp,37"mero de 1% 'inarios entre [ 3.
alidacin de la red.
!e pide di*itar un patrn para 'erificar el
funcionamiento de la red entrenada.
X1=inp"t,3X1=3. -ntrada del patrn
8 = sim,red, X13.& !imulacin de la red
disp,3el n"mero res"ltante, en 'inario, le$do de
arri'a para a'ajo es43.
8
Presentacin del 'alor correspondiente
di*itado por el usuario = se presenta en
forma binaria D< bits>
Como e,emplo se presentan dos entrenamientos de la red( para cada uno se ilustra la *rfica
de e'olucin en el entrenamiento # el patrn introducido para el proceso de 'alidacin.
Primera Ejecucin
0 5 10 15 20 25 30
10
-2
10
-1
10
0
Performance is 0, Goal is 0
34 Epochs
T
r
a
in
in
g
-
B
lu
e
F#2. 2.2 E(o*1.#/n %e* eo %e enten!"#ento
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 7
Patrn de -ntrada
Para alidacin
ector de -ntrada
24
alor de !alida
E
0
0 0 0
0
1
% %
1
% % 1
%
% %
[1 1 1 0 0 1 0 0 1 0 0
1 0 0 1]
[0 1 1 1] 7
Segunda ejecucin:
0 5 10 15 20 25 30 35 40
10
-2
10
-1
10
0
Performance is 0, Goal is 0
42 Epochs
T
r
a
i
n
i
n
g
-
B
l
u
e
F#2. 2.3 E(o*1.#/n %e* eo %e enten!"#ento
Patrn de -ntrada
Para alidacin
ector de -ntrada
24
alor de !alida
E
%
1 1 1
1
1
1 1
1
1 1 1
1
% %
[1 1 1 1 0 1 1 1 1 0 0
1 1 1 1]
[1 0 0 1] 9
3.2 E<$ot!n%o *! Re% Ne1on!* Gene!%! !* S#"1*#n=
para 'erificar su
comportamiento de una manera completamente *rfica. -6porte la red al !imulinF # 'alide
su desempe/o con un dia*rama de simulacin adecuado.
3.3 Re.ono.#"#ento %e C!!.tee) .on UVSRNA
-n U!R"A se $a dise/ado un modulo especial para 'erificar la capacidad de un
Perceptrn en el reconocimiento de caracteres.
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 8
F#2. 2.5 Inte-!& 24-#.! .on e* 1)1!#o %e* "/%1*o %e e.ono.#"#ento %e .!!.tee) %e
UVSRNA
Reconocimiento de los nmeros del 0-9 con UVSRNA
Para realizar esta tarea con U!R"A% inicialmente se debe crear un arc$i'o te6to con los
patrones &ue se desean usar para el proceso de entrenamiento. -ste arc$i'o se *uarda con la
e6tensin :.pat.% si*uiendo el formato &ue se presenta en la Tabla <. Complete el arc$i'o de
patrones con los patrones necesarios para reconocer los n1meros decimales =758>.
T!0*! No.5 E'e"$*o %e .o%#-#.!.#/n %e *o) $!tone) %e enten!"#ento $!! e*
e.ono.#"#ento %e n>"eo)
0atos en el arc$i'o !i*nificado
47 "1mero de patrones de entrenamiento
;9 "1mero de entradas de cada patrn
< "1mero de salidas de cada patrn
4 4 4 4 4
4 7 7 7 4
4 7 7 7 4
4 7 7 7 4
4 7 7 7 4
4 7 7 7 4
4 4 4 4 4 7 7 7 7
Patrn "o. 4 . Gue corresponde al numero
cero
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 9
7 7 4 7 7
7 4 4 7 7
4 7 4 7 7
7 7 4 7 7
7 7 4 7 7
7 7 4 7 7
7 7 4 7 7 7 7 7 4
Patrn "o. 3 Gue corresponde al numero
uno
4 4 4 4 4
7 7 7 7 4
7 7 7 7 4
4 4 4 4 4
4 7 7 7 7
4 7 7 7 7
4 4 4 4 4 7 7 4 7
Patrn "o. ; Gue corresponde al numero
dos
Una 'ez creado el arc$i'o% car*ue el arc$i'o de patrones desde U5!R"A = leer
patrones del men1 de arc2i(o ..
Con los patrones car*ados se procede a inicializar la red% para esto solo es necesario
oprimir el botn de inicializar.
Una 'ez inicializada la red se procede a su entrenamiento% lo cual se lo*ra oprimiendo el
botn entrenar. Bbser'e como 'a e'olucionando el error de entrenamiento en la 'entana
&ue la aplicacin tiene dispuesta para este menester. -ste procedimiento se dar por
terminado cuando se alcance un error i*ual a cero.
F#2. 2.6 E(o*1.#/n %e* eo %e enten!"#ento en UVSRNA
Un#(e)#%!% %e* V!**e + P.S.I. RNA , :
Validacin del entrenamiento con UVSRNA
Para 'alidar el entrenamiento de la red% el mdulo de reconocimiento de caracteres de
U!R"A permite &ue el usuario en una matriz de c$ecF bo6 =casillas de 'erificacin> de
@:9% *enere el carcter con el cual desea probarla. Teniendo el carcter definido% con el
botn de 'alidar se $ace el feedfor+ard de dic$a informacin para 'isualizar en cdi*o
binario # decimal la salida &ue est *enerando la red. Un e,emplo de esta 'alidacin se
puede 'isualizar en la fi*ura 3.;% donde se obser'a &ue el patrn de 'alidacin corresponde
al n1mero cinco # la red efecti'amente *enera la salida correcta.
Creacin de un archio de red ! su carga en UVSRNA
Lue*o de entrenada la red *enere el arc$i'o de red. Con esta informacin realice un
es&uema donde muestre el 'alor del peso con &ue &ued cada cone6in de la red.
5. EJERCICIOS
4. -ntrenar una red neuronal tipo Perceptrn tanto en MATLAB