Vous êtes sur la page 1sur 6

Recepcion de llamadas del ECU911 para dar un

Servicio a la Ciudadana, A traves de Redes


Neuronales Artificiales Aplicando Funciones de
Activacion Tansig y Logsig.
Receiving Calls ECU911 to provide a service to the
public,with Neural Network using Activation
Functions and Logsig Tansig
Raul Gomez,A. Jonathan. Arrobo,A.
Tutor: Ing. Henry Paz

ResumenEl presente artculo muestra las funciones de activacion tansig y logsig, las cuales permiten mayor flexibilidad
en el sistema y mejor forma de entrenar neuronas. Para lo
que se utilizara dos funciones de activacion que son logartmica
sigmoidea (Logsig) y tangente sigmoidal (Tansig) ademas cuentan
con capas ocultas que funcionan con tansig y capas de salida que
funcionan con logsig.
Los valores de entradas de estas dos funciones estan dentro
de el y pueden ser de menos infinito y mas infinito, las salidas
de la funcion Logsig se encuentra en el rango de 0 a 1 y las
funciones tansig de -1 a 1.
Palabras Clave- Tansig, Logsig, Red Neuronal Artificial,
Incendio, Accidente Transito, Inundaciones, Deslaves, Atentado,
Polica Nacional, Fuerzas Armadas, Cuerpo de Bomberos, Cruz
Roja.
Abstract. This article will be based on the activation
functions, which allow more flexibility in the system. For what
two activation functions are logarithmic sigmoid (logsig) and
sigmoidal tangent (tansig) was used. Be used for the neurons of
the hidden layer activation function tansig and neurons of the
output layer logsig the activation function. Input values these
two functions are provided and can be of the negative infinity
and positive infinity, the function exits logsig is in the range 0
to 1 and the functions tansig from -1 to 1.
Index TermsTansig, logsig, Artificial Neural Network, Fire,
Traffic Accidents, Flooding, Mudslides, bombings, Police, Military, Fire Department, Red Cross

que el comportamiento global de esa red .emule, de la forma


mas fiel posible, los sistemas neuronales de los animales. Por
lo que nuestro grupo construira una simulacion de diferentes
llamadas de un ciudadano pidiendo cierto servicio de ayuda
al ECU911 donde la red se encargara de recibir la llamada
del ciudadano los mismos que se convertiran en sus datos de
entrada de tal manera que haciendo su respectivo proceso la
red neuronal se encargara de enviar el servicio de ayuda a
la ciudadana siendo estos sus datos de salida. El proceso de
la red lo realiza traves de las funciones de activacion mas
conocidas como son la logsig y tansig. Logsig fue utilizado
para la capas ocultas debido a su estructura que nos ofrece y
su rango de salida solo es entre 0 y 1 para poderse comunicar
con las neuronas de salida, y la funcion de activacion tansig
se utilizo para las capas de salida debido a que esta nos
ofrece mayor cantidad de valores porque su rango es de -1
a 1, permitiendo activar as a la red construida y brindando la
solucion del problema planteado.
A continuacion describimos los puntos que se van a tratar en este artculo. Estado del Arte
contiene las definiciones de Red neuronal artificial que nos sera de mucha utilidad al momento de
entender el problema que nos hemos planteado, las caractersticas para determinar si se necesita
una red neuronal para dar solucion a este problema, funciones de activacion logsig y tansig las
mismas que las utilizamos en la creacion de la red, una para las neuronas de la capa oculta y la
otra para las neuronas de la capa de salida, Aprendizaje tenemos las definiciones de aprendizaje
supervisado, aprendizaje no supervisado y aprendizaje por refuerzo los cuales nos sirvio para
determinar que tipo de aprendizaje iva a tener nuestra red que fue el aprendizaje supervisado.
Caso de estudio esta descrito el problema que vamos a resolver con una red neuronal para
el ECU 911 que recibe las llamadas y en base a esta ban a ofrecer un servicio. Resultados
contiene la resolucion del problema con el numero de neuronas que va a utilizar la red neuronal,
el codigo fuente, una breve descripcion de los las entradas y salidas como interactuara la red
neuronal en base a sus entradas, descripcion de los botones que tiene la interfaz. En la seccion
de las conclusiones es importante utilizar las funciones tansig y logsig para resolver problemas

