Vous êtes sur la page 1sur 5

SOLUCIONAR PROBLEMAS REALES CON

REDES NEURONALES ARTIFICIALES

UTILIZANDO FUNCIONES DE ACTIVACION


LOGSIG Y TANSIG EN MATLAB
SOLVING REAL PROBLEMS WITH
ARTIFICIAL NEURAL NETWORKS USING
ACTIVATION FUNCTIONS TANSIG AND
LOGSIG IN MATLAB.
Juan P. Guaman

Jessica M. Cueva

Tutor: Henry P. Paz

Universidad Nacional de Loja, Ecuador Universidad Nacional de Loja, Ecuador Universidad Nacional de Loja,Ecuador
E-mail: jpguamanr@unl.edu.ec
E-mail: jmcuevar@unl.edu.ec
E-mail: hpaz@unl.edu.ec

Resumen: Las redes neuronales artificiales usando


funciones de activacion son de mucha ayuda en la
resolucion de problemas reales, tomando en cuenta esta
afirmacion en el presente artculo se pretendera solucionar
un problema utilizando las funciones de activacion Logsig
y Tansig que permiten clasificar un conjunto de datos no
lineales.
Palabras Claves: RNA(Redes Neuronales Artificiales),
logsig, tansig, FRNA (Redes neuronales Artificiales
Feedforward)
AbstractArtificial neural networks using activation functions
are helpful in solving real problems, considering this statement
in this article will seek to solve a problem using the activation
functions tansig and logsig for classifying a dataset nonlinear.
Index TermsANN (Artificial Neural Networks), logsig,
tansig, FANN (Feedforward Artificial Neural Networks).

I. I NTRODUCCI ON
En el presente artculo se pretende poner en practica los
conocimientos adquiridos en la materia Sistemas Inteligentes
para dar solucion a problemas reales, para ello se necesita
entender el funcionamiento de una neurona artificial, su
estuctura, entre otras cosas, ademas hay que tener en cuenta
el tipo de problema que se va a solucionar con la finalidad
de delimitar la funcion de activacion que puede dar solucion

al problema.
El artculo esta compuesto por tres secciones: Introduccion,
Desarrollo y Caso de estudio, estas secciones estan desccritas
a continuacion
Las redes neuronales artificiales son una aproximacion a
la inteligencia artificial debido a que estan fundamentadas
en el cerebro humano, es decir en neuronas biologicas.
Actualmente son utilizadas en diferentes campos: analisis
de datos, predicciones, entre otros. Las RNA simulan
aproximadamente el comportamiento del cerebro humano,
son elementos de procesamiento simple conjuntamente
conectados formando modelos neuronales interconectados a
traves de pesos con el fin de generar alguna salida como
respuesta.
Para entender un poco mas el como solucionar problemas
reales usando redes neuronales, en la seccion de desarrollo se
detallan algunas observaciones que se deben tener en cuenta
al momento de dar solucion a un problema, ademas se detalla
la red Feedforward, as mismo se detallan las funciones de
activacion logsig y tansig que utilizaremos en la solucion de
nuestro caso de estudio.
En la seccion del caso de estudio se detalla un problema
real, que es solucionado utilizando FANN, funciones de
activacion logsig y tansig en codigo matlab.

II. DESARROLLO

Existen un gran numero de arquitecturas, entre ellas


detallaremos una que nos sirvio para solucionar nuestro caso
de estudio.

A. REDES NEURONALES ARTIFICIALES


Al hablar de una definicion general de redes neuronales
artificiales, no podriamos determinar debido a que existe un
signumero de definiciones que detallan algunas partes que
engloban lo que son las redes neuronales artificiales, entre
ellas tenemos:

Las redes neuronales, tambien conocidas como redes


de neuronas artificiales son modelos bastante simplificados de las redes de neuronas que forman el cerebro.
Y, al igual que e ste, intentan aprender a partir de los
datos que se les suministran.[5]
Desde la perspectiva del reconocimiento de patrones las
redes neuronales son una extension de metodos clasicos
estadsticos.[5]

B. RED NEURONAL FEEDFORWARD


La red neuronal feedforward (FANN)es la mas utilizada en
los diferentes campos y es la que mas se estudia en el ambito
cientifico.[2]
1) Arquitectura de una FANN:
Las FANN consisten en un conjunto de neuronas organizadas en capas como se muestra en la siguiente figura:

La redes neuronales artificiales son usadas como


