Está en la página 1de 10

UNIVERSIDAD DEL VALLE

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

Realizar un reconocimiento de caracteres usando el U!R"A


2. INTRODUCCIN AL RECONOCIMIENTO Y CLASIFICACIN DE
PATRONES
Como #a se $a mencionado anteriormente% el Perceptrn es una red &ue solo puede resol'er
problemas linealmente separables( a pesar de esta limitante% con )l se pueden $acer
aplicaciones mu# interesantes tal como el reconocimiento de patrones en *eneral # de
caracteres escritos en particular% como se mostrar en el desarrollo de esta *u+a.
Clasificacin de Patrones puede definirse en su forma ms *eneral como la asi*nacin de
una muestra% correspondiente a un ob,eto o e'ento f+sico% a una de 'arias cate*or+as o clases
pre'iamente especificadas. -nti)ndase por clase un con,unto de patrones &ue poseen
caracter+sticas comunes &ue los diferencian de otros elementos pertenecientes a un mismo
con,unto uni'erso. .recuentemente los problemas de clasificacin se $an diri*ido $acia un
modelo matemtico abstracto &ue proporciona las bases tericas para el dise/o de un
clasificador. Por supuesto% cual&uier aplicacin en concreto est +ntimamente li*ada a las
caracter+sticas especiales del problema a solucionar( por e,emplo% el tipo de sensor utilizado
# las caracter+sticas f+sicas &ue unen o separan las clases del uni'erso de traba,o.
-l dise/o de un clasificador consta de dos partes fundamentales. La primera% es la
ad&uisicin de muestras de las diferentes clases # el encuentro de las fronteras o re*las &ue
separan dic$as clases( este proceso es llamado enten!"#ento o !$en%#&!'e. La se*unda%
es probar el comportamiento del clasificador dise/ado% utilizando muestras cu#a identidad
de clase es desconocida.
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 1
-l problema t+pico de aplicacin de las t)cnicas de reconocimiento de patrones% es a&u)l en
donde conociendo una muestra controlada por clase% es necesario asi*nar a una de las clases
un nue'o dato cu#a pertenencia a una clase se desconoce. 0entro de una amplia *ama de
aplicaciones podemos destacar% entre otras% las si*uientes: reconocimiento de caracteres%
identificacin de recursos naturales a tra')s de im*enes satelitales% control de calidad en
procesos de fabricacin% reconocimiento auditi'o de patrones% identificacin de
mo'imientos s+smicos # aplicaciones meteorol*icas.
2.1 De-#n#.#/n %e* $o0*e"!
-l reconocimiento se realiza cuando se utiliza una re*la para asi*nar a una muestra una
clase determinada( el patrn se define con base en un proceso de aprendizaje. Para definir
un patrn se utiliza una muestra controlada de dic$o patrn. Los patrones de esta muestra
son e,emplos de cada una de las clases de patrones. -stos son los elementos bsicos &ue
conforman los sistemas de clasificacin de patrones.
Un patrn j-simo est definido por el 'ector X
J
= [X
1j
,X
2j
, ... X
fj
, ...,X
Fj

!
% 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=

Teniendo la red entrenada% se puede e6portar al !imulinF

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

como en U!R"A &ue


sir'a para reconocer las 'ocales.
3. -ntrenar una red neuronal tipo Perceptrn tanto en MATLAB

como en U!R"A &ue


sir'a para reconocer el cdi*o $e6adecimal.
;. -ntrenar una red neuronal tipo Perceptrn tanto en MATLAB

como en U!R"A &ue


sir'a para reconocer las letras del nombre de al*1n inte*rante del *rupo.
<. -ntrenar una red neuronal tipo Perceptrn tanto en MATLAB

como en U!R"A &ue


sir'a para reconocer cuatro fi*uras *eom)tricas sencillas =un cuadrado% un trin*ulo% un
rectn*ulo # un rombo>.
6. INFORME
4. Consi*ne las soluciones a las pre*untas &ue aparecen en el transcurso de la *u+a.
3. Presente el desarrollo de los e,ercicios propuestos en el numeral < de la *u+a.
;. Presente conclusiones # comentarios.
Un#(e)#%!% %e* V!**e + P.S.I. RNA , 1;

También podría gustarte