I. INTRODUCCI ON
N la actualidad las aplicaciones informaticas con redes
neuronales artificiales han tomado mayor interes en nuestra sociedad, el objetivo de este es llegar a disenar maquinas
con elementos neuronales de procesamiento paralelo, de modo

complejos de redes neuronales y conocer cuales son los valores de entrada y si son o no aplicadas

Raul Gomez,A. Universidad Nacional de Loja, Loja, Ecuador, ragomeza@unl.edu.ec


Jonathan. Arrobo,A. Universidad Nacional de Loja, Loja, Ecuador, jbarroboa@unl.edu.ec

II. ESTADO DEL ARTE


En el presente proyecto se definira los conceptos basicos
de redes neuronales artificiales, estos nos ayudaran a entender

a las funciones antes nombradas. Finalmente en la seccion de recomendaciones damos a conocer


cual es el intervalo de entrada y salida de cada funcion de activacion y si es o ptima para poder
resolver problema planteados, ademas saber el numero de capas ocultas suficiente para que
resuelva el problema y de esta manera no se exceda demasiado o pocas neuronas, reduciendo
as el tiempo empleado en el desarrollo de estos ejercicios.

mejor el funcionamiento como tambien sus funciones


de activacion, el mismo que nos servira para resolver el
problema planteado. Tambien su utilizacion en Matlab que
es una herramienta muy u til al momento de programar redes
neuronales.

II-A. Red Neuronal Artificial


Las RNA se definen como sistemas de mapeos no lineales
cuya estructura se basa en principios observados en los sistemas nerviosos de humanos y animales. Constan de un numero
grande de procesadores simples ligados por conexiones con
pesos. Las unidades de procesamiento se denominan neuronas.
Cada unidad recibe entradas de otros nodos y genera una
salida simple escalar que depende de la informacion local
disponible, guardada internamente o que llega a traves de
las conexiones con pesos. Pueden realizarse muchas funciones
complejas dependiendo de las conexiones. En la figura 1. Se
muestra la estructura basica de una red neuronal.

II-A2.

Funciones de Activacion:

Funcion Tangente hiperbolica


La funcion de activacion tangente hiperbolica se emplea en
los casos que presentan variaciones suaves de valores positivos
y negativos de la senal a clasificar. Como se puede ver en
su descripcion en la figura 2 ,es una de las funciones mas
empleadas en entrenamientos supervisados, como en el caso
del entrenamiento de retropropagacion del error.
Debe tenerse cuidado de emplear esta figura entre los
umbrales positivos y negativos antes de la saturacion, de otra
forma la salida siempre genera valores saturados iguales a 1
y 21.

Figura 2. Funcion tangente hiperbolica

Funcion Sigmoidal

Figura 1. Redes de Neuronas Artificiales-ISASI

II-A1. Caractersticas:
Un conjunto de unidades de procesamiento o neuronas.
Un estado de activacion para cada unidad, equivalente a
la salida de la unidad.
Conexiones entre las unidades, generalmente definidas
por un peso que determina el efecto de una senal de
entrada en la unidad
Una regla de propagacion, que determina la entrada
efectiva de una unidad a partir de las entradas externas.
Una funcion de activacion que actualiza el nuevo nivel de
activacion basandose en la entrada efectiva y la activacion
anterior.
Una entrada externa que corresponde a un termino determinado como bias para cada unidad.
Un metodo para reunir la informacion, correspondiente
a la regla del aprendizaje
Un ambiente en el que el sistema va a operar, con senales
de entrada e incluso senales de error.
La funcion f puede ser sigmoidal, tangente hiperbolica,
escalon, entre otras. En MATLAB se tiene diferentes funciones
de activacion como tansig, hardlim y purelin, entre otras,
lo cual facilita las aproximaciones que se requieran hacer,
empleando RNA.

Con la funcion sigmoidal el valor dado por la funcion es


cercano a uno de los valores asintoticos. Esto hace que en
la mayora de los casos, el valor de salida este comprendido
en la zona alta o baja del sigmoide. De hecho, cuando la
pendiente es elevada, esta funcion tiende a la funcion escalon.
Sin embargo, la importancia de la funcion sigmoidal es
que su derivada siempre es positiva y cercana a cero para
los valores grandes positivos o negativos; ademas, toma su
valor maximo cuando x=0. Esto hace que se puedan utilizar
reglas de aprendizaje definidas para las funciones escalon,
con la ventaja, respecto a esta funcion, de que la derivada
esta definida en todo el intervalo (vease la figura 3). (Cruz,
2010)