herramientas ya que permiten clasificar un conjunto de
datos, se denominan Neuronales porque estan basadas en el
funcionamiento de una de neurona biologica al momento de
procesar la informacion.
El modelo de una neurona artificial consta de los siguientes
elementos:
Entradas: x,y,...,n
Pesos sin
apticos W1, W2,....,Wn(corresponde a cada entrada).
Umbral b
Salida z

Fig. 2. Modelo de una Neurona Artificial2

Las capas de la FANN se componen en:

Capa de entrada.
Capa oculta.
Capa de salida.

Dado un conjunto de observaciones, la tarea del aprendizaje


neuronal es construir un estimador g(w,x) de la funcion
desconocida h(x) del cual se conoce solo un conjunto de datos:
Fig. 1. Modelo de una Neurona Artificial

g (x, w) = 2

X
j=1

Existen diferentes clases de redes neuronales artificiales, a


estas RNA se las diferencia por los siguientes elementos:

Las neuronas o nodos que constituyen el elemento basico


del conocimiento.[2]
La arquitectura de la red descrita por las conexiones
ponderadas entre los nodos.[2]
El algoritmo de entrenamiento, usado para encontrar los
parametros de la red.[2]

[2]
wj 1

m
X

!
[1]
wij xi

[1]
wm+1,j

[2]
w+1

i=1

(1)
donde W=(W1,...,Wd)T es el vector parametrico a ser
estimado y equivale a las ponderaciones de las conexiones
entre las neuronas de la red,1 es una funcion no-lineal
acotada y diferenciable con forma de funcion sigmoide o de
radio basal, 2 es una funcion que puede ser lineal o no
lineal y es el parametro de control que indica el numero de
neuronas escondidas.[2]


C. FUNCIONES DE ACTIVACION

III. CASO DE ESTUDIO

Las funciones de activacion permiten relacionar la


informacion de entrada con el siguiente estado de activacion
de la neurona.
Existen varias funciones de activacion, las que utilizamos
para solucionar nuestro caso de estudio son:
1) Funcion de activacion Logsig:
Esta funcion toma los valores de entrada, los cuales pueden
oscilar entre mas y menos infinito, y restringe la salida entre
cero y uno, de acuerdo a la siguiente expresion:[3]
a=

1
1 + en

Determinar si el tumor de mama que poseen un grupo


de mujeres es maligno o benigno.
Para llevar a la practica lo aprendido vamos a resolver
un ejemplo real, lo primero es descargar el archivo que se
ha subido a https://github.com/desert-barret/logsig tansig
senalamos que este archivo no es nuestro lo encontramos en
la web y su contenido es el resultado de un examen a 569
mujeres con cancer de mama, en las que el primer atributo
representado por un 1 nos refiere a que el cancer es maligno,
y el representado por 0, el cancer es benigno. En cuanto
al resto de atributos son analisis clnicos como numero de
globulos rojos entre otros.

(2)

Esta funcion es usada en redes multicapa, porque la funcion


logsig es diferenciable.[3]

Bueno lo primero es dividir el archivo en dos grupos esto


para usar una porcion de la informacion como entrenamiento
para nuestra red, y la otra porcion para poder testear la red y
saber si lo aprendido corrobora con la informacion restante.
Nosotros hemos decidido tomar 50 resultados para testear
y la diferencia para el entrenamiento, los archivos tienen el
nombre de testing.txt y entrenamiento.txt respectivamente.
Una vez hecho esto lo primero es proceder a la lectura del
archivo de entrenamiento con el siguiente codigo:

Fig. 3. Funcion de activacion logsig

Como la red necesita que se le suministre cada ejemplo en


una columna, necesitamos trasponer la matriz de datos, se lo
realiza de la siguiente manera:

2) Funcion de activacion Tansig:


Es una de las principales funciones en la construccion de
las RNA, es una version suave de la funcion umbral (0, 1)
tanto que la tangente hiperbolica es una version suave de una
funcion umbral (-1, 1).[4]

Ahora debemos definir cuales son nuestras salidas y cuales


las entradas, esto as:

La funcion tansig se define de la siguiente manera:


OU T =

1 eN ET
1 + eN ET

(3)

Esta funcion como es una version bipolar de la logsig


tambien es usada en redes multicapa.

Algo interesante es que como necesitamos los maximos


y mnimos de nuestras entradas, lo que podemos hacer es
usar una funcion de matlab para facilitarnos el trabajo esto as:

Ahora resta crear la red, y como antes de realizar el artculo


