Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IEEE,{mime214,
Universidad
espartaco113}@hotmail.com
del Valle, Cali, Colombia
El Perceptrón aplicado a la clasificación de
Caracteres
Luz Karime Ramírez – 0711078,
Iván Hernando González - 0611129
I. INTRODUCCIÓN
Por medio de las Redes Neuronales Artificiales, en particular
con la red Perceptrón solo se pueden resolver problemas
linealmente separables; la clasificación de patrones es un buen
ejemplo. A pesar de esta limitante, con esta arquitectura se
pueden hacer aplicaciones muy interesantes tal como es el FIG.1. IMAGEN GUIDE DESARROLLADA
reconocimiento de patrones en general (Números 0 - 9) y de
caracteres especiales (Vocales). La figura muestra como esta diseñada la interfaz grafica, la
cual esta compuesta de:
La Clasificación de Patrones puede definirse como la
asignación de una muestra, correspondiente a un objeto o Panel de Entrada:
evento físico, a una de varias categorías o clases previamente - Dibujar: Inicializa la red
especificadas. Entiéndase por clase un conjunto de patrones - Entrenar: Entrena la red
que poseen características comunes que los diferencian de - Guardar: Guarda la red ya entrenada
otros elementos pertenecientes a un mismo conjunto universo. - Cargar : Carga una red al validador ya entrenada
Frecuentemente los problemas de clasificación se han dirigido - Salir: Termina el programa
hacia un modelo matemático abstracto que proporciona las - Alfa: Tasa de aprendizaje
bases teóricas para el diseño de un clasificador. Por supuesto, - Patrones de reconocimiento
cualquier aplicación en concreto está íntimamente ligada a las Hexadecimal
características especiales del problema a solucionar; por Vocales
ejemplo, el tipo de sensor utilizado y las características físicas Nombre
que unen o separan las clases del universo de trabajo. Figuras
El diseño de un clasificador consta de dos partes
fundamentales: La primera, el aprendizaje que es la
adquisición de muestras de las diferentes clases y el encuentro
de las fronteras o reglas que separan dichas clases; La
segunda, es probar el comportamiento del clasificador
diseñado, utilizando muestras cuya identidad de clase es Panel de Salida
desconocida. [1] Encontramos la determinada casilla donde podemos se registra
el valor que la red arroja después de la validación.
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 red=newp(minmax(X),4); % Definicion de la red
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 red.iw{1,1}=rand(4,15); % Asignación de pesos aleatorios
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 red.b{1}=rand(4,1);
1 1 1 1 1 1 1 1 1 1 0 0 1 0 0
red.trainParam.show=1; %Evolución de la red en cada iteración
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0
disp('los pesos iníciales son:') %Visualizamos los valores
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 aleatorios que asume %la primera vez
Pesos=red.iw{1,1}
FIG.2. CARACTERES CORRESPONDIENTES A LAS VOCALES
Bias=red.b{1}
pause(2);
1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 red = train(red,X,D)
1 0 0 0 0 1 0 0 0 1 0 0 0 0 1
1 0 0 0 0 1 0 0 0 1 0 0 0 1 0
1 0 0 0 0 1 0 0 0 1 0 0 1 0 0
1 0 0 0 0 1 0 0 0 1 0 1 0 0 0
1 0 0 0 0 1 0 0 0 1 1 0 0 0 0
Reconocimiento de las Vocales
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Las vocales a identificar y su respectiva forma se presenta en
la Figura No. 2.
1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0
0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0
0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0
0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0
1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0
FIG.3. CARACTERES CORRESPONDIENTES AL NOMBRE DE UN
INTEGRANTE
1 1 1 1 1 0 0 1 0 0 1 1 1 1 1
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1
1 0 0 0 1 0 0 1 0 0 0 0 0 0 1
1 0 0 0 1 0 0 1 0 0 1 1 1 1 1
1 0 0 0 1 0 0 1 0 0 1 0 0 0 0
1 0 0 0 1 0 0 1 0 0 1 0 0 0 0
1 1 1 1 1 0 0 1 0 0 1 1 1 1 1
FIG.4. CARACTERES CORRESPONDIENTES A LOS CARACTERES
DECIMALES
1 0 0 0 0 1 1 1 1 1 0 0 0 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 0 0 0 0 1 1 1 1 1
1 0 0 0 1 1 0 0 0 0 1 0 0 0 1
1 0 0 0 1 1 0 0 0 0 1 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
FIG.5. CARACTERES CORRESPONDIENTES A LOS CARACTERES
HEXADECIMALES FIG.7. VALIDACIÓN PARA LA LETRA ‘I’
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 1 1 1 1 1 1 0 1 0 1 0
1 0 0 0 1 1 1 1 1 1 0 1 0 1 0
1 0 0 0 1 1 1 1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
FIG.6. CARACTERES CORRESPONDIENTES A LAS FIGURAS
GEOMETRICAS BASICAS
Con las anteriores figuras donde observamos los caracteres y a
la vez con estos nos servirán de guía para obtener los patrones
de aprendizaje y su posterior entrenamiento.
b. Programación
A continuación se muestra el código general desarrollado en
Matlab®, utilizado para la creación de la red neuronal. Este set FIG.8. EVOLUCIÓN DEL ERROR DURANTE EL
de instrucciones nos será de utilidad para los diferentes ENTRENAMIENTO DE LA RED EN LAS VOCALES
patrones de entrada.
Podemos encontrar en la primera parte la definición del De acuerdo a la Figura No. 7 y a las diferentes
problema (Entradas y Salidas); seguido de la definición de la pruebas echas (introducir patrón por patrón y validar)
red y su respectivo entrenamiento. se obtuvieron resultados satisfactorios: Error = 0.
IV. CONCLUSIONES
Se realizo el reconocimiento de caracteres por medio
de la herramienta computacional como es Matlab ®,
como también con el programa UVSRNA2. Por
medio de ellas logramos en primera parte cumplir
con los objetivos propuestos para el laboratorio.
Las redes implementadas al simularle un ruido o
perdida de información (deshabilitar una casilla
aleatoria), presenta un comportamiento de
caracterización de la red, demostrando así que la red
no esta memorizando.
V. BIBLIOGRAFIA