Figura 3. Inteligencia Artificial con Aplicaciones a la Ingeniera - Ponce

II-B. Aprendizaje
El esquema de aprendizaje de una red es lo que determina
el tipo de problemas que sera capaz de resolver. La capacidad
de una red para resolver un problema estara ligada de forma
fundamental al tipo de ejemplos de que dispone en el proceso
de aprendizaje. El aprendizaje consiste en la determinacion de
los valores precisos de los pesos para todas sus conexiones,
que la capacite para la resolucion eficiente de un problema.
El criterio de convergencia depende del tipo de red utilizada
o del tipo de problema a resolver. Dependiendo del esquema
de aprendizaje y del problema a resolver, se pueden distinguir
tres tipos de esquemas de aprendizaje:
Aprendizaje Supervisado:
En este tipo de esquema, los datos del conjunto de aprendizaje tienen dos tipos de atributos: Los datos propiamente
dichos y cierta informacion relativa a la solucion del problema.
En la Figura 4. Se representa la estructura de este tipo de
aprendizaje.

que ofrece el ECU911 y los datos de salida son los servicios


que brinda a la ciudadana.
II-B2. Resultados:
Entradas
Incendio =I
Accidente Transito =AT
Inundaciones =INN
Deslaves =D
Atentado=A
Salidas
Polica Nacional = P
Fuerzas Armadas = FA
Cuerpo de Bomberos = CB
Cruz Roja = CR
La red Neuronal se entrena en base a las llamadas que recibe
y enviara a uno o varios servicios de los que ellos ofrecen, A
continuacion en la Figura 6. se describe las combinaciones de
las entradas y salidas.

Figura 4. Aprendizaje supervisado

Aprendizaje no Supervisado(Autoorganizado):
En este aprendizaje los datos del conjunto de aprendizaje
solo tienen informacion de los ejemplos, y no hay nada que
permita guiar en el proceso de aprendizaje.La red trata de
determinar caractersticas de los datos del conjunto de entrenamiento: rajos significativos, regularidades o redundancias. La
red se ajusta dependiendo u nicamente de los valores recibidos
como entrada, como se representa en la Figura 5.

Figura 5. Aprendizaje No Supervisado

Aprendizaje por Refuerzo:


Es una variable del aprendizaje supervisado en el que no
se dispone de informacion concreta del error cometido por la
red para cada ejemplo de aprendizaje. Si no que simplemente
se determina si la salida producida para dicho patron es o no
adecuada.(Vinuela. Leon, 2004)
II-B1. Caso de estudio: Se realizo un ejemplo en matlab
simulando al ECU911 de la ciudad de loja, para este ejemplo
hemos tomado como datos de entrada a las llamadas que
realiza la ciudadana cuando necesitan algunos de los servicios

Figura 6. Entradas y salidas del ECU911

Esta es una neurona supervisada por lo que vamos a


ingresar los valores de entrada como de salida, de la Tabla
1 separamos los valores de entrada y salida en matrices para
el entrenamiento de la neurona.
Entrada

P= [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
11111;0000000011111111000000001
1111111;00001111000011110000111
100001111;001100110011001100110
01100110011;0101010101010101010
1 0 1 0 1 0 1 0 1 0 1 0 1 ];
Salida
T=[0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1; 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1; 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1; 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1];
Para solucionar este problema vamos a utilizar un perceptron multicapas de 3 niveles con 5 capas de entrada 3 capas
ocultas y 4 capas de salida como se describe en la Figura 7.

net.trainParam.min-grad: Mnimo rendimiento del gradiente


net.trainParam.show: Intervalo de visualizacion de los
resultados
net.trainParam.time: Maximo tiempo de entrenamiento
en segundo
net.trainParam.show=5;
net.trainParam.epochs=1000;
net= train(net , P , T);
Obtener los valores de pesos y el bias
pesos = net.iw1,1;
bias=net.b1;

II-C. Interfaz Grafica


En la Figura 8 . se presenta la interfaz general de la Neurona
donde se simula el comportamiento de la neurona y grafica sus
valores de entrada como de salida.

Figura 7. Perceptron Multicapas

Las funciones de activacion que utilizamos son logsig y