lo hemos corrido sabemos que con 2 neuronas de entrada y
una de salida el script ira a la perfeccion, pero esto de hacer
pruebas, porque algo debamos colocar:

Fig. 4. Funcion de activacion tansig

Recordamos que los pesos y el umbral fueron de un


monton de iteraciones hasta que matlab nos dio un resultado
grato, fue ah cuando se usaron los pesos y el umbral que se
aprecian, esto es para que con cada corrida ahora la red entrene
mas rapido. Ya echo esto estaramos listos para entrenar la red:

Por u ltimo deberamos testear nuestra red, si recordamos


nuestro archivo testing.txt en donde dejamos unos cuantos
datos 50 para ser especficos, para comprobar la red ahora
lo usaremos. De igual forma lo leemos como hicimos con
entremnamiento.txt:

Fig. 5. Grafica Resultante

proyecto y todo lo que se necesita para ejecutarlo


https://github.com/desert-barret/logsig tansig

IV. CONCLUSIONES
Con esto deberamos estar listos para simular la red y
verificar que sus salidas concuerdan con las que tenemos.
Para realizar esto hemos creado un pequeno script en el cual
comparamos, as evitarnos ir uno a uno manualmente. El
codigo ademas se explica por si solo:

Las funciones de activacion o transferenciia logsig y


tansig en RNA ayudan a solucionar problemas reales no
lineales.

Los resultados obtenidos por las RNA son similares con


respecto a los obtenidos por los metodos clasicos.

Las RNA pueden admitir como variables de entrada:


conjuntos mixtos de variables cuantitativas y cualitativas.

V. BIBLIOGRAF IA
REFERENCIAS
[1] CARACTERISTICAS DE UNA RED NEURONAL ARTIFICIAL. Funciones de Transferencia. [Online]. Available: http://proton.ucting.udg.

mx/posgrado/cursos/idc/neuronales2/Transferencia.htm. [Ultimo
acceso:
1 noviembre 2014].
[2] R. Salas. Redes Neuronales Artificiales. Red Neuronal Feedforward.
Departamento de Computacion. Universidad de Valparaso.[Online].
Available:
http://www.inf.utfsm.cl/rsalas/Pagina Investigacion/docs/

Apuntes/Redes%20Neuronales%20Artificiales.pdf. [Ultimo
acceso: 1
noviembre 2014].

Y terminamos con una salida por consola:

Para poner esto en una grafica solo deberamos anadir las


siguientes lneas:

Aqu

dejamos

el

link

[4] J. Aguilar. Apuntes de Inteligencia Artificial.


Redes con

Conexiones hacia adelante.PONTIFICIA UNIVERSIDAD CATOLICA


DEL ECUADOR, FACULTAD DE INGENIERIA. [Online].
Available:
http://www.flacsoandes.edu.ec/comunicacion/aaa/imagenes/

publicaciones/pub 30.pdf. [Ultimo


acceso: 1 noviembre 2014].

[5] M. A. PEREZ.
DESARROLLO DE SOFTWARE PARA EL
RECONOCIMIENTO DE TEXTO MANUSCRITO APLICANDO
REDES NEURONALES.
CAPITULO II: Redes Neuronales:

Definicion.ESCUELA POLITECNICA
DEL EJERCITO
SEDE
LATACUNGA , CARRERA DE INGENIERIA DE SISTEMAS E

INFORMATICA
. [Online]. Available: http://repositorio.espe.edu.

ec/bitstream/21000/3299/1/T-ESPEL-0550.pdf. [Ultimo
acceso: 1
noviembre 2014].

Lo que nos arrojara algo como esto:

NOTA:

[3] Introduccion a las redes neuronales artificiales. Funcion sigmoidal o


logstica.[Online]. Available: http://magomar.webs.upv.es/rna/tutorial/

acceso: 1 noviembre 2014].


RNA marcos.html. [Ultimo

del

codigo

del

Jessica Cueva

Estudiante de la Carrera de Ingeniera en Sistemas.


Universidad Nacional de Loja.
Analista junior
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Juan Pablo Guaman

Estudiante de la Carrera de Ingeniera en Sistemas.


Universidad Nacional de Loja.
Desarrollador Semi Senior.
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Ing. Henry Paz


Docente de la Carrera de Ingeniera en Sistemas.
Universidad Nacional de Loja.
Provincia de Loja, Ciudad Loja, Ecuador, 2014.

Vous aimerez peut-être aussi