1. Recognition of alphabetic characters using functions
Logsig and Tagsig in the Matlab enviroment.
Reconocimiento de car´acteres alfab´eticos utilizando
las funciones Logsig y Tansig en el entorno Matlab.
J. Campos, Y. Torres, and H. Paz
Abstract—This paper aims to give a basic explanation of the
use of very large transfers functions such as logarithmic sigmoid
(logsig) and sigmoidal tangent (tansig) and their use in a basic
example that could help future research on pattern classification
that was done in Matlab environment
Resumen—El presente trabajo pretende dar una explicaci´on
b´asica del uso de las funciones de transferencias muy importantes
como lo son logar´ıtmica sigmoidea (Logsig) y tangente sigmoidal
(Tansig) y su uso en un ejemplo basico que podria ayudar a
futuras investigaciones sobre clasificaci´on de patrones esto fue
realizado en entorno Matlab.
Keywords: logsig, matlab, tansig, character recognition
Palabras clave: logsig, matlab, tansig, reconocimiento
de caract´eres
I. INTRODUCCI´O
N
Las redes neuronales artificiales son sistemas artificiales
en los cuales su estructura se basa en la representaci´on
de los sistemas nerviosos de humanos y animales. Constan de
un n´umero variado de neuronas artificiales, el n´umero de estas
depender´a del problema a resolverse.
El presente trabajo est´a dividido en 4 secciones: La primera
secci´on que es el estado del arte hablaremos sobre las redes
neuronales y las principales funciones de transferencia que se
utilizan as´ı como tambi´en las funciones que se han utilizado
en el trabajo realizado.
La segunda secci´on que el caso de estudio describiremos el
problema que se ha planteado a resolver que en este caso es
el reconocmiento de caract´eres y los pasos que hemos seguido
para su formulaci´on.
La tercera secci´on que son los resultados describe todas
las salidas generadas dentro del entorno de matlab en donde
podemos apreciar los valores obtenidos para la soluci´on del
problema planteado.
Como ´ultima parte tenemos las conclusiones a las que
hemos llegado como resultado de todo nuestro trabajo e
investigacion realizada.
J. Campos, Universidad Nacional de Loja, Loja, Ecuador, jacam-posp@
unl.edu.ec
Y. Torres, Universidad Nacional de Loja, Loja, Ecuador, ymtor-resb@
unl.edu.ec
H. Paz, Universidad Nacional de Loja, Loja, Ecuador, hpaz@unl.edu.ec
II. ESTADO DEL ARTE
A. Redes Neuronales
Las redes neuronales son una tecnolog´ıa que trata de repro-ducir
el proceso de soluci´on de problemas del cerebro. As´ı
como los humanos aplican el conocimiento ganado con la ex-periencia
a nuevos problemas o situaciones, una red neuronal
toma como ejemplos problemas resueltos para construir un
sistema que toma decisiones y realiza clasificaciones.
Las redes neuronales se basan en generalizar informaci´on
extra´ıda de datos experimentales, tablas bibliogr´aficas o bases
de datos, los cuales son determinadas por expertos humanos.
Las redes neuronales toman en cuenta las entradas (corri-ente,
voltaje) y como salidas las se˜nales del sistema (velocidad,
temperatura, torque). [1].
B. Funciones de transferencia
Las funciones de transferencia o activaci´on definen la salida
de una neurona en t´erminos de los datos de entrada.
En la figura 1 podemos apreciar las principales funciones
de transferencia[2]:
2. Fig 1. Funciones de transferencia.
C. Funciones utilizadas
Funci´on de transferencia logar´ıtmica sigmoidal (logsig):
En esta funci´on los valores se calculan de acuerdo a la
expresi´on de la figura 2, los valores de entrada pueden
oscilar entre m´as y menos infinito y la salida se restringe
a valores entre cero y uno, como indica la figura 3[2]:
Fig 2. Expresi´on logar´ıtmica sigmoidal.
Fig 3. Funci´on logar´ıtmitca sigmoidal.
Funci´on de transferencia tangente sigmoidea (tansig):
Esta es una de las funciones m´as utilizadas en las
redes neuronales por su exibilidad y el amplio rango de
resultados que ofrece.La salida se calcula en base a la
expresion de la figura 4. Las ventajas de utilizar una
tangente sigmoidea es que ofrece resultados entre 1 y
-1 como indica la figura 5, por lo que se ampl´ıa a los
n´umeros negativos los posibles resultados [3].
Fig 4. Expresi´on tangente sigmoidal.
Fig 5. Funci´on tangente sigmoidal.
III. CASO DE ESTUDIO
En esta secci´on se muestra un caso de estudio, en donde
se aplica una red neuronal para la clasificaci´on de letras del
alfabeto utilizando las funciones de activaci´on logsig y tansig
para ello usaremos el software MatLab.
A. Proceso
Ensamblar el paquete de datos de entrenamiento: Se
partir´a con la premisa que una letra es representada por
un vector binario de 35 caracteres de manera que si
queremos representar el alfabeto tendr´ıamos como datos
de entrada una matriz de 35x26, para ello nos ayudaremos
del script prprob de matlab que nos define una matriz X
con 26 columnas, una por cada letra del alfabeto. Cada
columna tiene 35 valores que pueden ser 1 o 0. Cada
columna de 35 valores define un mapa de bits 5x7 de
una carta [4][5]
Crear y definir la red: La red contar´a con 2 capas
una ocultas donde se clasificar´a los car´acteres la cual
tendr´a como funci´on de transferencia tansig y contar´a
con 20 neuronas. Ademas se tiene una segunda capa
con 26 neuronas la cual arrojar´a la salida la funci´on de
transferencia logsig que fue escogida debido a que su
rango de salida (0 a 1) es perfecto para aprender a valores
booleanos de salida.
Primero debemos tener la matriz de entrada y la de salida
para ello usaremos el script prprob antes mencionado. 1.
[alfabeto,salidas]=prprob;
Luego procedemos a crear la red con las entradas,
salidas y funciones de transferencia antes mencionadas.
2. clasificador= newff(minmax(alfabeto),[20 26],’tan-sig’,’
logsig’,’trainlm’);
Entrenar a la red:Para ello nos ayudaremos de la
funci´on train de Matlab la cual necesita como val-ores
la red en este caso clasificador,las entradas rep-resentadas
por alfabeto y las salidas. [clasificador]=
train(clasificador,alfabeto,salidas);
B. Resultados
Haciendo uso de la funci´on plotchar podemos graficar
alguna de las letras del alfabeto como se ve en la figura 6:
plotchar(alfabeto(:,1))
Fig 6. Representac´on del car´acter A.
A continuaci´on se muestra los resultados arrojados al
entrenar la red, como podemos ver en la figura 7 podemos dar
cuenta de que la red toma 10 iteracciones y tarda un tiempo
de 5 segundos, adem´as se mira claramente la estructura de
la red de 35 entradas y una capa oculta con 20 salidas y 26
3. neuronas de salida, asi como tambi´en 26 salidas.
Fig 7. Resultado del entrenamiento.
Para la verificaci´on de los resultados hacemos uso
de la funci´on sim A=sim (clasificador,alfabeto) La cual
arrojar´a una matriz de 26 por 26 con los resulta-dos
del entrenamiento como se muestra en la figura 8:
Fig 8. Verificaci´on del entrenamiento.
Si se quisiera ver valores enteros sin aproximaciones
decimales se podr´ıa utilizar A=compet(A)
Adem´as el entrenamiento arroja la gr´afica mostrada en la
figura 9 en la cual se puede apreciar como desciende el
error y se ajustan los pesos para obtener un error m´ınimo.
Fig 9. Rendimiento esperado entrenamiento.
Para ver el c´odigo fuente del ejemplo puede ingresar a https:
//github.com/torresyeferson/Reconocimiento Caracteres
IV. CONCLUSIONES
Es importante definir la funci´on de entrenamiento a aplicar
para nuestra red pues de ello depende el n´umero de iteraciones
para encontrar el error m´ınimo.
La funci´on logsig es ideal para trabajar con valores
booleanos puesto que su rango de salida es de 0 y 1.
La redes perceptron multicapa son efectivos para problemas
de clasificaci´on extensos o de gran cantidad de datos, usando
la funci´on de transferencia adecuada.
REFERENCES
[1] Pedro. P. Cruz.(2010), Inteligencia Artificial con Aplicaciones a la
Ingenier´ıa, Mexico: Alfaomega.
[2] Mar´ıa Isabel Acosta B, Camilo A. Zuluaga,Harold Salazar I. ”Tuto-rial
de Redes Neuronales”. Recuperado de: http://proton.ucting.udg.mx/
posgrado/cursos/idc/neuronales2/Transferencia.htm
[3] Andrea Armijos,Vanessa Erraez. ”Ejemplo de Funciones logsig
y tansig”. Recuperado de: http://es.slideshare.net/vaneerraez/
funcin-logsig-y-tansig
[4] Natschl¨ager, T. Optical Character Recognition. Institute of Theoritical
Computer Science. http://zeo.spsc.tugraz.at/system/files/nn-ocr.pdf
[5] Character Recognition, MathWords http://www.mathworks.com/
examples/neural-network/1905-character-recognition
Yeferson Torres professional training for Engineer-ing
degree in Systems Engineering from Universidad
Nacional de Loja, Loja, Ecuador in 2014.
4. Jinsop Campos professional training for Engineer-ing
degree in Systems Engineering from Universidad
Nacional de Loja, Loja, Ecuador in 2014.