tansig para que nos permitan dar mayor flexibilidad al sistema,
y por tanto mayor capacidad.
Luego de tener claro las funciones que vamos a utilizar
llamamos al metodo newff de matlab para Crear una red
tipo Backpropagation, requiere que le sean especificados los
siguientes parametros.

Figura 8. Interfaz General

II-C1. Boton Entrenar Red: Este boton me permite entrenar la red y en la Figura 9. me muestra la estructura en la
que se encuentra la red creada, mientras que en la figura 10.
presenta las interacciones que realizo para que la red este bien
entrenada, se vayan modificando los pesos y cumpla con todas
las salidas deseadas.

newff: (PR,[S1 S2...SNl],TF1 TF2...TFNl,BTF)


PR : Matriz de valores maximos y mnimos de cada uno
de las R neuronas de entrada.
Si: Numero de neuronas para cada una de las capas.
TFi : Funcion de transferencia a utilizar en cada una de
las capas
BTF : Algoritmo de entrenamiento a utilizar, por defecto
Figura 9. Red Neuronal

Traingd Algoritmo de pasos descendientes, que actualiza


pesos y ganancias variandolos en la direccion negativa del
gradiente de la funcion del error. Es un algoritmo de aprendizaje muy lento Para actualizar los pesos llamamos al metodo
train, que requiere de la siguiente parametros:
net.trainParam.epochs: Maximo numero de iteraciones
para obtener convergencia
net.trainParam.goal: Error maximo permitido
net.trainParam.lr: Rata de aprendizaje
net.trainParam.max-fail: Maximo numero de fallas

Figura 10. Numero Iteraciones

II-C2. Lista de Eventos: Aqu se encuentran todos los


tipos de llamadas que puede hacer la ciudadana al ECU911,
pueden seleccionar varios tipos de llamadas y as mismo dependiendo de la llamada que sea se le enviara varios servicio.

III.

IV.

Figura 11. Eventos Disponibles

II-C3. Boton Enviar: Este boton es para simular la red, le


envio a la red los valores que se selecciono en el checkbox de
eventos para ver si mi red esta bien entrenada vease la figura
12.

Figura 12. Boton Enviar

II-C4. Acciones: En la Figura 13. se visualiza el tipo de


servicio que se va a prestar a la ciudadana, este seria el
resultado de la red.

Figura 13. Acciones Disponibles

El codigo fuente se encuentra disponible en el siguiente


enlace para su mejor comprension(codigo fuente).

CONCLUSIONES

Aplicar la funcion tansig ha sido de mucha importancia


para el entrenamiento de las redes neuronales, sobre todo
porque ayuda a resolver variaciones suaves de los valores
positivos y negativos.
Mientras que aplicar la funcion logsig me ayuda a entrenar la red, estos valores de salida estan comprendidos en
los valores alto y bajo de sigmoide
RECOMENDACIONES

Es importante recomendar que para resolver problemas


complejos se utilice redes neuronales con funciones de
activacion logsig y tansig.
Es recomendable identificar el ejemplo y definir si es
una simple o complejo en ejemplo de acuerdo a ello, se
puede resolver los mismos utilizando logsig y tansig.

R EFERENCIAS

BIOGRAFIA

[1] Cruz, P. P. (2010). INTELIGENCIA ARTIFICIAL CON APLICACIONES A LA INGENIERIA. Mexico: Alfaomega Grupo Editor, S.A. de
C.V.
[2] Vinuela, P. I., y Leon, I. M. (2004). Redes Neuronales Artificiales Un
S.A.
Enfoque Practico. Madrid: PEARSON EDUCACION
[3] Mexico, U. d. (Mayo de 1995). Server Proton. Obtenido de
http://proton.ucting.udg.mx/
Codigo fuente de ECU911 con redes neuronales en :
https://ralexs04@bitbucket.org/ralexs04/ecu911.git

Alexander Gomez Armijos ,estudiante de la


Raul
Carrera de Ingeniera en Sistemas de la Universidad
Nacional de Loja, Desarrollo WEB , Conocedor de
Software Libre , Bases de Datos .
Provincia de Loja, Ciudad Loja - Ecuador, 2014.

Jhonatan Arrobo ,estudiante de la Carrera de Ingeniera en Sistemas de la Universidad Nacional


de Loja, Desarrollo WEB , Conocedor de Software
Libre , Bases de Datos .
Provincia de Loja, Ciudad Loja - Ecuador, 2014.

Vous aimerez peut-être aussi